天天看點

LVS DR + Keepalived 負載均衡配置詳解(測試篇)

 一、啟動服務

1、在每台RS(真實伺服器)上綁定LVS的虛拟IP及抑制ERP

[root@LVS_RS_104 ~]# /etc/rc.d/init.d/lvs_dr.sh start 

RealServer Start OK 

[root@LVS_DR_103 ~]# /etc/rc.d/init.d/lvs_dr.sh start 

2、啟動LVS主的Keepalived服務 并檢視日志 /var/log/messages

[root@LVS_Master_101 ~]# /etc/rc.d/init.d/keepalived start 

正在啟動 keepalived:                                      [确定] 

[root@LVS_Master_101 ~]# tail -f  /var/log/messages 

Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Using MII-BMSR NIC polling thread... 

Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.101 added 

Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Registering Kernel netlink reflector 

Jan 22 04:06:28 centos1 Keepalived_healthcheckers: Registering Kernel netlink command channel 

Jan 22 04:06:29 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE 

Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE 

Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs. 

Jan 22 04:06:30 centos1 Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.1.181 

Jan 22 04:06:30 centos1 Keepalived_vrrp: Netlink: skipping nl_cmd msg... 

Jan 22 04:06:30 centos1 avahi-daemon[1261]: Registering new address record for 192.168.1.181 on eth0.IPv4. 

3、啟動備的Keeplived服務,并檢視日志

[root@LVS_Backup_114 ~]# /etc/rc.d/init.d/keepalived start 

[root@LVS_Backup_114 ~]# cat /var/log/messages  

Jan 22 04:17:29 test Keepalived: Starting Keepalived v1.1.17 (01/13,2013) 

Jan 22 04:17:29 test Keepalived: Starting Healthcheck child process, pid=1528 

Jan 22 04:17:29 test Keepalived: Starting VRRP child process, pid=1529 

Jan 22 04:17:29 test Keepalived_vrrp: Using MII-BMSR NIC polling thread... 

Jan 22 04:17:29 test Keepalived_healthcheckers: Using MII-BMSR NIC polling thread... 

Jan 22 04:17:29 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.114 added 

Jan 22 04:17:29 test Keepalived_vrrp: Netlink reflector reports IP 192.168.1.114 added 

Jan 22 04:17:29 test Keepalived_healthcheckers: Registering Kernel netlink reflector 

Jan 22 04:17:29 test Keepalived_healthcheckers: Registering Kernel netlink command channel 

Jan 22 04:17:29 test Keepalived_vrrp: Registering Kernel netlink reflector 

Jan 22 04:17:29 test Keepalived_vrrp: Registering Kernel netlink command channel 

Jan 22 04:17:29 test Keepalived_vrrp: Registering gratutious ARP shared channel 

Jan 22 04:17:29 test Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.  #打開Keepalived的主配置檔案

Jan 22 04:17:29 test Keepalived_vrrp: Configuration is using : 62711 Bytes 

Jan 22 04:17:29 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE  #進入備 角色

Jan 22 04:17:29 test Keepalived_vrrp: VRRP sockpool: [ifindex(2), proto(112), fd(10,11)] 

4、使用ipvsadm -Ln檢視狀态

[root@LVS_Master_101 ~]# ipvsadm  

IP Virtual Server version 1.2.1 (size=4096)  

Prot LocalAddress:Port Scheduler Flags  

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn  

TCP  192.168.1.181:http rr persistent 50  

  -> 192.168.1.104:http           Route   1      0          0           

  -> 192.168.1.103:http           Route   1      0          0   

如果輸出和上面的一緻表明 LVS + Keepalived安裝配置成功。接下來測試負載均衡和高可用。

二、測試負載均衡

1、在192.168.1.103和192.168.1.104上分别執行如下指令(在這裡放不同的内容是為了友善測試,在生産環境中内容應該是相同的):

在192.168.1.103上執行下面指令 

[root@LVS_RS_104 ~]# echo "The is server 103" >/var/www/html/index.html 

在192.168.1.104上執行下面指令 

[root@LVS_DR_103 ~]# echo "The is server 104" >/var/www/html/index.html 

2、用兩個不同的浏覽器通路 http://192.168.1.181

<a href="http://blog.51cto.com/attachment/201301/203200977.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201301/203417992.png" target="_blank"></a>

我們看到上面兩個浏覽器通路到的是不同的RS伺服器,負載均衡測試完成。

三、測試高可用:

1、關閉主LVS的Keepalived服務,檢視備LVS的日志

[root@LVS_Master_101 ~]# /etc/rc.d/init.d/keepalived stop

停止 keepalived:                                          [确定]

[root@LVS_Backup_114 ~]# cat /dev/null &gt;/var/log/messages  

[root@LVS_Backup_114 ~]# tail -f /var/log/messages  

Jan 22 04:41:09 test Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE  #在沒收到主LVS的心跳檢測後過度到主

Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE  #進入主的角色

Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs. #設定虛VIP協定

Jan 22 04:41:10 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.181 added  #添加192.168.1.181IP位址

Jan 22 04:41:10 test avahi-daemon[1180]: Registering new address record for 192.168.1.181 on eth0.IPv4.  #将192.168.1.181綁定到eth0上

Jan 22 04:41:10 test Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.1.181  #

Jan 22 04:41:10 test Keepalived_vrrp: Netlink: skipping nl_cmd msg... 

2、啟動主LVS的Keepalived服務,檢視備節點的日志

[root@LVS_Master_101 ~]# /etc/rc.d/init.d/keepalived start

正在啟動 keepalived:                                      [确定]

檢視備的日志如下

[root@LVS_Backup_114 ~]# tail -f /var/log/messages 

Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) Received higher prio advert

Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE

Jan 22 04:47:42 test Keepalived_vrrp: VRRP_Instance(VI_1) removing protocol VIPs.

Jan 22 04:47:42 test Keepalived_healthcheckers: Netlink reflector reports IP 192.168.1.181 removed

Jan 22 04:47:42 test avahi-daemon[1180]: Withdrawing address record for 192.168.1.181 on eth0.

Jan 22 04:47:42 test Keepalived_vrrp: Netlink: skipping nl_cmd msg...

在主LVS挂掉以後,備LVS會接替主節點的工作,主LVS起來以後,備LVS會把工作交給主節點

本文轉自1594cqb 51CTO部落格,原文連結:http://blog.51cto.com/wolfchen/1123498,如需轉載請自行聯系原作者

繼續閱讀