:Keepalived高可用
部署两台代理服务器,实现如下效果:
利用keepalived实现两台代理服务器的高可用
配置VIP为192.168.4.80
修改对应的域名解析记录
1.2 方案
实验拓扑如图-1所示,做具体实验前请先配置好环境。
图-1
备注:实际操作中DNS服务代理服务器部署在同一台主机上(节约虚拟机资源)。
主机配置如表-1所示。
表-1
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:配置第二台代理服务器
1)部署HAProxy
安装软件,手动修改配置文件,添加如下内容。
[root@proxy2 ~]# yum -y install haproxy
[root@proxy2 ~]# vim /etc/haproxy/haproxy.cfg
listen wordpress *:80
balance roundrobin
server web1 192.168.2.11:80 check inter 2000 rise 2 fall 3
server web2 192.168.2.12:80 check inter 2000 rise 2 fall 3
server web3 192.168.2.13:80 check inter 2000 rise 2 fall 3
[root@proxy2 ~]# systemctl start haproxy
[root@proxy2 ~]# systemctl enable haproxy
步骤二:为两台代理服务器配置keepalived
1)配置第一台代理服务器proxy(192.168.4.5)。
[root@proxy ~]# yum install -y keepalived
[root@proxy ~]# vim /etc/keepalived/keepalived.conf
global_defs {
router_id proxy1 //设置路由ID号
vrrp_iptables //不添加任何防火墙规则
}
vrrp_instance VI_1 {
state MASTER //主服务器为MASTER(备服务器需要修改为BACKUP)
interface eth0 //定义网络接口
virtual_router_id 51
priority 100 //服务器优先级,优先级高优先获取VIP(实验需要修改)
advert_int 1
authentication {
auth_type pass
auth_pass 1111 //主备服务器密码必须一致
}
virtual_ipaddress { //谁是主服务器谁获得该VIP(实验需要修改)
192.168.4.80
}
}
[root@proxy ~]# systemctl start keepalived
!!!重要!!!
在全局配置global_defs{}中手动添加vrrp_iptables,即可解决防火墙的问题。
2)配置第二台代理服务器proxy(192.168.4.6)。
[root@proxy2 ~]# yum install -y keepalived
[root@proxy2 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
router_id proxy2 //设置路由ID号
vrrp_iptables //不添加任何防火墙规则
}
vrrp_instance VI_1 {
state BACKUP //主服务器为MASTER(备服务器需要修改为BACKUP)
interface eth0 //定义网络接口
virtual_router_id 51
priority 50 //服务器优先级,优先级高优先获取VIP
advert_int 1
authentication {
auth_type pass
auth_pass 1111 //主备服务器密码必须一致
}
virtual_ipaddress { //谁是主服务器谁获得该VIP
192.168.4.80
}
}
[root@proxy2 ~]# systemctl start keepalived
!!!重要!!!
在全局配置global_defs{}中手动添加vrrp_iptables,即可解决防火墙的问题。
步骤三:修改DNS服务器
1)修改网站域名对应的解析记录,解析到新的VIP地址。
192.168.4.5为DNS服务器。
[root@proxy ~]# vim /var/named/lab.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns.lab.com.
dns A 192.168.4.5
www A 192.168.4.80
2)重启DNS服务
[root@proxy ~]# systemctl restart named