LVS負載均衡配置與實現

LVS:
    概念:
        分流流量,均衡壓力
    模式分爲:
        NAT  DR  TUN  FULLNAT
    算法分爲:
        靜態:
            rr 輪詢分流
            wrr 加權輪詢
            sh 源地址hash綁定
            dh 目標地址hash綁定
        動態:
            lc 考慮後端服務器最少連接
            wlc 加權考慮後端服務器最小連接
            nq 永不排隊
            sed 加權反差模型(能者多老模型)
            lblc dh + lc
            lblcr 複製的 dh + lc


二: NAT模式

細節要點:

   NAT模式不能做防火牆處理

   可隱藏內部服務器地址

   支持端口映射功能

   Director 是性能瓶頸和單點故障點

   Director 要支持報文轉發功能

wKiom1NOOoPz17FYAAHgAo-CELA240.jpg

NAT: 使用地址轉換技術完成不同網段的調度器與服務器的調度管理
    規劃:
        Director:
            DIP: 192.168.43.200
            VIP: 172.16.43.200
        A:  RIP: 192.168.43.1
        B:  RIP: 192.168.43.2
    設置:
        Director:
            DIP: ifconfig eth1 192.168.43.200/24 up
            VIP: ifconfig eth0 172.16.43.200/16 up
            開啓路由轉發功能
        A:
            RIP: ifconfig eth0 192.168.43.1/24 up
            ROUTE: route add default gw 192.168.43.200
        B:
            RIP: ifconfig eth0 192.168.43.2/24 up
            ROUTE: route add default gw 192.168.43.200
    # -A 添加一個集羣服務 -t tcp類型  -s 調度算法
    ipvsadm -A -t 172.16.43.200:80 -s rr
    # -a 添加一臺服務器到集羣服務中  -t tcp類型 -r 真實服務器ip -m DAT模式
    ipvsadm -a -t 172.16.43.200:80 -r 192.168.43.1 -m
    ipvsadm -a -t 172.16.43.200:80 -r 192.168.43.2 -m

三: DR模式

技術要點:

   Director 可以不需要報文轉發功能

   RS 端的arp報文響應功能要關閉

   RS 端指向公網地址,不指向DIP

   不支持端口映射功能

wKioL1NOOo3inhXqAAH7lngdw3U459.jpg

DR:
    DR簡單模式(Director與RS同在一個物理網段內)
    規劃:
        Director
            DIP: 172.16.43.200
            VIP: 172.16.43.88 (route: eth0:0)
        A:
            RIP: 172.16.43.1
            VIP: 172.16.43.88 (route: lo:0)
        B:
            RIP: 172.16.43.2
            VIP: 172.16.43.88 (route: lo:0)
    設置:
        Director:
            DIP: ifconfig eth0 172.16.43.200/16 up
            VIP: ifconfig eth0:0 172.16.43.88/16 up
            ROUTE: route add -host 172.16.43.88 dev eth0:0
            開啓路由轉發功能
        A:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 172.16.43.1/16 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add -host 172.16.43.88 dev lo:0
        B:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 172.16.43.2/16 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add -host 172.16.43.88 dev lo:0
    ipvsadm -A -t 172.16.43.88:80 -s rr
    # -g DR模式
    ipvsadm -a -t 172.16.43.88:80 -r 172.16.43.1 -g
    ipvsadm -a -t 172.16.43.88:80 -r 172.16.43.2 -g

四: TUN模式(如下圖加配置過程完成應該沒有什麼大礙)

技術要點:

   Director 支持IP隧道技術(雙IP地址轉換)

   RIP,DIP,VIP均爲公網地址

   RS 的網關不指向DIP

   不支持端口映射

wKiom1NON2PhCtwJAAJAVAk7N_4229.jpg

TUN:
    可以理解爲DR複雜模式(Director與RS不在同一個物理網段內)
    規劃:
        Director
            DIP: 172.16.43.200 (eth0)
            VIP: 172.16.43.88 (route: eth0:0)
            IIP: 192.168.0.200 (eth1)
        A:
            RIP: 192.168.0.1
            VIP: 172.16.43.88 (route: lo:0)
        B:
            RIP: 192.168.0.2
            VIP: 172.16.43.88 (route: lo:0)
    配置:
        Director:
            DIP: ifconfig eth0 172.16.43.200/16 up
            VIP: ifconfig eth0:0 172.16.43.88/16 up
            IIP: ifconfig eth1 192.168.0.200/24 up
            ROUTE: route add -host 172.16.43.88 dev eth0:0
            開啓路由轉發功能
        A:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 192.168.0.1/24 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add default gw 192.168.0.200
            ROUTE: route add -host 172.16.43.88 dev lo:0
        B:
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
            echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
            echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
            RIP: ifconfig eth0 192.168.0.2/24 up
            VIP: ifconfig lo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up
            ROUTE: route add default gw 192.168.0.200
            ROUTE: route add -host 172.16.43.88 dev lo:0
    ipvsadm -A -t 172.16.43.88:80 -s rr
    # -i TUN 模式開啓
    ipvsadm -a -t 172.16.43.88:80 -r 192.168.0.1 -i
    ipvsadm -a -t 172.16.43.88:80 -r 192.168.0.2 -i

五: 持久連接 (LVS中將客戶端請求在一定時間內連續分發到同一組服務器的策略實現)

   持久連接類型: PCC 所有連接都進行服務器綁定  PPC  所有同一端口請求進行服務器綁定  PFMC 基於防火牆標記的多端口服務器請求綁定

 ipvsadm -A -t 172.16.43.88:0 -s rr -p 300 # PCC 將請求服務進行綁定300秒內到同一組服務器

 ipvsadm -A -t 172.16.43.88:80 -s rr -p 300 # PPC

 iptable -t mangle -A PREROUTING -d 172.16.43.88 -p tcp -m multiport --ports 22,80 -j mark --set-mark 10 # 將請求22,80服務標記爲一組

 ipvsadm -A -f 10 -s rr

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