IP說明:
lvs:10.10.10.3
lvs(備):10.10.10.4
virtual:10.10.10.100
1 lvs和lvs(備)上建目錄並將所需軟件包放入
#mkdir /usr/local/src/lvs
2 lvs和lvs(備)上安裝LVS和Keepalived
Lvs的安裝
#tar zxvf ipvsadm-1.24.tar.gz
#cd ipvsadm-1.24
#make && make install
Keepalived的安裝
#tar zxvf keepalived-1.1.15.tar.gz
#cd keepalived-1.1.15
#./configure && make && make install
將keepalived做成啓動腳務,方便管理
#cp/usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
#mkdir /etc/keepalived
#cp/usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
#cp /usr/local/sbin/keepalived /usr/sbin/
#service keepalived start|stop
3 在web1、web2服務器上綁定虛擬IP
#vim /etc/sysctl.conf
寫入 net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[code]
添加虛擬ip地址
#cd /etc/sysconfig/network-scripts/
#ls
#cp ifcfg-lo ifcfg-lo:0
#vim ifcfg-lo:0
#service network restart
#service httpd start
4在主從負載均衡服務器上配置keepalived.conf實現負載均衡和和高可用性
#vim /etc/keepalived/keepalived.conf
編緝keepalived.conf文件,內容如下:
! Configuration File for keepalived
global_defs {
notification_email {
[email protected] \\接收服務器通告郵箱
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER \\備份服務器上將MASTER改爲BACKUP
interface eth0
virtual_router_id 51
priority 100 \\備份服務上將100改爲99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.10.10.100 \\(如果有多個VIP,繼續換行填寫.)
}
}
virtual_server 10.10.10.100 80 {
delay_loop 6 \\(每隔10秒查詢realserver狀態)
lb_algo rr \\(輪詢算法)
lb_kind DR
persistence_timeout 10
protocol TCP \\(用TCP協議檢查realserver狀態)
real_server 10.10.10.3 80 {
weight 3
TCP_CHECK {
connect_timeout 3 \\(3秒無響應超時)
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 10.10.10.4 80 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
在主從負載均衡服務器上綁定虛擬IP
#vim /etc/sysctl.conf
寫入 net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[code]
#cd /etc/sysconfig/network-scripts/
#ls
#cp ifcfg-eth0 ifcfg-eth0:1
#vim ifcfg-eth0:1
#service network restart
在主(Master)服務器上查看LVS服務是否正常
主:
#watch ipvsadm –ln
顯示結果:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddressort Scheduler Flags
-> RemoteAddressort Forward Weight ActiveConn InActConn
TCP 10.10.10.100:80 rr persistent 10
-> 10.10.10.3:80 Route 3 0 0
-> 10.10.10.4:80 Route 3 0 0
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddressort Scheduler Flags
-> RemoteAddressort Forward Weight ActiveConn InActConn
TCP 10.10.10.100:80 rr persistent 10
-> 10.10.10.3:80 Route 3 0 0
-> 10.10.10.4:80 Route 3 0 0
查看從(Backup)服務器LVS服務是否正常
#watch ipvsadm –ln
顯示結果:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddressort Scheduler Flags
-> RemoteAddressort Forward Weight ActiveConn InActConn
TCP 10.10.10.100:80 rr persistent 10
-> 10.10.10.3:80 Route 3 0 0
-> 10.10.10.4:80 Route 3 0 0
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddressort Scheduler Flags
-> RemoteAddressort Forward Weight ActiveConn InActConn
TCP 10.10.10.100:80 rr persistent 10
-> 10.10.10.3:80 Route 3 0 0
-> 10.10.10.4:80 Route 3 0 0
5測試是否實現負載均衡和高可用
從客戶端ping web服務器的虛擬IP,然後用arp –a查看提供服務的服務器MAC
注:停一臺負載均衡服務器後,ping過程並沒有中斷
服務提供者MAC爲:08:00:27:9d:61:a6
客戶機換一個IP後,再ping 然後用arp –a 查看提供服務的服務器MAC
服務提供者MAC爲:74:ea:3a:45:ad:38