一、LVS+Keepalived 高可用群集
1、LVS
Linux虚拟服务器(Linux Virtual Server)
LVS 实际上相当于基于IP地址的虚拟化应用, 为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法
2、Keepalived
1、支持故障自动切换(Failover)
2、支持节点健康状态检查(Health Checking)
判断LVS负载调度器、节点服务器的可用性,当master主机出现故障及时切换到backup节点保证业务正常,当 master 故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。
二、LVS+Keepalived 高可用群集部署
环境配置

1、178Director1服务器配置负载调度器
安装keepalived
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar -zxf keepalived-2.2.4.tar.gz
[root@localhost src]# cd keepalived-2.2.4
[root@localhost keepalived-2.2.4] ./configure --prefix=/usr/local/keepalived
[root@localhost keepalived-2.2.4] make && make install
[root@localhost keepalived]# cd /usr/local/keepalived
[root@localhost keepalived]# ln -s /usr/local/src/keepalived-2.2.4/keepalived/etc/init.d/keepalived /etc/init.d/
[root@localhost keepalived]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost keepalived]# ln -s /usr/local/keepalived/sbin/keepalived /usr/local/sbin/
[root@localhost keepalived]# mkdir /etc/keepalived/
[root@localhost keepalived]# ln -s /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@localhost ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS1 # 服务器名称,不能重复
}
vrrp_instance VI_1 { # 定义VRRP热备实例名称
state MASTER # 热备状态MASTER为主服务器
interface ens192 # 承载VIP地址的物理接口网卡 通过这张网卡做心跳检测
virtual_router_id 66 # 虚拟服务器的ID号,每个热备份组保持一致
priority 100 # 权重(优先级)最大不超过150 官网建议主和从之间差距为50
advert_int 1 # 通告间隔秒数 检测间隔1秒
authentication { # 认证信息,每个热备份组保持一致
auth_type PASS # 认证类型
auth_pass 123456 # 密码字串
}
virtual_ipaddress { # 指定漂移地址VIP 可以有多个
10.228.255.174
}
}
virtual_server 10.228.255.174 11000 { # 虚拟服务器地址与端口
delay_loop 6 # 健康检测间隔时间
lb_algo wlc # 指定算法
lb_kind NAT # 指定群集模式
persistence_timeout 50 # 持久化时间
protocol TCP # 采用的协议为TCP
real_server 10.228.204.187 11000 { # 第一个web 节点服务器的地址和端口
weight 1 # 权重
TCP_CHECK { # 健康检查方式
connect_port 11000 # 检查目标端口
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # 重试次数
delay_before_retry 4 # 重试间隔时间
}
}
real_server 10.228.204.188 11000 {
weight 1
TCP_CHECK {
connect_port 11000
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
启动keepalived
systemctl start keepalived
systemctl status keepalived
配置负载调度器,LVS-NAT模式
modprobe ip_vs #加载ip_vs模块
cat /proc/net/ip_vs #查看ip_vs版本信息
开启IPV4路由转发,关闭重定向功能。
net.ipv4.ip_forward = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens192.send_redirects = 0
执行 sysctl -p 生效
#清除LVS-Server调度表中的所有记录
ipvsadm -C
#增加一个带有调度算法的转换表
ipvsadm -A -t 10.228.255.174:11000 -s wlc
ipvsadm -A -t 10.228.255.174:11001 -s wlc
#增加后端的服务器 -m nat模式
ipvsadm -a -t 10.228.255.174:11000 -r 10.228.204.187:11000 -m -w 3
ipvsadm -a -t 10.228.255.174:11001 -r 10.228.204.187:11001 -m -w 3
ipvsadm-save > /etc/sysconfig/ipvsadm
ipvsadm -Ln
由于188服务器nginx未开启,如果后期把188的nginx启用了,需要 执行
ipvsadm -a -t 10.228.255.174:11000 -r 10.228.204.188:11000 -m -w 3
ipvsadm -a -t 10.228.255.174:11001 -r 10.228.204.188:11001 -m -w 3
ipvsadm-save > /etc/sysconfig/ipvsadm
2、179Director2服务器配置负载调度器
除了keepalive的配置文件有一点不同之外,其他的都相同。
[root@localhost ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS2 # 服务器名称,不能重复
}
vrrp_instance VI_1 { # 定义VRRP热备实例名称
state BACKUP # 热备状态MASTER为主服务器
interface ens192 # 承载VIP地址的物理接口网卡 通过这张网卡做心跳检测
virtual_router_id 66 # 虚拟服务器的ID号,每个热备份组保持一致
priority 90 # 权重(优先级)最大不超过150 官网建议主和从之间差距为50
advert_int 1 # 通告间隔秒数 检测间隔1秒
authentication { # 认证信息,每个热备份组保持一致
auth_type PASS # 认证类型
auth_pass 123456 # 密码字串
}
virtual_ipaddress { # 指定漂移地址VIP 可以有多个
10.228.255.174
}
}
virtual_server 10.228.255.174 11000 { # 虚拟服务器地址与端口
delay_loop 6 # 健康检测间隔时间
lb_algo wlc # 指定算法
lb_kind NAT # 指定群集模式
persistence_timeout 50 # 持久化时间
protocol TCP # 采用的协议为TCP
real_server 10.228.204.187 11000 { # 第一个web 节点服务器的地址和端口
weight 1 # 权重
TCP_CHECK { # 健康检查方式
connect_port 11000 # 检查目标端口
connect_timeout 3 # 连接超时时间
nb_get_retry 3 # 重试次数
delay_before_retry 4 # 重试间隔时间
}
}
real_server 10.228.204.188 11000 {
weight 1
TCP_CHECK {
connect_port 11000
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
三、nginx由现场安装配置。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




