Center os keepalived安装和配置

 

前期准备工作,主IP:172.28.244.151、备ip:172.28.244.144,虚拟IP(VIP):172.28.244.154

 

1、部署

通过 yum install keepalived安装即可,主/备机器均需要安装

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_自定义

 

2、keepalived配置

修改/etc/keepalived/keepalived.conf文件,主和备机配置基本相同:(可以清空安装完之后的keepalived.conf文件,按照如下格式自定义写入)

事先查看本机IP的网卡信息:

指令 ip a,这里是ens160

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_配置文件_02

 

 

在主服务器修改配置文件:

 

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_centos_03

 

 

参数说明,标红部分为需要修改的内容

 

global_defs {
router_id lb01     //自定义节点名
}
 
vrrp_instance osc {
state MASTER      //自定义状态
interface ens160     //需改为本机的网卡名称
virtual_router_id 51     //自定义router id ,可以任意修改,但主机和备机要保持一致
priority 150         //权重,VIP根据这个权重进行切换,数值范围是0~255,保持主大于备;
advert_int 1     //VIP相互检测时间,这里是1s
authentication {
auth_type PASS     //通信的密码类型
auth_pass 1111     //通信密码,保持主备一致
}
virtual_ipaddress {
172.28.244.154/24      //自定义虚拟IP
}
}

备机配置文件修改:

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_自定义_04

 

 

global_defs {
router_id lb02
}
 
vrrp_instance osc {
state BACKUP
interface ens160
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.28.244.154/24
}
}

3、启动

直接通过 service  keepalived start/stop 启动和停止

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_自定义_05

 

通过查看ps -ef|grep keepalived状态,判断服务

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_自定义_06

 

如果启动失败,可以通过查看tail -f /var/log/messages 查看启动日志。 

4、VIP验证和测试:

 ip a 查看一下,发现已经成功了,你可以关掉其中一台的keepalived服务(systemctl stop keepalived.service),这个虚拟ip立马跳到另外一台上面。

配置、启动完成后,可以在权重比较大的主机上,查看当前网卡的信息,(当前备机网卡信息保持原样)如下:

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_IP_07

 

发现虚拟ip,已经绑定到ens160网卡上了,原本的服务页面https://172.28.244.151 现在也可以通过https://172.28.244.154 来访问了。

切换测试:

如果停用掉,主机的keepalived服务,虚拟网卡信息,就会自动切换到备用机器上。通过message 的log信息,也能查看到当前vip的跳动状态。

停止主机keepalived服务

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_IP_08

 

查看log,vip跑到备机上

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_IP_09

 

4、常见问题处理:

a、遇到keepalived无法启动的情况,查看messages日志,

 

keepalived虚拟ip如何绑定网卡 keepalive虚拟ip如何申请_配置文件_10

 

 

该问题,是权限问题,需要修改 /etc/keepalived/keepalived.conf文件的权限为644

Chmod 644 /etc/keepalived/keepalived.conf

再通过service  keepalived start 指令启动即可。

b、遇到虚拟IP未生成的情况,

配置好后启动keepalived,ip addr 发现没有vip增加。

经过检查发现、usr/local/keepalived/etc/sysconfig/keepalived文档没有配置

 

vim /usr/local/keepalived/etc/sysconfig/keepalived

改KEEPALIVED_OPTIONS="-D"

KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalived.conf"

#修改制定keepalived要加载的配置文件,设置正确的服务启动参数

重启后,vip出现了。

 c、定义的 vrrp_script 脚本未执行(如果有定义脚本,比如检查VIP健康的脚本)

原因及解决方法:

采用 service 或 systemctl 命令启动任务时,会出现这个问题。只要改为 keepalived -f keepalived.conf 启动服务即可。