Keppalived应用
使用目的
主备模式下,通信程序分别部署在两台服务器,对外只提供一个ip供用户发送数据包。
功能点
- 浮动ip(虚拟ip)配置
- 主备服务器状态变化通过信号通知进程
keepalived安装配置
可以按照以下步骤在CentOS系统上安装和配置keepalived:
- 安装epel-release源
sudo yum install epel-release
- 安装keepalived软件包
sudo yum install keepalived
- 启动keepalived服务
sudo systemctl start keepalived
- 设置开机启动
sudo systemctl enable keepalived
- 配置keepalived
keepalived的配置文件位于/etc/keepalived/keepalived.conf
中,请根据需要进行配置。以下是一个简单的示例配置文件:
!Configuretion File for keepalived
global_defs {
router_id NodeA
script_user root
enable_script_security
}
vrrp_script chk_xwudp {
script "/etc/keepalived/check_xw.sh"
interval 5
weight -2
timeout 2
fall 2
rise 2
decrease 2
}
vrrp_instance VI_1 {
state MASTER
interface ens3
virtual_router_id 55
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.160.50/24 brd 192.168.160.50 dev ens3 label ens3:0
}
track_script {
chk_xwudp
}
notify_master "/etc/keepalived/notify_master.sh"
notify_backup "/etc/keepalived/notify_backup.sh"
}
这个配置文件定义了一个主备服务器,使用ens3
上的虚拟IP地址192.168.160.50
,并绑定到网卡ens3:0
上。当主服务器失效时,备服务器将会自动接管虚拟IP地址并成为新的主服务器,确保服务的连续性和可用性。
更详细的配置说明如下:
vrrp_script用于定义一个脚本,该脚本将会在主备服务器之间定期执行,以检查服务的运行状态。在这个配置中,脚本检查xwudp进程的健康状况,如果进程已终止,则认为服务不可用,脚本返回1。
state用于指定当前服务器的状态,可以是MASTER或BACKUP,其中MASTER表示主服务器,而BACKUP表示备服务器。
interface用于指定虚拟IP地址要绑定的物理网卡,这里使用ens3。
virtual_router_id用于指定一个虚拟路由ID,必须在主备服务器中保持一致。
priority用于定义主备服务器的优先级,值越大表示优先级越高,主服务器必须优于备份服务器,默认值为101,范围0-255。
advert_int用于指定心跳消息的发送间隔,单位是秒,默认值为1秒。
virtual_ipaddress用于定义一个或多个虚拟IP地址。
track_script用于指定脚本,如果脚本返回值非0,则主服务器的优先级会降低,备份服务器则可以自动接管虚拟IP。
以下是一个健康检查脚本,检测xwudp进程是否存活:
/etc/keepalived/check_xw.sh