实操keepalived+LVS,实现高可用、负载均衡群集

目录

前言

一、完成两台节点服务器的配置

步骤一:完成lo:0网卡的设置

步骤二:完成静态路由的设置

步骤三:完成内核参数的修改

步骤四:检查一下之前的共享存储是否还在

步骤五:测试一下(证明节点服务器都运行正常)

二、完成一台四层代理的master配置,然后做四层代理的backup配置

步骤一:完成内核参数的修改

步骤二:安装keepalived的安装和ipvsadm的工具安装,然后设置keepalived的设置

完成vip的设置,两个rip的设置,并选择DR模式

步骤三:完成master的配置后,测试一下,然后scp远程复制到另一台backup主机上

步骤四:启动服务,测试一下

三、测试

步骤一:查看静态,动态,php服务是否访问正常

步骤二:断开主服务器的keepalived服务,再次查看访问状态,同时查看backup的状态

四、调整keepalived配置文件,设置为【非抢占模式】,再次进行测试

步骤一:非抢占模式修改

步骤二:测试


前言

架构图,最终的目的是通过keepalived实现两台四层代理服务器热备,然后通过ipvsadm设置LVS的四层代理DR模式,两个nginx做七层的反向代理,tomcat和php做中间件,最后实现通过访问VIP可以访问静态资源、以及以jsp和php结尾的动态资源请求。

一、完成两台节点服务器的配置

步骤一:完成lo:0网卡的设置

步骤二:完成静态路由的设置

步骤三:完成内核参数的修改

步骤四:检查一下之前的共享存储是否还在

步骤五:测试一下(证明节点服务器都运行正常)

二、完成一台四层代理的master配置,然后做四层代理的backup配置

MASTER配置

步骤一:完成内核参数的修改

步骤二:安装keepalived的安装和ipvsadm的工具安装,然后设置keepalived的设置

先启动ipvsadm服务

修改keepalived的配置文件

完成vip的设置,两个rip的设置,并选择DR模式

复制代码
vim keepalived.conf
......
global_defs {						#定义全局参数
--10行--修改,邮件服务指向本地
	smtp_server 127.0.0.1
--12行--修改,指定服务器(路由器)的名称,主备服务器名称须不同,主为LVS_01,备为LVS_02
	router_id LVS_01
--14行--注释掉,取消严格遵守VRRP协议功能,否则VIP无法被连接
	#vrrp_strict
}

vrrp_instance VI_1 {				#定义VRRP热备实例参数
--20行--修改,指定热备状态,主为MASTER,备为BACKUP
    state MASTER
--21行--修改,指定承载vip地址的物理接口
    interface ens33
--22行--修改,指定虚拟路由器的ID号,每个热备组保持一致	
    virtual_router_id 10
	#nopreempt		#如果设置非抢占模式,两个节点state必须为BACKUP,并加上配置 nopreempt
--23行--修改,指定优先级,数值越大优先级越高,这里设置主为100,备为90
    priority 100
    advert_int 1					#通告间隔秒数(心跳频率)
    authentication {				#定义认证信息,每个热备组保持一致
		auth_type PASS				#认证类型
--27行--修改,指定验证密码,主备服务器保持一致
        auth_pass abc123
    }
    virtual_ipaddress {				#指定群集vip地址
        192.168.80.188
    }
}
--36行--修改,指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数
virtual_server 192.168.80.188 80 {
    delay_loop 6					#健康检查的间隔时间(秒)
    lb_algo rr						#指定调度算法,轮询(rr)
--39行--修改,指定群集工作模式,直接路由(DR)
    lb_kind DR
    persistence_timeout 0			#连接保持时间(秒)
    protocol TCP					#应用服务采用的是 TCP协议
--43行--修改,指定第一个Web节点的地址、端口
    real_server 192.168.80.12 80 {
        weight 1					#节点的权重
--45行--删除,添加以下健康检查方式		
        TCP_CHECK {
			connect_port 80			#添加检查的目标端口
			connect_timeout 3		#添加连接超时(秒)
			nb_get_retry 3			#添加重试次数
			delay_before_retry 3	#添加重试间隔
		}
	}

	real_server 192.168.80.13 80 {		#添加第二个 Web节点的地址、端口
        weight 1
        TCP_CHECK {
			connect_port 80
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
		}
	}
##删除后面多余的配置##
}

步骤三:完成master的配置后,测试一下,然后scp远程复制到另一台backup主机上

步骤四:启动服务,测试一下

master的vip验证

三、测试

步骤一:查看静态,动态,php服务是否访问正常

步骤二:断开主服务器的keepalived服务,再次查看访问状态,同时查看backup的状态

关闭master服务器

重启master服务器 ,会自动抢占master

四、调整keepalived配置文件,设置为【非抢占模式】,再次进行测试

步骤一:非抢占模式修改

两台热备机都改为BACKUP状态,而且改为nopreempt 非抢占模式

步骤二:测试

当主服务器关掉重新启动后,即使备服务器的优先级更低,也不会被抢占

相关推荐
IT成长日记2 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
小马爱打代码3 小时前
微服务外联Feign调用:第三方API调用的负载均衡与容灾实战
微服务·架构·负载均衡
物联网老王4 小时前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
艾伦_耶格宇5 小时前
【ACP】阿里云云计算高级运维工程师--ACP
运维·阿里云·云计算
一位摩羯座DBA6 小时前
Redhat&Centos挂载镜像
linux·运维·centos
cui_win7 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
风清再凯7 小时前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
深圳安锐科技有限公司7 小时前
深圳安锐科技发布国内首款4G 索力仪!让斜拉桥索力自动化监测更精准高效
运维·安全·自动化·自动化监测·人工监测·桥梁监测·索力监测
猫头虎7 小时前
猫头虎 AI工具分享:一个网页抓取、结构化数据提取、网页爬取、浏览器自动化操作工具:Hyperbrowser MCP
运维·人工智能·gpt·开源·自动化·文心一言·ai编程
cocologin9 小时前
RIP 技术深度解析
运维·网络·网络协议