Keepalived的热备方式
基于VRRP热备份协议,以软件的方式实现Linux服务器的多机热备份功能。是通过共有的虚拟IP地址(VIP)对外提供服务;每个热备组内只能有一个服务器提供服务,其他服务器处于冗余状态,若当前服务器失效后,则其他处于冗余状态的服务器将接替他的工作(优先级高的),以继续提供服务。
## 漂移地址 ##
虚拟IP地址可以在热备组内的服务器间进行转移,所以也称为漂移IP地址;使用Keepalived时,漂移地址的实现不需要手动建立虚拟接口配置文件,而是由Keepalived根据配置文件自动管理。

Keepalived的故障转移

Keepalived可作为服务器的故障切换,故障切换主要针对虚拟IP地址的漂移来实现,因此能够适用于各种应用服务器(不管是web、FTP、Mail、还是SSH、DNS)。

下面介绍Keepalived的配置:

实验环境:

两台centos7服务器(一主一备)

keepalived双机互备 keepalived双机热备原理解析_热备份


1.首先需要安装软件包(软件包需从网上下载)

yum -y install keepalived

为了方便使用,可将Keepalived服务设置为开机启动

systemctl enable keepalived

2.配置主服务器

安装Keepalived服务后,编辑Keepalived主配置文件:/etc/keepalived/keepalived.conf

在配置文件中,修改”global_defs{….}”区域可设置全局参数;修改“vrrp_instance 实例名称 {….}”区域可指定VRRP热备参数;

注释文字以”!”符号开头

修改配置文件:

vim /etc/keepalived/keepalived.conf

修改内容如下:

glabal_defs {

route_id R1 //服务器名称

}

vrrp-instance VI_1 {

state MASTER //确定热备类型(MASTER为主,BUCKUP为备)

interface ens33 //热备份接口

virtal_router_id 1 //热备份组号

priority 100 //优先级(高的为主)

advert_int 1 //Hello time

}

authentication {

auth_type PASS

auth_pass 12345 //密码认证(主备相同)

}

virtual_ipaddress {

192.168.18.254 //(VIP地址)

}

keepalived双机互备 keepalived双机热备原理解析_配置文件_02


3. 修改后启动服务

systemctl start keepalived

实际状态为MASTER的主服务器将为ens33接口自动添加VIP地址,通过:

ip add show dev ens33 可查看。

keepalived双机互备 keepalived双机热备原理解析_配置文件_03


4.配置备份服务器

在同一个Keepalived热备组内,所有服务器的Keepalived配置文件基本相同,所以在配置备份服务器时,可以参考主服务器的配置文件,只修改服务器名称、热备状态、优先级就可以了。

配置步骤与主基本相同:

安装软件包

yum -y install keepalived

编辑主配置文件

vim /etc/keepalived/keepalived.conf

glabal_defs {

route_id R2 //服务器名称

}

vrrp-instance VI_1 {

state BACKUP //确定热备类型(MASTER为主,BUCKUP为备)

interface ens33 //热备份接口

virtal_router_id 1 //热备份组号

priority 30 //优先级(高的为主)

advert_int 1 //Hello time

}

authentication {

auth_type PASS

auth_pass 12345 //密码认证(主备相同)

}

virtual_ipaddress {

192.168.18.254 //(VIP地址)

}

keepalived双机互备 keepalived双机热备原理解析_配置文件_04

5.编辑后启动服务:

systemctl start keepalived

启动后主服务器仍然在线,VIP地址实际上仍然由主服务器控制,其他服务器处于备份状态,因此在备份服务器中将不会为ens33接口添加VIP地址

ip address show dev ens33

keepalived双机互备 keepalived双机热备原理解析_热备份_05


这样双机热备就实现了,

6.测试

可以通过一个简单的方法验证:使用客户机长pingVIP地址,然后将主服务器关闭,查看是否能通;

通过测试发现:当主服务器关闭后ping测试在中断一次后即恢复正常,说明备份服务器夺回了VIP地址的控制权,服务恢复正常运行。

keepalived双机互备 keepalived双机热备原理解析_配置文件_06


通过查看R2(之前的备份服务器),发现它以成为主服务器

keepalived双机互备 keepalived双机热备原理解析_配置文件_07


这样Keepalived就算成功实现了。