标签:lvs keepalived 双主
二、LVS+Keepalived负载均衡双主互备架构
IP信息清单:
名称 IP
LVS-DR-Master 192.168.2.98
LVS-DR-Backup 192.168.2.99
LVS-DR-VIP1 192.168.2.100
LVS-DR-VIP2 192.168.2.105
Realserver01 192.168.2.101
Realserver02 192.168.2.102
Realserver03 192.168.2.103
Realserver04 192.168.2.104
双主互备方案需要2个VIP,分别绑定到两台LVS主机上,然后修改keepalived.conf让两台LVS互相作为备机,代码稍作修改即可:
Shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | ! Configuration File for keepalived
global_defs { notification_email { //此处填写你的邮件地址 } notification_email_from your email!
smtp_server smtp.**.com smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface eth0 lvs_sync_daemon_inteface eth0 //如是同一个网卡,可省略 virtual_router_id 77 //标识ID,请务必保证内网唯一性,和备机必须一致! priority 100 //权重需比备机高 advert_int 2 //主备检测间隔 authentication { //主备通信密码,必须一致 auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.2.100 VIP,多个请换行填写
} }
virtual_server 192.168.2.100 80 { delay_loop 6 //每隔6秒检测Realserver健康状况 lb_algo wlc //wlc算法,其他算法请参考ipvsadm十大算法 lb_kind DR // 采用DR模式,即直接路由,其他还有TUN和NAT两种模式。 persistence_timeout 1800 //设置超时未半小时 protocol TCP
real_server 192.168.2.101 80 { //第一个realserver,请注意80和后面{之间有个空格! weight 100 //权重 HTTP_GET { //通过检测网页来检查Realserver健康状态 url { path /XX/index.jsp //Realserver上的网页,如/model/index.jsp status_code 200 //正确的返回值,一般是200 } connect_timeout 3 //超时3秒,则失败 nb_get_retry 3 //失败重试次数 delay_before_retry 3 //重试间隔时间 } }
real_server 192.168.2.102 80 { weight 100 TCP_CHECK { //此范例为TCP检查方法,区别于HTTP方法,推荐使用HTTP方法。 connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
real_server 192.168.2.103 80 { weight 100 HTTP_GET { url { path /XX/index.jsp status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }
real_server 192.168.2.104 80 { weight 100 HTTP_GET { url { path /XX/index.jsp status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }
vrrp_instance VI_2 { state BACKUP interface eth0 lvs_sync_daemon_inteface eth0 //如是同一个网卡,可省略 virtual_router_id 78 //标识ID,请务必保证内网唯一性,和备机必须一致! priority 90 //权重需比备机高 advert_int 2 //主备检测间隔 authentication { //主备通信密码,必须一致 auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.2.105 VIP,多个请换行填写
} }
virtual_server 192.168.2.105 80 { delay_loop 6 //每隔6秒检测Realserver健康状况 lb_algo wlc //wlc算法,其他算法请参考ipvsadm十大算法 lb_kind DR // 采用DR模式,即直接路由,其他还有TUN和NAT两种模式。 persistence_timeout 1800 //设置超时未半小时 protocol TCP
real_server 192.168.2.101 80 { //第一个realserver,请注意80和后面{之间有个空格! weight 100 //权重 HTTP_GET { //通过检测网页来检查Realserver健康状态 url { path /XX/index.jsp //Realserver上的网页,如/model/index.jsp status_code 200 //正确的返回值,一般是200 } connect_timeout 3 //超时3秒,则失败 nb_get_retry 3 //失败重试次数 delay_before_retry 3 //重试间隔时间 } }
real_server 192.168.2.102 80 { weight 100 TCP_CHECK { //此范例为TCP检查方法,区别于HTTP方法,推荐使用HTTP方法。 connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } }
real_server 192.168.2.103 80 { weight 100 HTTP_GET { url { path /XX/index.jsp status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }
real_server 192.168.2.104 80 { weight 100 HTTP_GET { url { path /XX/index.jsp status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } |
说明:以上则为一台LVS主机的keepalived配置,由于篇幅过长,就不另提供相应的互备配置了,其实很简单,就是一边为MARSTER时,对应的互备配置就是BACKUP,然后其他对应位置均做修改即可,通过2个VIP让2台LVS主机均处于工作状态,互为主备结构,提高资源利用率!
最佳建议:将域名同时绑定到2个VIP,然后轮询解析,实现均衡流量的目的!
本文出自 “XFICC” 博客,请务必保留此出处http://xficc.blog.51cto.com/1189288/1564400
标签:lvs keepalived 双主
原文地址:http://xficc.blog.51cto.com/1189288/1564400