63.負載均衡集群介紹、LVS NAT模式搭建
阿新 • • 發佈:2018-05-23
負載均衡集群介紹 LVS NAT模式搭建 一、 負載均衡集群介紹
- 主流開源軟件LVS、keepalived、haproxy、nginx等
- 其中LVS屬於4層(網絡OSI 7層模型),nginx屬於7層,haproxy既可以認為是4層,也可以當做7層使用
- keepalived的負載均衡功能其實就是lvs
-
lvs這種4層的負載均衡是可以分發除80外的其他端口通信的,比如MySQL的,而nginx僅僅支持http,https,mail,haproxy也支持MySQL這種
相比較來說,LVS這種4層的更穩定,能承受更多的請求,而nginx這種7層的更加靈活,能實現更多的個性化需求二、LVS介紹
LVS是由國人章文嵩開發
流行度不亞於apache的httpd,基於TCP/IP做的路由和轉發,穩定性和效率很高
LVS有三種常見的模式:NAT、DR、IP Tunnel
LVS架構中有一個核心角色叫做分發器(Load balance),它用來分發用戶的請求,還有諸多處理用戶請求的服務器(Real Server,簡稱rs)三、LVS調度算法
- 輪詢 Round-Robin rr
- 加權輪詢 Weight Round-Robin wrr
- 最小連接 Least-Connection lc
- 加權最小連接 Weight Least-Connection wlc
- 基於局部性的最小連接 Locality-Based Least Connections lblc
- 帶復制的基於局部性最小連接 Locality-Based Least Connections with Replication lblcr
- 目標地址散列調度 Destination Hashing dh
- 源地址散列調度 Source Hashing sh
四、NAT模式搭建 – 準備工作
三臺機器
- 分發器,也叫調度器(簡寫為dir)
內網:127.133,外網:40.128(vmware僅主機模式) - rs1
內網:127.134 網段設置為133 -
rs2
內網:127.135 網段設置為133 (克隆chinantfy2,將ip改為135,hostname改成135)vim /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network.service hostnamectl set-hostname chinantfy-135
- 三臺機器上都執行執行
systemctl stop firewalld
systemctl disable firewalld
yum install -y iptables-services
systemctl start iptables.service
iptables -F
service iptables save
五、NAT模式搭建
在dir上安裝ipvsadm
yum install -y ipvsadm
- 在dir上編寫腳本,vim /usr/local/sbin/lvs_nat.sh//內容如下
-
192.168.40.128是dir的外網ip
#! /bin/bash # director 服務器上開啟路由轉發功能 echo 1 > /proc/sys/net/ipv4/ip_forward # 關閉icmp的重定向 echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects # 註意區分網卡名字,我的的兩個網卡分別為ens33和ens37 echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects # director 設置nat防火墻 iptables -t nat -F iptables -t nat -X iptables -t nat -A POSTROUTING -s 192.168.127.0/24 -j MASQUERADE # director設置ipvsadm IPVSADM=‘/usr/sbin/ipvsadm‘ $IPVSADM -C $IPVSADM -A -t 192.168.40.128:80 -s wlc -p 3 $IPVSADM -a -t 192.168.40.128:80 -r 192.168.127.134:80 -m -w 1 $IPVSADM -a -t 192.168.40.128:80 -r 192.168.127.135:80 -m -w 1
六、NAT模式效果測試
兩臺rs上都安裝nginx
設置兩臺rs的主頁,做一個區分,也就是說直接curl兩臺rs的ip時,得到不同的結果
瀏覽器裏訪問192.168.40.128,多訪問幾次看結果差異
63.負載均衡集群介紹、LVS NAT模式搭建