LVS KeepaLived集羣

       LVS Keepalived 方案是和LVS Heartbeat 同樣的高可用加負載均衡方案, Keepalived 於node

Heartbeat 相比在部署和管理方面都大大簡化了。linux

 

 

 

1.0 集羣環境列表算法

 

IP 地址主機名說明後端

---------------loader Balance 負載層----------------服務器

192.168.140.140 VIP負載均衡

192.168.140.141 Web-Director LVS Directoride

192.168.140.143 Web-Backup Keepalived Backupoop

---------------Sserver custer 服務器集羣層----------------測試

192.168.140.137 Web-node1 Web 節點  網站

192.168.140.139 Web-node2 Web 節點

---------------Storage 存儲層-----------------------

 

1.1 其它注意事項

 

1> LVS Keepalived 方案ipvsadm 的管理有keepalived 負責。

2> LVS 後端節點的監控檢查也是keepalived 進行。

3> 注意內核版本和ipvsadm 版本的對應。

4> 注意ip_vs 模塊是否載入內核。

 

1.2 部署LVS Keepalived

 

檢查內核版本和模塊

 

[root@Web-Director ~]# uname -r

2.6.18-164.el5

[root@Web-Director ~]# modprobe ip_vs

[root@Web-Director ~]# lsmod | grep ip_vs

ip_vs 121473 0

 

 

1.3 下載軟件包

 

[root@Web-Director ~]# ln -s /usr/src/kernels/2.6.18-164.el5-x86_64/ /usr/src/linux

[root@Web-Director ~]# cd /usr/local/src

[root@Web-Director src]# wget

http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

[root@Web-Director src]# wget

http://www.keepalived.org/software/keepalived-1.1.20.tar.gz

 

1.4 安裝ipvsadm

 

注意:Web-Director 和Web-Backup 安裝相同

 

[root@Web-Director src]# tar zxvf ipvsadm-1.24.tar.gz

[root@Web-Director src]# cd ipvsadm-1.24

有關安裝的相關信息,能夠查看該目錄下的README 文件。

[root@Web-Director ipvsadm-1.24]# make && make install

安裝完畢後會產生如下文件:

/sbin/ipvsadm

/sbin/ipvsadm-save

/sbin/ipvsadm-restore

/usr/man/man8/ipvsadm.8

/usr/man/man8/ipvsadm-save.8

/usr/man/man8/ipvsadm-restore.8

/etc/rc.d/init.d/ipvsadm

 

 

1.5 安裝Keepalived

注意:Web-Director 和Web-Backup 安裝相同

 

[root@Web-Director src]# tar zxvf keepalived-1.1.20.tar.gz

[root@Web-Director src]# cd keepalived-1.1.20

[root@Web-Director keepalived-1.1.20]# ./configure --prefix=/usr/local/keepalived

Keepalived configuration

------------------------

Keepalived version : 1.1.20

Compiler : gcc

Compiler flags : -g -O2

Extra Lib : -lpopt -lssl -lcrypto

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

Use VRRP Framework : Yes

Use Debug flags : No

若是出現以上輸出,說明能夠正常編譯安裝。

[root@Web-Director keepalived-1.1.20]# make && make install

[root@Web-Director ~]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived

/etc/rc.d/init.d/

[root@Web-Director ~]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

[root@Web-Director ~]# /usr/local/keepalived/sbin/keepalived --help

若是你執行了keepalived 命令,你會發現它默認去/etc/keepalived/keepalived.conf 找配置文件,

因此咱們要把配置文件建立到此處方便啓動,固然,你也能夠本身制定配置文件位置。

[root@Web-Director ~]# mkdir /etc/keepalived

