LVS+keepalived双主
在 LVS高可用(六)LVS+keepalived主从 篇中提到了LVS的高可用及后端的LB,不过一台LVS提供服务,另一台只做为backup,显然是种浪费,实际现网应用中比较多的用法是,两台LVS都作为MASTER节点,互相做为另一台的backup 。具体架构如下:
注:与master-backup 架构相比, master-master架构需要多加一个VIP地址。
一、IP及规划
realserver | 192.168.122.10 |
192.168.122.20 | |
director | 192.168.122.30 |
192.168.122.40 | |
VIP | 192.168.122.100 |
192.168.122.110 |
同上一篇,两台realserver还是安装httpd ,两台director安装ipvsadm、keepalived 。realserver的回环地址上会配置两个VIP的地址。
另外操作前,需要先将几台主机的时间同步掉。
二、director主机配置
MASTER HostA主机的配置如下:
- [root@lvs-dr ~]# cat /etc/keepalived/keepalived.conf
- vrrp_instance bl_one {
- state MASTER #指定Keepalived的角色,MASTER为主服务器,BACKUP为备用服务器
- interface eth0 #指定HA监测的接口
- lvs_sync_daemon_interface eth0
- virtual_router_id 38 #虚拟路由标识(1-255),在一个VRRP实例中主备服务器ID必须一样
- priority 150 #优先级,数字越大越优先,主服务器优先级必须高于备服务器
- advert_int 3 #设置主备之间同步检查时间间隔,单位秒
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- virtual_ipaddress { #定义虚拟IP地址
- 192.168.122.100
- }
- }
- vrrp_instance bl_two {
- state BACKUP
- interface eth0
- lvs_sync_daemon_interface eth0
- virtual_router_id 48
- priority 120
- advert_int 3
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- virtual_ipaddress {
- 192.168.122.110
- }
- }
- virtual_server 192.168.122.100 80 {
- delay_loop 3 #设置健康状态检查时间
- lb_algo rr #设置负载调度算法
- lb_kind DR #设置LVS实现负载均衡的机制
- persistence_timeout 50 #会话保持时间
- protocol TCP
- real_server 192.168.122.10 80 {
- weight 1
- TCP_CHECK {
- connect_timeout 10 #设置响应超时时间
- nb_get_retry 3 #设置超时重试次数
- delay_before_retry 3 #设置超时重试间隔
- connect_port 80
- }
- }
- real_server 192.168.122.20 80 {
- weight 1
- TCP_CHECK {
- connect_timeout 10
- nb_get_retry 3
- delay_before_retry 3
- connect_port 80
- }
- }
- }
- virtual_server 192.168.122.110 80 {
- delay_loop 3
- lb_algo rr
- lb_kind DR
- persistence_timeout 50
- protocol TCP
- real_server 192.168.122.10 80 {