环境需求:
主机:四台,
两台LVS+Keepalived的主备服务器
lvs1:192.168.6.129
lvs2:192.168.6.133
两台RS服务器
RS1:192.168.6.131
RS2:192.168.6.132
客户端:192.168.6.130
软件包:keepalived,ipvsadm,httpd(光盘yum源)
1.
在lvs 1 192.168.6.129 上
[root@lvs1 /]# yum install -y keepalived
在lvs 2 192.168.6.133 上
[root@lvs2 ~]# yum install -y keepalived
2.配置keepalived 主备与lvs
[root@lvs1 keepalived]# cp /etc/keepalived/keepalived.conf{,.bak}
[root@lvs1 keepalived]# vim keepalived.conf
3.配置主节点 192.168.6.129 上的keepalived
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
vrrp_mcast_group4 224.100.100.100
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 66
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.6.100/32
}
}
virtual_server 192.168.6.100 80 {
delay_loop 6
lb_algo wrr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 0
protocol TCP
sorry_server 127.0.0.1 80
real_server 192.168.6.131 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.6.132 80 {
weigth 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
4.配置192.168.6.133 从节点上的keepalived 配置文件
[root@lvs2 keepalived]# vim keepalived.conf
复制主节点上的配置文件
只需修改三个地方,其他一致
router_id node1 --------> router_id node2
state MASTER ---------> state BACKUP
priority 100 ---------> priority 80
5.配置rs1 192.168.6.131 与 rs2 192.168.6.132
RS1 192.168.6.131
[root@rs1 init.d]# yum install -y httpd
[root@rs1 init.d]# echo 192.168.6.131 RS1 > /var/www/html/index.html
[root@rs1 init.d]echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs1 init.d]echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs1 init.d]echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@rs1 init.d]echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@rs1 ~]# ifconfig lo:1 192.168.6.100/32
RS2 192.168.6.132
[root@rs2 init.d]# yum install -y httpd
[root@rs2 init.d]# echo 192.168.6.132 RS2 > /var/www/html/index.html
[root@rs2 init.d]echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs2 init.d]echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs2 init.d]echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@rs2 init.d]echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@rs2 ~]# ifconfig lo:1 192.168.6.100/32
6.查看ipvsadm -Ln 是否已经写入需要的IP 地址
[root@lvs1 keepalived]# ipvsadm -Ln
[root@lvs2 keepalived]# ipvsadm -Ln
7.查看lvs1 192.168.6.129上是否已经绑定了VIP 192.168.6.100/32
注: 目前是lvs1 绑定了192.168.6.100 作为虚拟调度IP, lvs2 目前是没有的,只有到lvs1 宕机了, lvs2 才会接过192.168.6.100 过来,保证后端服务器的正常访问
[root@lvs1 keepalived]# ip addr show
Lvs2 上目前是没有绑定的
8.启动lvs1 和 lvs2 的keepalived 服务
Lvs1:
[root@lvs1 keepalived]#systemctl start keepalived.service
Lvs2:
[root@lvs2 keepalived]#systemctl start keepalived.service
9.测试 (192.168.6.130 客户机)
1.在lvs1 和 lvs2 都正常启动的情况下
访问一切正常
VIP 正常提供
2.假如lvs1 宕机了
[root@lvs1 keepalived]# systemctl stop keepalived.service
VIP 正确跳转到lvs2中
访问正常进行
3.重新启动lvs1
[root@lvs1 keepalived]# systemctl start keepalived.service
VIP 重新绑定在LVS1上
Lvs2 中的VIP 正确释放
客户端正常访问
日志提示
总结: 如果报什么错误,先去查看日志提示,基本可以确定毛病出在哪里。
日志文件存放位置:
/var/log/message
[root@lvs1 ~]# tail -f /var/log/messages
[root@lvs2 ~]# tail -f /var/log/messages
参考网址:https://blog.csdn.net/qq_39591494/article/details/78376947