统信uos高可用热备通过keepalived实现自动vip接管:需安装启用keepalived、同步时间、放行vrrp协议;主节点配置state master/priority 100,从节点设为backup/priority 90;验证时主停机后vip应在3秒内漂移到从节点。

您需要在统信UOS系统中实现高可用服务连续运行,当主服务器宕机或网络中断时,备用服务器能自动接管VIP地址与业务流量,避免人工干预导致的服务中断。
确认基础环境与服务状态
先检查两台UOS主机是否已安装并启用keepalived:执行systemctl is-active keepalived,若返回inactive则需先安装;未安装请运行sudo apt install keepalived -y。
确保两台主机时间同步:执行timedatectl status | grep "System clock",若显示“no”或偏差超5秒,需运行sudo timedatectl set-ntp true启用NTP。
【必须关闭防火墙或放行VRRP协议】Keepalived依赖组播地址224.0.0.18通信,若ufw status显示active,需执行sudo ufw allow proto vrrp,否则心跳检测会失败,热备无法触发。
配置主节点(MASTER)
第一步:备份原始配置:sudo cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak。
第二步:编辑配置文件:sudo nano /etc/keepalived/keepalived.conf,清空内容后写入以下配置(注意替换ens33为本机实际网卡名,用ip a确认):
global_defs {
router_id uos-master
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.1.100/24
}
}
第三步:重启服务并设为开机自启:sudo systemctl restart keepalived && sudo systemctl enable keepalived。
配置从节点(BACKUP)
方法一:直接复用主节点配置并修改三处关键参数——将router_id改为uos-slave,state改为BACKUP,priority设为低于100的值(如90),其余保持完全一致。
方法二:用sed一键替换(推荐):sudo sed -i 's/uos-master/uos-slave/g; s/MASTER/BACKUP/g; s/priority 100/priority 90/g' /etc/keepalived/keepalived.conf,执行后无需手动编辑。
配置完成后立即重启服务:sudo systemctl restart keepalived。这一步操作起来很简单,直接把命令复制粘贴回车就行。
验证热备是否生效
在主节点执行ip addr show dev ens33 | grep 192.168.1.100,应看到VIP已绑定;在从节点执行相同命令,不应出现该IP。
手动停止主节点keepalived:sudo systemctl stop keepalived,等待约3秒后,立刻在从节点执行ip addr show dev ens33 | grep 192.168.1.100,若输出显示VIP已存在,说明热备切换成功。
重新启动主节点服务:sudo systemctl start keepalived,默认不抢占VIP(因未配置nopreempt),此时VIP仍保留在从节点;如需主节点恢复后自动夺回,须在主节点配置中vrrp_instance块内添加nopreempt并重启服务。











