您好,登錄后才能下訂單哦!
下文給大家帶來模擬lvs-nat模式的負載均衡集群詳解,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
一、前言
本次所有的實驗均在虛擬機的環境中進行,實驗的目的是搭建lvs-nat模式的負載均衡集群。本文不涉及lvs原理,只模擬了lvs-nat模式的負載均衡集群。
二、拓撲圖
工具:ipvsadm
環境準備:
客戶端:192.168.91.128
負載均衡云服務器:VIP:192.168.91.3 DIP:10.0.0.254
真實服務器RS1:IP:10.0.0.111 gw:10.0.0.254
真實服務器RS2:IP:10.0.0.5 gw:10.0.0.254
三、實驗操作
1.客戶端操作
[root@localhost ~]# ip a l | grep "ens33" #查看ip 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 192.168.91.128/24 brd 192.168.91.255 scope global dynamic ens33
2.RS1服務端操作
[root@rs1 ~]# ip a l | grep "ens33" #查看ip 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 10.0.0.111/24 brd 10.0.0.255 scope global ens33 [root@rs1 ~]# setenforce 0 #關閉selinux [root@rs1 ~]# iptables -F #為了實驗方便,清空防火墻規則 yum install httpd #安裝httpd [root@rs1 ~]# cat /var/www/html/index.html #查看測試web內容 <h3>web server RS1</h3> [root@rs1 ~]# systemctl start httpd #啟動httpd [root@rs1 ~]# ss -tln | grep 80 LISTEN 0 128 :::80 :::*
3.RS2服務端操作
操作大抵和上面一致
[root@rs2 ~]# ip a l | grep "ens33" 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 10.0.0.5/24 brd 10.0.0.255 scope global ens33 [root@rs2 ~]# setenforce 0 [root@rs2 ~]# iptables -F yum install httpd [root@rs2 ~]# cat /var/www/html/index.html <h3>web server RS2</h3> [root@rs2 ~]# systemctl start httpd [root@rs2 ~]# ss -tln | grep 80 LISTEN 0 128 :::80 :::*
4.負載均衡服務端操作
[root@localhost ~]# ip a l | egrep "ens33|ens37" #查看ip 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 192.168.91.3/24 brd 192.168.91.255 scope global dynamic ens33 3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 10.0.0.254/8 brd 10.255.255.255 scope global ens37 yum install ipvsadm #安裝lvs管理工具ipvsadm [root@localhost ~]# rpm -ql ipvsadm #查看ipvsadm程序環境 /etc/sysconfig/ipvsadm-config #配置文件 /usr/lib/systemd/system/ipvsadm.service /usr/sbin/ipvsadm #核心工具 /usr/sbin/ipvsadm-restore #讀入配置文件 /usr/sbin/ipvsadm-save #保存ipvsadm規則 /usr/share/doc/ipvsadm-1.27 /usr/share/doc/ipvsadm-1.27/README /usr/share/man/man8/ipvsadm-restore.8.gz /usr/share/man/man8/ipvsadm-save.8.gz /usr/share/man/man8/ipvsadm.8.gz [root@localhost ~]# systemctl enable ipvsadm #設置開機自啟動 [root@localhost ~]# systemctl start ipvsadm #啟動服務 echo 1 > /proc/sys/net/ipv4/ip_forward #開啟核心轉發 [root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward 1 setenforce 0 #關閉selinux iptabels -F #為了實驗方便,清空防火墻規則 ipvsadm -A -t 192.168.91.3:80 -s rr #設置lvs調度器的算法為輪詢 ipvsadm -a -t 192.168.91.3:80 -r 10.0.0.111:80 -m #添加RS1服務器,-m選項即指定nat模式 ipvsadm -a -t 192.168.91.3:80 -r 10.0.0.0.5:80 -m #添加RS2服務器 ipvsadm-save
5.客戶端測試
根據腳本的結果分析可知,客戶端輪詢訪問兩個真實服務器(RS1、RS2),由此證明成功地實現了輪詢調度算法的負載均衡模式。
[root@localhost ~]# for i in {1..10};do curl http://192.168.91.3;done <h3>web server RS2</h3> <h3>web server RS1</h3> <h3>web server RS2</h3> <h3>web server RS1</h3> <h3>web server RS2</h3> <h3>web server RS1</h3> <h3>web server RS2</h3> <h3>web server RS1</h3> <h3>web server RS2</h3> <h3>web server RS1</h3>
6.修改調度算法為wrr(加權輪詢)
負載均衡服務器端操作
[root@localhost ~]# ipvsadm -E -t 192.168.91.3:80 -s wrr #修改調度算法為wrr [root@localhost ~]# ipvsadm -e -t 192.168.91.3:80 -r 10.0.0.111:80 -m -w 2 #修改RS1的權重為2 [root@localhost ~]# ipvsadm -Ln #查看規則 IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.91.3:80 wrr -> 10.0.0.5:80 Masq 1 0 11 -> 10.0.0.111:80 Masq 2 0 14
客戶端操作
根據腳本的結果分析可知,客戶端先訪問一次RS2,接著再訪問兩次RS1,如此循環訪問。由此證明成功地實現了加權輪詢調度算法的負載均衡模式。
測試 [root@localhost ~]# for i in {1..10};do curl 192.168.91.3;done <h3>web server RS2</h3> <h3>web server RS1</h3> <h3>web server RS1</h3> <h3>web server RS2</h3> <h3>web server RS1</h3> <h3>web server RS1</h3> <h3>web server RS2</h3> <h3>web server RS1</h3> <h3>web server RS1</h3> <h3>web server RS2</h3>
四、實驗需要注意的問題
1.根據真實環境,VIP為公網地址,RIP應該為私有地址,這樣的目的是將服務器隱藏起來。所以在虛擬機實驗時最好將VIP設置為橋接的模式,RID設置為僅主機模式。
2.RID的網關必須指向負載均衡器的DIP,并且RID與DIP在同一網段內。
3.負載均衡器一定要開啟核心轉發功能
4.設置好相應的防火墻規則(或者直接關閉),并且關閉selinux。
看了以上關于模擬lvs-nat模式的負載均衡集群詳解,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。