LVS負載均衡羣集

LVS虛擬服務器

LVS虛擬服務器是針對Linux內核開發的一個負載均衡項目,它實際上相當於基於IP地址的虛擬化應用,爲基於IP地址和內容請求分發的負載均衡提出了一種高效的解決方法。
LVS現在已經是Linux內核的一部分,默認編譯爲ip_vs模塊,必要時能夠自動調用。

負載均衡的工作模式:

羣集的負載調度技術可以基於IP、端口、內容等進行分發,其中基於IP的效率最高。基於IP的負載均衡模式中,常見的有地址轉換、IP隧道和直接路由三種工作模式。
地址轉換:簡稱NAT模式,類似於防火牆的私有網絡結構,負載調度器作爲所有服務器節點的網關,即作爲客戶機的訪問入口,也是各節點回應客戶機的訪問出口。服務器節點使用私有IP地址與負載調度器位於同一個物理網絡,安全性要優於其他方式。
IP隧道:簡稱TUN模式,採用開放式的網絡結構,負載調度器僅作爲客戶機的訪問入口,各節點通過各自的Internet連接直接回應客戶機,而不再經過負載調度器。服務器節點分散在互聯網中的不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信。
直接路由:簡稱DR模式,採用半開放式的網絡結構,與TUN模式的結構類似,但各節點並不是分散在各地,而是與調度器位於同一個物理網絡。負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道。

負載均衡的分層結構:

典型的負載均衡羣集中,包括三個層次的組件。前端至少有一個負載調度器負責響應並分發來自客戶端的訪問請求,後端有大量真實服務器構成的服務器池來提供實際的應用服務,整個羣集的伸縮性通過增加、刪除服務器節點來完成,而這些過程對客戶機是透明的,爲了保持服務的一致性,所有節點使用共享存儲設備。

第一層,負載調度器:這是整個羣集的唯一入口,對外使用所有服務器共有的VIP(虛擬IP)地址,也稱爲羣集IP地址。
第二層,服務器池:羣集所提供的應用服務由服務器池承擔,其中的每個節點具有獨立的RIP(真實IP)地址,只處理調度器分發來的客戶機請求。
第三層,共享存儲:爲服務器池中的所有節點提供穩定、一致的文件存取服務,確保整個羣集的統一性。

實驗環境

負載調度器(網關):內網:192.168.100.1 外網:12.0.0.1
web服務器1:192.168.100.125 web1:apache
web服務器2:192.168.100.126 web:apache
NFS服務器(存儲):192.168.100.130
win7客戶端:12.0.0.10

NFS服務器:192.168.100.130

1. 安裝(默認已經安裝)
#先查詢系統是否已經安裝該軟件包
rpm -q nfs-utils rpcbind
2.如果沒有安裝,則使用yum安裝
yum install nfs-utils rpcbind -y
3.啓動服務
systemctl start rpcbind.service
systemctl restart nfs.service
4.創建共享目錄並修改用戶權限
mkdir -p /opt/zhangsan /opt/lisi
chmod 777 zhangsan/ lisi/\
5.編輯配置文件
vi /etc/exports
/usr/share *(ro,sync)
/opt/zhangsan 192.168.100.0/24(rw,sync)
/opt/lisi 192.168.100.0/24(rw,sync)
6.發佈共享
exportfs -rv
7.關閉防火牆及selinux
setenforce 0
systemctl stop firewalld.service

web服務器1:192.168.100.125

1. 安裝apache
yum install -y httpd
2. 客戶端查看、掛載
showmount -e 192.168.100.130
mount.nfs 192.168.100.130:/opt/zhangsan /var/www/html
3. 創建默認首頁文件
echo "this is zhangsan web" > /var/www/html/index.html
4. 啓動服務
systemctl enable httpd.service
systemctl start httpd.service
5. 關閉防火牆及selinux
setenforce 0
systemctl stop firewalld.service

LVS負載均衡羣集

web服務器2:192.168.100.126

1. 安裝apache
yum install -y httpd
2. 客戶端查看、掛載
showmount -e 192.168.100.130
mount.nfs 192.168.100.130:/opt/lisi /var/www/html
3. 創建默認首頁文件
echo "this is lisi web" > /var/www/html/index.html
4. 啓動服務
systemctl enable httpd.service
systemctl start httpd.service
5. 關閉防火牆及selinux
setenforce 0
systemctl stop firewalld.service

LVS負載均衡羣集

負載調度器:外網:12.0.0.1 內網:192.168.100.1

1. 安裝管理軟件(安裝完之後再修改網卡)
yum install ipvsadm -y
2. 開啓路由轉發功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1

LVS負載均衡羣集

3. 使配置生效
sysctl -p
4. 清空防火牆及設置snat地址轉換
iptables -t nat -F
iptable -F
iptables -t nat -A POSTROUTING -o ens36 -s 192.168.100.0/24 -j SNAT --to-sourcec 12.0.0.1
5. 加載LVS內核模塊
modprobe ip_vs
6. 查看ip_vs模塊版本
cat /proc/net/ip_vs
7. centos7之後必須先保存後纔可以啓動服務,不然會報錯
ipvsadm-save  > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
8. 創建虛擬服務器
#清空
ipvsadm -C
#添加虛擬服務器採用rr(輪詢)的負載均衡算法
ipvsadm -A -t 12.0.0.1:80 -s rr
#添加真實服務器節點,分別爲web1、web2服務器
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.125:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.126:80 -m
ipvsadm

LVS負載均衡羣集

測試

LVS負載均衡羣集
LVS負載均衡羣集
LVS負載均衡羣集
LVS負載均衡羣集
客戶機對調度服務器進行訪問,已實現了輪詢訪問

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