以下是一个使用keepalived和HAProxy为两台服务器设置容灾故障转移的配置文档示例。
HAProxy是一个开源免费的负载均衡软件,可以免费下载和使用
keepalived是一款开源免费软件,遵循GPL(GNU通用公共许可证)开源协议。这意味着您可以自由地使用、修改和分发keepalived,甚至可以将其用于商业用途,而无需支付任何费用。
假设我们有两台服务器,其IP地址分别为192.168.1.10和192.168.1.11,我们希望使用虚拟IP地址192.168.1.100来代表这两台服务器,并通过HAProxy将客户端的请求转发到这两台服务器之一。如果其中一台服务器宕机,keepalived将自动将虚拟IP地址切换到另一台服务器上。
1、在两台服务器上安装HAProxy
sudo apt-get update
sudo apt-get install haproxy
2、在两台服务器上安装keepalived
sudo apt-get update
sudo apt-get install keepalived
3、在主服务器上创建keepalived配置文件/etc/keepalived/keepalived.conf,内容如下:
global_defs {
notification_email {
# 发送通知邮件的地址,可选
admin@example.com
}
notification_email_from keepalived@example.com # 发送通知邮件的发件人地址,可选
smtp_server 127.0.0.1 # 发送邮件所使用的SMTP服务器,可选
smtp_connect_timeout 30 # 发送邮件的连接超时时间,可选
}
vrrp_script haproxy {
script "/usr/bin/killall -0 haproxy"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0 # 网卡名称,根据实际情况修改
state MASTER # 主服务器上修改为MASTER,备份服务器上修改为BACKUP
virtual_router_id 51 # 虚拟路由ID,保持唯一
priority 101 # 主服务器上修改为101,备份服务器上修改为100
advert_int 1 # 广告间隔时间,单位为秒
authentication {
auth_type PASS
auth_pass password # 认证密码
}
virtual_ipaddress {
192.168.1.100 # 虚拟IP地址
}
track_script {
haproxy # 跟踪haproxy脚本
}
}
4、在主服务器上启动keepalived服务
sudo service keepalived start
5、在备份服务器上创建keepalived配置文件/etc/keepalived/keepalived.conf,内容如下:
global_defs {
notification_email {
# 发送通知邮件的地址,可选
admin@example.com
}
notification_email_from keepalived@example.com # 发送通知邮件的发件人地址,可选
smtp_server 127.0.0.1 # 发送邮件所使用的SMTP服务器,可选
smtp_connect_timeout 30 # 发送邮件的连接超时时间,可选
}
vrrp_script haproxy {
script "/usr/bin/killall -0 haproxy"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0 # 网卡名称,根据实际情况修改
state BACK