[root@Web-Director ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf

/etc/keepalived/

[root@Web-Director ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

 

1.6 LVS 配置

 

   LVS 配置是由keepalived 依靠/etc/keepalived/keepalived.conf 來進行配置的,也就是說我

們不須要手動配置ipvsadm 程序,可是咱們作爲LVS DR 模式運行,不能忘了對真實機的配。

 

RealServer 配置 -------這裏直接用腳本執行

 

[root@Web-node1 ~]# /sbin/realserver.sh start

RealServer Start OK

[root@Web-node2 ~]# /sbin/realserver.sh start

RealServer Start OK

 

在RealServer 執行完realserver.sh 後,必定要檢查:

 

[root@Web-node1 ~]# ifconfig lo:0

lo:0 Link encap:Local Loopback

inet addr:192.168.140.140 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

[root@Web-node2 ~]# ifconfig lo:0

lo:0 Link encap:Local Loopback

inet addr:192.168.140.140 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

這樣才表示與VIP地址綁定好了。

 

1.7 Keepalived 配置

 

   這是LVS Keepalived 集羣方案的核心,主要集中在/etc/keepalived/keepalived 文件上。

Keepalived 有兩種狀態,MASTER 和BACKUP,配置大體類似。

 

Web-Director 配置

 

下面是一個配置好的keepalived.conf 文件,對於每行用註釋說明。

[root@Web-Director ~]# cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs { #全局定義塊

notification_email {

admin@unixhot.com #郵件通知模塊,定義通知郵件地址。

}

notification_email_from localhost #

smtp_server 127.0.0.1 #定義SMTP Server

smtp_connect_timeout 30 #SMTP 連接超時時間

router_id LVS_MASTER #運行keepalived 機器的一個標識,注意:Web-Backup 應該不

同,修改成LVS_BACKUP

}

 

vrrp_instance VI_1 {

state MASTER #實例狀態,注意:Web-Backup 應該修改成BACKUP

interface eth0 #指定對外服務的網卡。

virtual_router_id 51

priority 101 #優先級,注意:Web-Backup 應該修改比這個值小

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.140.140

}

}

virtual_server 192.168.140.140 80 {

delay_loop 6 #健康檢查的時間間隔

lb_algo wrr #負載均衡的調度算法

lb_kind DR #負載均衡轉發模式

nat_mask 

255.255.255.0

persistence_timeout 50 #會話保持時間,針對動態網站

protocol TCP #轉發的協議

real_server 192.168.140.137 80 { #真實機的設置

weight 1 #真實機的權重,在帶有加權調度的調度算法中有用

TCP_CHECK { #TCP 健康檢查

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

 

}

}

real_server 192.168.140.139 80 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

 

BACKUP 端配置

BACKUP 端配置和MASTER 幾乎同樣,能夠直接用scp 從MASTER 端複製一份過來,作如下修改即

可:

router_id LVS_MASTER

state MASTER

priority 101

 

 

1.8  LVS Keepalived 方案測試

 

 啓動keepalived 服務

[root@Web-Director ~]# /etc/init.d/keepalived start

[root@Web-Backup ~]# /etc/init.d/keepalived start

 

  VIP 切換測試

 

[root@Web-Director ~]# ip ad li eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:0c:29:57:04:db brd ff:ff:ff:ff:ff:ff

inet 192.168.140.141/24 brd 192.168.140.255 scope global eth0

inet 192.168.140.140/32 scope global eth0

inet6 fe80::20c:29ff:fe57:4db/64 scope link

valid_lft forever preferred_lft forever

 

能夠發現,默認的VIP 是綁定在優先級比較高的這臺MASTER 上,也就是Web-Director 服務器。

 

[root@Web-Backup ~]# ip ad li eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:0c:29:45:5e:0e brd ff:ff:ff:ff:ff:ff

inet 192.168.140.143/24 brd 192.168.140.255 scope global eth0

inet6 fe80::20c:29ff:fe45:5e0e/64 scope link

valid_lft forever preferred_lft forever

 

你能夠手動來停掉Web-Director 上的keepalived 服務,VIP 就會自動切刀Web-Backup 上。

相關文章
相關標籤/搜索