lvs的持久連接

由於HTTP是一種無狀態協議,每次請求完畢之後就立即斷開了,當用戶瀏覽購物網站挑選商品的時候,看到一件商品加入購物車,此過程被重定向到了REALSERVER1上面來,當把第二件商品加入購物車又被重定向到了REALSERVER2上面,最後結賬的時候在REALSERVER2上面,只有一件商品,這顯然是用戶無法接受的,此時就需要一種持久連接機制,來把同一用戶的HTTP請求在超時時間內都重定向到同一臺REALSERVER,超時時間可以自己定義,比如說2個小時,在超時時間內服務器會不斷追蹤用戶的訪問請求,把某一用戶的所有請求都轉發到同一臺REALSERVER上面,如果超時時間過後用戶依然在訪問,則默認按照每次兩分鐘的方式無限加長

這裏的所有操作都以DR模型爲例,試驗環境參見

http://lymrg.blog.51cto.com/1551327/660925
對於LVS的持久連接來說常見的分爲三種PCC,PPC和基於防火牆標記的持久連接,下面我們就來分別討論

1)PCC用來實現把某個用戶的所有訪問在超時時間內定向到同一臺REALSERVER,這種方式在實際中不常用

ipvsadm -A -t 912.168.0.1:0 -s wlc -p 600(單位是s)
ipvsadm -a -t 192.168.0.1:0 -r 192.168.1.2 -w 4 -g
ipvsadm -a -t 192.168.0.1:0 -r 192.168.1.3 -w 2 -g
此時測試一下會發現通過HTTP訪問VIP和通過SSH登錄VIP的時候都被定向到了同一臺REALSERVER上面了

2)PPC用來把某個用戶對同一服務的訪問在超時時間內定向到同一臺REALSERVER

ipvsadm -A -t 192.168.0.1:80 -s wlc -p 600
ipvsadm -a -t 192.168.0.1:80 -r 192.168.1.2 -w 4 -g
ipvsadm -a -t 192.168.0.1:80 -r 192.168.1.3 -w 2 -g

ipvsadm -A -t 192.168.0.1:22 -s wlc -p 300
ipvsadm -a -t 192.168.0.1:22 -r 192.168.1.2 -g
ipvsadm -a -t 192.168.0.1:22 -r 192.168.1.3 -g
此時再測試會發現某個用戶在超時時間內對於某個服務的訪問都會被重定向到同一臺REALSERVER上面

3)基於防火牆標記的持久連接
對於電子商務網站來說,用戶在挑選商品的時候使用的是80端口來瀏覽的,當付款的時候則是通過443的ssl加密的方式,當然當用戶挑選完商品付款的時候我們當然不希望https的443跳轉到另外一臺REALSERVER,很顯然應該是同一REALSERVER纔對,這時候就要用到基於防火牆標記的持久連接,通過定義端口的姻親關係來實現

1.首先兩個REALSERVER要配置SSL,很明顯證書應該也是一樣的
2.定義端口的姻親關係,給80和443端口打上同樣的防火牆標記
3.配置實現基於防火牆標記的LVS

yum install mod_ssl 兩個服務器上面都安裝一下
在REALSERVER1上面。也就是192.168.1.2上面如下操作
cd /etc/pki/tls/certs/
make httpd.pem 此種SSL證書的生成方式只爲測試,在實際操作中構建

SSL參見我博客前面的完整步驟
填寫相關信息
主機名稱一定要和VIP在互聯網上面解析的DNS名稱一致
cp httpd.pem /etc/httpd/
vi /etc/httpd/conf.d/ssl.conf
找到如下行啓用並且修改
DocumentRoot "/var/www/html"
ServerName www.test.org:443這裏修改爲你得服務器名稱
×××路徑
SSLCertificateFile /etc/httpd/httpd.pem
SSLCertificateKeyFile /etc/httpd/httpd.pem

scp httpd.pem 192.168.1.3:/etc/httpd
scp /etc/httpd/conf.d/ssl.conf 192.168.1.3:/etc/httpd/conf.d/

iptables -t mangle -A PREROUTING -d 192.168.0.1 -p tcp --dport 80 -j MARK --set-mark 10 (0-99範圍)
iptables -t mangel -A PREROUTING -d 192.168.0.1 -p tcp --dport 443 -j MARK --set-mark 10
ipvsadm -A -f 10 -s wlc -p 600
ipvsadm -a -f 10 -r 192.168.1.2 -g -w 4
ipvsadm -a -f 10 -r 192.168.1.3 -g -w 2

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章