如何进行LVS-DR Keepalived网站服务器双机热备配置及服务器双机热备配置实例
在构建高可用性的网站服务器架构中,使用LVS-DR(Linux Virtual Server Direct Routing)和Keepalived可以实现服务器的双机热备。本文将详细介绍如何进行LVS-DR Keepalived网站服务器双机热备配置,并提供一个实例来帮助理解。

LVS-DR简介
LVS-DR是一种基于Linux内核的负载均衡技术,通过将负载均衡器与后端服务器分离,实现对服务器集群的流量分发。LVS-DR采用直接路由模式,将客户端请求直接发送到后端服务器,减少了负载均衡器上的处理开销,提高了系统的吞吐能力。
Keepalived简介
Keepalived是一个开源软件,用于实现高可用性的服务。它可以监控服务器的状态,并根据配置的规则进行故障转移。在LVS-DR架构中,Keepalived通常与LVS-DR配合使用,用于监控后端服务器的状态,并在主服务器故障时切换流量到备份服务器。

LVS-DR Keepalived网站服务器双机热备配置步骤
1. 安装LVS-DR和Keepalived软件包:
- 使用适合的包管理工具(如yum或apt)安装LVS-DR和Keepalived软件包。
2. 配置虚拟IP(VIP):
- 在主服务器上,编辑网络配置文件,将VIP绑定到网卡上。
- 在备份服务器上,禁用VIP,以防止冲突。
3. 配置LVS-DR:
- 在主服务器上,编辑LVS配置文件(如/etc/keepalived/keepalived.conf),指定后端服务器的IP地址和端口号。
- 在备份服务器上,配置相同的LVS配置文件,但将主服务器的IP地址替换为备份服务器的IP地址。
4. 配置Keepalived:
- 在主服务器上,编辑Keepalived配置文件(如/etc/keepalived/keepalived.conf),指定虚拟IP(VIP)和监控脚本。
- 在备份服务器上,配置相同的Keepalived配置文件,但将角色设置为BACKUP。
5. 启动和测试配置:
- 在两台服务器上启动Keepalived服务。
- 使用curl等工具测试VIP是否正常工作,以及在主服务器故障时是否能够自动切换到备份服务器。
服务器双机热备配置实例
假设我们有两台服务器:主服务器的IP地址为192.168.1.100,备份服务器的IP地址为192.168.1.101。我们将配置一个网站服务器,使用LVS-DR和Keepalived实现双机热备。
- 在两台服务器上执行以下命令安装软件包:
```
sudo apt-get install ipvsadm keepalived
- 在主服务器上,编辑网络配置文件(如/etc/network/interfaces),添加以下行:
auto eth0:0
iface eth0:0 inet static
address 192.168.1.200
netmask 255.255.255.0
- 在备份服务器上,禁用VIP,编辑网络配置文件(如/etc/network/interfaces),注释掉以下行:
# auto eth0:0
# iface eth0:0 inet static
# address 192.168.1.200
# netmask 255.255.255.0
- 在主服务器上,创建LVS配置文件(如/etc/keepalived/lvs.conf),添加以下内容:
virtual_server 192.168.1.200 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.1.100 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.101 80 {
}
- 在备份服务器上,创建相同的LVS配置文件(如/etc/keepalived/lvs.conf),但将主服务器的IP地址替换为备份服务器的IP地址。
- 在主服务器上,创建Keepalived配置文件(如/etc/keepalived/keepalived.conf),添加以下内容:
vrrp_script chk_http {
script "/etc/keepalived/check_http.sh"
interval 2
weight -20
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
authentication {
auth_type PASS
auth_pass password
virtual_ipaddress {
192.168.1.200
track_script {
chk_http
- 在备份服务器上,创建相同的Keepalived配置文件(如/etc/keepalived/keepalived.conf),将state设置为BACKUP。
- 在两台服务器上启动Keepalived服务:
sudo service keepalived start