一、准备内容
在本实例中,主要实现的是两台主机,各跑两个服务,其中服务A在lb01上为主模式,提供主要服务,在lb02上为从模式,当lb01出现故障时,自动由lb02接管;服务B在lb01服务器上为从模式,当lb02出现故障时,自动由lb01接管,服务B在lb02上为为主模式,提供主要服务。
需要为两台电脑各自分配相应的IP地址,由于IP地址在实验环境中存在差异,所以在以下的操作中,使用机器名称来确定操作的机器。
lb01:主服务器,IP地址为192.168.56.11
lb02:从服务器,IP地址为192.168.56.12
VIP1(非机器):用于在两台主机上实现浮动的IP,地址为192.168.56.10
VIP2(非机器):用于在两台主机上实现浮动的IP,地址为192.168.56.13
1)安装Keepalived
# yum install keepalived –y
2)启动Keepalived
# service keepalived start
1)lb01为主服务器,当前设置固定IP地址为192.168.56.11,IP设置方法请参考其他文档,在此不作说明,对其Keepalived的配置文件修改如下:
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 {
interface eth0 virtual_router_id 51
advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.56.10/24 dev eth0 label eth0:1 } } vrrp_instance VI_2 {
interface eth0 virtual_router_id 52
advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.56.13/24 dev eth0 label eth0:1 } } |
需要重新启动keepalived服务。
# service keepalived restart
2)lb02为从服务器,当前设置固定IP地址为192.168.56.12,IP设置方法请参考其他文档,在此不作说明,对其Keepalived的配置文件修改如下:
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 {
interface eth0 virtual_router_id 51
advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.56.10/24 dev eth0 label eth0:1 } } vrrp_instance VI_2 {
interface eth0 virtual_router_id 52
advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.56.13/24 dev eth0 label eth0:1 } } |
需要重新启动keepalived服务。
# service keepalived restart
3)lb01及lb02服及务器Keepalived配置文件说明。
第1行:注释部分;
第3至13行:为报警邮件设置,如果需要此项功能进行设置;
第15行:实例1的名称;
第16行:实例1,主、从服务器状态设置,主为MASTER,从为BACKUP;
第17行:网卡接口名称,这个地方要根据实现的情况填写,本例为eth0;
第18行:实例1虚拟路由ID,配置文件中要唯一,主、从此ID要相同;
第19行:实例1优先级,数字越大优先级越高,主优先级要高于从优先级;
第20行:实例1同步时间间隔,以秒为单位;
第21至24行:实例1权限认证配置;
第25至28行:实例1设置虚拟IP,也就是我们所说的VIP,本例将192.168.56.10这个IP挂接到网卡eth0上,并设置标签名称为eth0:1。
第30行:实例2的名称;
第31行:实例2,主、从服务器状态设置,主为MASTER,从为BACKUP;
第32行:网卡接口名称,这个地方要根据实现的情况填写,本例为eth0;
第33行:实例2虚拟路由ID,配置文件中要唯一,主、从此ID要相同;
第34行:实例2优先级,数字越大优先级越高,主优先级要高于从优先级;
第35行:实例2同步时间间隔,以秒为单位;
第36至39行:实例2权限认证配置;
第40至42行:实例2设置虚拟IP,也就是我们所说的VIP,本例将192.168.56.13这个IP挂接到网卡eth0上,并设置标签名称为eth0:2。
# ip addr
# 在lb02服务器上查看当前的IP地址。
# ip addr
我们可以看到,在lb01服务器上存在着两个IP,其中包括192.168.56.10及192.168.56.11。而在lb02服务器上同样也存在着两个IP,其中包括192.168.56.12及192.168.56.13。
192.168.56.10及192.168.56.13同样为VIP,各自浮动在自己的主服务器上。
接下来,我们将lb01的keepalived服务停止,看看他会不会自动将IP飘移到lb02上。
# 在lb01服务器上停止Keepalived服务,并查看当前的IP地址。
# service keepalived stop
# ip addr
# 在lb02服务器上查看当前的IP地址。
# ip addr
接下来,我们将lb02的keepalived服务启动,停止lb01的keepalived服务,看看他会不会自动将各自的IP飘移对应服务器上。
# 在lb01服务器上的操作。
# service keepalived start
# 在lb02服务器上的操作。
# service keepalived stop
接下来分别在各自的服务器上查看IP地址
# 在lb01服务器上的操作。
# ip addr
# 在lb02服务器上的操作。
# ip addr
通过这次测试,我们可以看到,两台主机,相互作为主、从,为对方提供备用服务。到此我们的双主机双实例主、从互备模型搭建就结束了。