keepalived基础配置
keepalive是一个基于VRRP(虚拟路由冗余协议)来实现高可用,利用避免单点故障,从而实现高可用,现在先不扯那个lvs,lvs和keepalived是两个东西,先说说它的工作原理。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip,master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。下面是安装及基础配置。需要两台服务器。
安装阶段
1.两台服务器上同时安装软件
[root@master ~]# yum -y install keepalived
[root@master ~]# rpm -qa | grep keep
keepalived-1.2.13-5.el6_6.x86_64
2. 启动 keepalived
[root@master ~]# /etc/init.d/keepalived start #开启keepalive
Starting keepalived: [ OK ]
[root@master ~]# ip addr | grep 192.168.
inet 192.168.200.16/32 scope global eth0
inet 192.168.200.17/32 scope global eth0
inet 192.168.200.18/32 scope global eth0 #默认启动三个VIP
[root@master ~]# /etc/init.d/keepalived stop #停止keepalved
Stopping keepalived: [ OK ]
\配置文件详解
[root@master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
rj-bai@qq.com ###邮箱地址
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 1b01 ####id为1b01 不同的keepalived 次id要唯一
}
vrrp_instance VI_1 { ###实例名字为VI_1 相同的实例的备用节点要和这个相同
state MASTER ###主节点为MASTER,备节点需要为BACKUP
interface eth0 ###通信接口为eth0,此参数主备需要一致
virtual_router_id 55 ###实例ID为55,keepalived.conf里唯一
priority 150 ####优先级150 备节点优先级必须别他低
advert_int 1 ####通信检查为1秒
authentication {
auth_type PASS ###pass为认证类型 此参数主备节点设置相同
auth_pass 1111 ####密码是1111 主备节点设置相同
}
virtual_ipaddress {
192.168.0.154/24 dev eth0 label eth0:1 ####虚拟IP既VIP,主节点和备节点相同
}
}
master节点配置
! Configuration File for keepalived
global_defs {
notification_email {
rj-bai@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 1b01
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 55
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.10.79.213 dev eth0 label eth0:1
}
}
backup节点配置
! Configuration File for keepalived
global_defs {
notification_email {
rj-bai@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 1b01
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 55
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.10.79.213 dev eth0 label eth0:1
}
}
测试阶段
测试,结果就是启动keepalived以后,主节点会看见VIP,而备节点则没有,关闭主节点VIP会漂移到备节点,重启开始主节点后VIP会再次飘回主节点,嗯,就这样,试试吧。
1.两台服务器同时开启keepalived,查看结果。
再试试能不能访问到,如果访问不到则毫无疑义。
2.关闭主节点,看一下VIP会不会飘到备节点
3.再次开启主节点,VIP会再次飘回去。
经过测试,想要的结果达到了,这样就实现了高可用,如果两个都宕了,那我也没办法,用三台服务器做我没试过,不知道行不行,你有兴趣可以试一下,结束。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。