LVS的DR模型+NAS
在上圖的DR模型中,所有機器(包括Director)都配置了一個額外的IP地址,即vip
該模型需要解決一下幾個問題
1、當一個客戶client上VIP發去一個連接請求是,此請求必須要連接到Director的VIP上,而不是real server上的lo:0的,因爲LVS主要目的就是要Director負責調度這些連接請求到real server上,所以到ARP廣播請求時,僅將Director的MAC地址響應給client就可以了。
解決此問題,
(1)可以再路由器上做靜態的mac-ip綁定、或arp地址過濾。
(2)在本地的linux主機上通過arp_ignore、arp_announce來解決。
在這我們就用第二種方法來解決。
關於arp_ignore、arp_announce在linux的2.4和2.6的版本中以引入。
Arp_announce --arp宣告 有3個值
0 - (default) Use any local address, configured on any interface.
1 - Try to avoid local addresses that are not in the target's subnet for this interface.
2 - Always use the best local address for this target. --自己與arp請求的目標ip地址不符,不回答。
Arp_ignore --arp忽略 有8個值
0 - (default): reply for any local target IP address, configured on any interface.
1 - reply only if the target IP address is local address configured on the incoming interface. --僅響應與本地的進接口一致的請求
2 - reply only if the target IP address is local address configured on the incoming interface and both with the sender's IP address are part from same subnet on this interface.
3 - do not reply for local address configured with scope host,only resolutions for golbal and link addresses are replied.
4-7 - reserved
8 - do not reply for all local addresses
2、real server必須要有與director的VIP一樣的ip地址,即可以配置Looback地址
3、Real server 必須要有到client的路由
下面就用上面的模型圖做一個web服務的例子,具體配置一下。
1、Director上的配置
配置eth0:0的ip
安裝ipvsadm
yum -y install ipvsadm
添加規則使Director成爲虛擬的web服務
Ipvsadm -A -t 192.168.2.1:80 -s rr
指明後方的real server
Ipvsadm -a -t 192.168.2.1:80 -r 192.168.2.100 -g (默認就是-g 即DR)
Ipvsadm -a -t 192.168.2.1:80 -r 192.168.2.200 -g
service ipvsadm save
service ipvsadm start
chkconfig ipvsadm on
2、real server的配置
Real server 的lo:0接口ip的配置
先看一下arp的那兩個參數
sysctl -a |grep arp 默認都是0
net.ipv4.conf.eth0.arp_ignore = 0
net.ipv4.conf.eth0.arp_announce = 0
設置它們的值如下:
echo "net.ipv4.conf.eth0.arp_ignore = 1" >>/etc/sysctl.conf
echo "net.ipv4.conf.eth0.arp_announce = 2" >>/etc/sysctl.conf
sysctl -p --立即生效 下面配置lo:0 的ip
掩碼是4個255
server1和server2一樣
你可以cp server1
scp 192.168.2.100:/etc/sysctl.conf /etc/
3、配置server1和server2的路由
route add -host 192.168.2.1 dev lo:0
4、搭建Server1和server2的web服務
這裏就不寫了
當客戶機client訪問VIP是,每刷新一次就會在server1和server2之間輪詢,這在實際應用中對於靜態的網站不會出現什麼問題,但當時動態網站時,如你註冊了一個賬號保存到了server1上了,當你刷新時你連接到了server2上,但是server2上可沒有保存你的註冊信息呀,怎樣解決這個問題呢,需要共享存儲了。我們先看看先下面的NAS吧。。
NAS 網絡存儲技術(Network Storage Technologies)是一種採用直接與網絡介質相連的特殊設備實現數據存儲的機制。由於這些設備都分配有 IP 地址,所以客戶機通過充當數據網關的服務器可以對其進行存取訪問。
NAS網絡存儲是文件級別的共享存儲,可以通過文件共享協議SAMBA、NFS來實現。
假如有一臺共享存儲服務器,它的ip爲192.168.2.2 我們可以共享文件夾在本地,server1和server2通過磁盤映射將共享文件夾掛載到/var/ww/html/下,在共享文件夾下存放我們的動態網站不就可以了。你也可以設置成自動掛載。。。。!!!
關於NFS的配置和自動掛載,這裏我就不寫了,可以參考
http://abc16810.blog.51cto.com/3177586/1095470 一文