Keepalived的作用是检测后端TCP服务的状态,如果有一台提供TCP服务的后端节点死机,或者工作出现故障,keepalived会及时检测到,并将有故障的节点从系统中剔除,当提供TCP服务的节点恢复并且正常提供服务后keepalived会自动将TCP服务的节点加入到集群中。这些工作都是keepalived自动完成,不需要人工干涉,需要人工做的只是修复发生故障的服务器,以下通过示例来演示。
前提:为了测试能顺利进行,需先关闭selinux和firewalld。
测试环境如下:
名称 |
IP |
keepalived主机 |
10.0.0.20 |
keepalived备机 |
10.0.0.21 |
http服务器1 |
10.0.0.22 |
http服务器2 |
10.0.0.23 |
virtual ip |
10.0.0.100 |
一、两台http服务器的安装
1、 两台机均安装httpd
1
| $ sudo yum install -y httpd
|
2、 添加首页
1 2 3 4 5
| # http服务器1设置 echo “10.0.0.22” >/var/www/html/index.html # http服务器2设置 echo “10.0.0.23” >/var/www/html/index.html
|
3、 启动并设置开机启动httpd
1 2
| $ sudo systemctl start httpd $ sudo systemctl enable httpd
|
二、两台keepalived主机的设置
1、 两台机均安装keepalived
1 2
| #安装依赖文件与keepalive $ sudo yum install -y openssl openssl-devel keepalived
|
2、 keepalived主机配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| $ sudo vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 { #指定该节点为主节点,备用节点设置为BACKUP state MASTER #绑定虚拟IP的网络接口 interface eno16777736 #VRRP组名,两个节点设置一样,以指明各个节点同属一VRRP组 virtual_router_id 51 #主节点的优先级,数值在1~254,注意从节点必须比主节点的优先级别低 priority 50 ##组播信息发送间隔,两个节点需一致 advert_int 1 #设置验证信息,两个节点需一致 authentication{ auth_type PASS auth_pass 1111 } #指定虚拟IP,两个节点需设置一样 virtual_ipaddress{ 10.0.0.100 } }
#虚拟IP服务 virtual_server 10.0.0.100 80 { #设定检查间隔 delay_loop 6 #指定LVS算法 lb_algo rr #指定LVS模式 lb_kind NAT nat_mask 255.255.255.0 #持久连接设置,会话保持时间 persistence_timeout 50 #转发协议为TCP protocol TCP #后端实际TCP服务配置 real_server 10.0.0.22 80 { weight 1 } real_server 10.0.0.23 80 { weight 1 } }
|
3、 keepalived备机的keepalived.conf的配置,不同之处如下:
1 2 3
| # 其它配置跟keepalived主机相同 state BACKUP priority 30
|
/etc/keepalived/keepalived.conf为keepalived的主配置文件。
以上配置state表示主节点为10.0.0.20,副节点为10.0.0.21,虚拟IP为 10.0.0.100。
后端的真实服务器为10.0.0.22和10.0.0.23。
当通过10.0.0.100访问web服务器时,自动转到后端真实服务器,后端节点的权重相同,类似轮询的模式。
三、keepalived的启动与测试
1、 启动keepalived
1 2
| $ sudo systemctl start keepalived $ sudo systemctl enable keepalived
|
2、 查看keepalived主机的IP

四、测试结果
1、 测试前查看keepalived主机和备机的IP,结果如图

2、 重启keepalived主机后,查看keepalived备机的IP显示

以上测试结果说明,当keepalived备机在keepalived主机宕机的情况会自动接管了资源。但待keepalived主机恢复正常的时候,主机会重新接管资源。
查看原文