最近更新时间:2023-05-09 21:40:37
本文主要介绍使用HaVip和keepalived搭建主备双机的过程,当主机发生故障时,备机仍能支持业务,从而实现业务高可用。
本文以 CentOS为操作系统的服务器为例提供keepalived的安装方法。
yum install keepalived
a. 执行以下命令,编辑keepalived.conf文件。
vim /etc/keepalived/keepalived.conf
b.执行命令“i”,进入输入模式。
c.修改keepalived配置文件如下:
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script checkhaproxy
{
script "/etc/keepalived/do_sth.sh" # 检测业务进程是否运行正常。其中“do_sth.sh”文件为用户自定义的业务进程检测脚本,请根据业务需要来执行,执行时“do_sth.sh”更换为实际的脚本名称。
interval 5
}
vrrp_instance VI_1 {
# 注意主备参数选择
state BACKUP # 设置初始状态均为“备“
interface eth0 # 设置绑定 VIP 的网卡 例如 eth0
virtual_router_id 51 # 配置集群 virtual_router_id 值
nopreempt # 设置非抢占模式,
# preempt_delay 10 # 仅 state MASTER 时生效
priority 100 # 两设备是相同值的等权重节点
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 10.0.54.152 # 设置本机内网IP地址
unicast_peer {
10.0.54.150 # 对端设备的 IP 地址
}
virtual_ipaddress {
10.0.54.55 # 设置高可用虚拟 VIP
}
notify_master "/etc/keepalived/notify_action.sh MASTER"
notify_backup "/etc/keepalived/notify_action.sh BACKUP"
notify_fault "/etc/keepalived/notify_action.sh FAULT"
notify_stop "/etc/keepalived/notify_action.sh STOP"
garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存
garp_master_refresh 5 # 设置主节点发送 ARP 报文的时间间隔
track_interface {
eth0 # 使用绑定 VIP 的网卡 例如 eth0
}
track_script {
checkhaproxy
}
}
主要修改以下内容:
将本机内网IP地址修改为创建好的主用云主机的内网IP;
将对端设备的IP地址修改为备用云主机的内网IP地址;
将高可用虚拟ip设置为需要使用的HaVip。
修改权重值(可选)
按下Esc键,输入:wq并回车以保存并关闭文件。
systemctl start keepalived
yum install keepalived
a.执行以下命令,编辑keepalived.conf文件。
vim /etc/keepalived/keepalived.conf
b.执行命令“i”,进入输入模式。
c.修改keepalived配置文件如下:
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script checkhaproxy
{
script "/etc/keepalived/do_sth.sh"
interval 5
}
vrrp_instance VI_1 {
# 注意主备参数选择
state BACKUP # 设置初始状态均为“备“
interface eth0 # 设置绑定 VIP 的网卡 例如 eth0
virtual_router_id 51 # 配置集群 virtual_router_id 值
nopreempt # 设置非抢占模式
# preempt_delay 10 # 仅 state MASTER 时生效
priority 100 # 两设备是相同值的等权重节点
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 10.0.54.150 # 设置本机内网 IP 地址
unicast_peer {
10.0.54.152 # 对端设备的 IP 地址
}
virtual_ipaddress {
10.0.54.55 # 设置高可用虚拟 VIP
}
notify_master "/etc/keepalived/notify_action.sh MASTER"
notify_backup "/etc/keepalived/notify_action.sh BACKUP"
notify_fault "/etc/keepalived/notify_action.sh FAULT"
notify_stop "/etc/keepalived/notify_action.sh STOP"
garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存
garp_master_refresh 5 # 设置主节点发送ARP报文的时间间隔
track_interface {
eth0 # 使用绑定 VIP 的网卡 例如 eth0
}
track_script {
checkhaproxy
}
}
主要修改以下内容:
按下Esc键,输入:wq并回车以保存并关闭文件。
systemctl start keepalived
将HaVip与EIP绑定,绑定后该HaVip可以通过EIP提供公网服务。
纯净模式