LVS

Cluster 集羣 ,羣集

http://zwfang09.blog.sohu.com/entry/

Cluster 集羣 ,羣集

  --- 負載均衡 LB ,load-balance

  --- 高可用集羣 HA ,High Availability

  --- 高性能集羣 HP  High Performancing

負載均衡—解決多用戶併發連接請求

LVS---即Linux Virtual Server 是一個服務集羣,又成爲Director

什麼時候會用到LVS: 高吞吐量 For higher throughput

                    冗餘 for redundancy

   添加:for adaptability

LVS IP: Virtual IP address 即 VIP 虛擬IP

         Real IP address 即RIP 真實IP

         Director‘s IP address 即 DIP 與LVS通信的IP

         Client computer‘s IP Address 即 CIP 客戶端

 

  

 

 

 

 

 

 

 

 

 

 

集羣類型:根據轉發方式分爲:

 Network address translation  LVS-NAT 地址轉換所有真實服務器必須在同一網絡

   NAT所有入站和出站都經過Drector

Direct routing  LVS-TOU 直接路由

IP tunling LVS-TUN 隧道 與Director在同一物理網段,Rip不能是私有IP

LVS的十種輪叫算法:

靜態調度算法:

1、Rr 輪叫算法

2、Wrr 加強輪叫算法

3、Destination hashing 只要是來源同一個IP地址的,就會發送到同一臺服務器

4、Source hashing 只要是同某個防火牆進來的,還要從這個防火牆出去

動態調度算法:

 5、Least-connection LC 當一個新的請求連接發進來時,Director 會查看活動連接和非活動連接數來決定哪一個集羣node 接受這個請求, 值最小的會接受,如果值大小一樣,會從iptables表中從上到下選擇

 6、Weighted Least-connection WLC 加權最少連接,指定權重,是集羣的默認算法

7、Shorted Expectd Delay SED 權重+1  

 8、Nerver Queen  NQ 永遠不排隊

9、Locality-Based Least-Connection LBLC 基於本地的最少連接

10、Locality-Based Least-Connection Replication Scheduling LBLCR 基於本地的帶複製的最少連接

Ipvsadm參數選項:

     -A 定義哪一種服務爲集羣使用

     -E 修改集羣     -D 刪除   -E 修改  -C 清空 

   -a 爲某一個虛擬服務添加服務

     -e 編輯服務                 -d 刪除服務         -L或-l 列表顯示

     -s 保存至某一文件      -R 恢復              -Z 清空計數器

     --set 設定tcp默認超時時間

     -t 指定tcp服務           -u 指定udp服務 –f 防火牆標記

     -s 指定調度算法          -p persisent  LVS的持久使用

     -r 指定 real Server 的IP

    -g 指定 DR類型  (默認       -i  tun 類型         -

     -m 指定NAT類型             -w 指定權重

構建:LVS-NAT

網絡環境:Director兩個網卡:外網:192.168.0.150  內網:192.168.10.10

          內網服務器:Server1:IP 192.168.10.2 網關:192.168.10.10

                                        Server2:IP 192.168.10.3 網關:192.168.10.10

          外網服務器:IP 192.168.0.157  網關:192.168.0.150

Director服務器要開啓路由功能;內網服務器Server1,Server2,開啓httpd服務 

 

 

配置:Director:要先裝上ipvsadm工具

 #yum install ipvsadm

使用輪叫算法rr

 

 

 

 

 

 

 

外網測試:輪叫算法,依次顯示Server1和Server2的www頁面

 

 

 

 

 

 

 

 

 

 

 

 

加強輪叫算法:wrr ,將Server1—192.168.10.2的權重設置爲3

 

 

 

 

 

 

 

外網測試:結果顯示3次Server1的www頁面,再顯示1次Server2的www頁面

 

    

    

    

    

    

    

    

    

    

    

    

dh 算法:來源於同一個IP地址的,就會發送到同一臺服務器

 

 

 

 

 

 

 

測試結果,一直顯示Server1的www頁面,(Server1,Server2是隨機顯示的)

 

 

 

 

 

 

LVS-DR:

  arp_announce 直接向別人宣稱自己的別名地址,而不是主地址

     0 ----使用主地址

     1----儘量避免使用和請求ip不在同一網段的ip

     2----使用最合適的ip

    arp_ignore 怎樣相應別人

    0----使用本地主ip

    1----從哪塊網卡進來,就從哪塊網卡迴應

    2----從哪塊網卡進來,就從哪塊網卡迴應,並使用在同一網段的ip

 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

DR模式構建:

三臺主機都在同一網段:

Drector:192.168.0.150

Server1:192.168.0.151

Server2:192.168.0.152

做IP隱藏:Server1

 

 

 

 

 

 

爲lo添加IP 192.168.0.156,並作路由

 

 

 

 

 

 

server2:

 

 

 

 

 

 

 

 

 

 

Drector:添加IP 192.168.0.156,並作路由

 

 

 

 

 

 

添加ipsadm規則:

 

 

 

 

 

 

 

測試:兩次出現server2的www頁面,一次出現server1的www頁面

 

 

 

 

 

 

 

 

 

 

 

 

防火牆標記:

LVS-persistence 用於SSL,密鑰交換

 持久連接默認時間360s ,-p N 設置連接時間

 持久連接類型:

 Persisent client connections –PCC

 Persisent port connections –PPC

 Persisent Netfilter Marked Packet persistence

 FTP connections

 Expired persistence

首先要在real server1和real server2上實現證書服務:

Server1:

1、#yum install mod_ssl

生成密鑰:cakey.pem 

 

 

 

 

 

 

 

2、做自簽證書:

 

 

 

 

 

 

 

 

 

 

 

 

 

3、將自簽證書的權限修改爲600

 

 

 

 

4、將證書的路徑 修改爲 /etc/pki/CA

 

 

 

 

 

 

 

5、在/etc/pki/CA目錄下新建目錄newcerts ,新建文件index.txtserialecho 00serial

 

 

 

 

 

 

6、在/etc/httpd目錄下做證書

 

 

 

 

 

 

頒發證書:

 

 

 

7、編輯/etc/httpd/conf.d/ssl.conf文件,將路徑修改爲如下:/etc/httpd/ssl/httpd.conf

 

 

 

 

 

 

 

 

 

 

8、本機https測試:需要認證

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9、Real server2:由於Real server1主機上已經申請了證書服務,所以只在server2上生成密鑰和請求,讓server1給server2頒發證書

/etc/httpd/目錄下生成證書請求;

 

 

 

 

 

 

 

 

 

 

10、將生成的請求複製到Real server1

 

 

 

 

11、Server1給server2頒發證書

 

 

 

 

12、將生成的證書在拷貝到server2

 

 

 

 

 

13、編輯/etc/httpd/conf.d/ssl.conf文件,將路徑修改爲如下:/etc/httpd/ssl/httpd.conf

 

 

 

 

 

 

 

14、server2本機測試需要認證:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15、添加ipvsadm規則:控制443端口

 

 

 

 

 

 

 

 

 

CIP客戶機測試:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16、清空上面規則,重新添加

 

 

 

 

 

 

 

 

測試:持久連接server2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17、添加防火牆標記

 

 

 

 

 

 

 

 

 

 

測試:即可使用http訪問,也可使用https訪問,並且server1頁面顯示1次,server2頁面顯示2次

http訪問:

 

 

 

 

 

 

 

 

 

 

 

https測試:

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