下文給大家?guī)砟Mlvs-nat模式的負(fù)載均衡集群詳解,希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來做一個(gè)解答。
成都創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為章丘企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),章丘網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
一、前言
本次所有的實(shí)驗(yàn)均在虛擬機(jī)的環(huán)境中進(jìn)行,實(shí)驗(yàn)的目的是搭建lvs-nat模式的負(fù)載均衡集群。本文不涉及l(fā)vs原理,只模擬了lvs-nat模式的負(fù)載均衡集群。
二、拓?fù)鋱D
工具:ipvsadm
環(huán)境準(zhǔn)備:
客戶端:192.168.91.128
負(fù)載均衡云服務(wù)器:VIP:192.168.91.3 DIP:10.0.0.254
真實(shí)服務(wù)器RS1:IP:10.0.0.111 gw:10.0.0.254
真實(shí)服務(wù)器RS2:IP:10.0.0.5 gw:10.0.0.254
三、實(shí)驗(yàn)操作
1.客戶端操作
[root@localhost ~]# ip a l | grep "ens33" #查看ip 2: ens33: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服務(wù)端操作
[root@rs1 ~]# ip a l | grep "ens33" #查看ip 2: ens33: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 #關(guān)閉selinux [root@rs1 ~]# iptables -F #為了實(shí)驗(yàn)方便,清空防火墻規(guī)則 yum install httpd #安裝httpd [root@rs1 ~]# cat /var/www/html/index.html #查看測試web內(nèi)容 web server RS1
[root@rs1 ~]# systemctl start httpd #啟動(dòng)httpd [root@rs1 ~]# ss -tln | grep 80 LISTEN 0 128 :::80 :::*
3.RS2服務(wù)端操作
操作大抵和上面一致
[root@rs2 ~]# ip a l | grep "ens33" 2: ens33: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 web server RS2
[root@rs2 ~]# systemctl start httpd [root@rs2 ~]# ss -tln | grep 80 LISTEN 0 128 :::80 :::*
4.負(fù)載均衡服務(wù)端操作
[root@localhost ~]# ip a l | egrep "ens33|ens37" #查看ip 2: ens33: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: 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程序環(huán)境 /etc/sysconfig/ipvsadm-config #配置文件 /usr/lib/systemd/system/ipvsadm.service /usr/sbin/ipvsadm #核心工具 /usr/sbin/ipvsadm-restore #讀入配置文件 /usr/sbin/ipvsadm-save #保存ipvsadm規(guī)則 /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 #設(shè)置開機(jī)自啟動(dòng) [root@localhost ~]# systemctl start ipvsadm #啟動(dòng)服務(wù) echo 1 > /proc/sys/net/ipv4/ip_forward #開啟核心轉(zhuǎn)發(fā) [root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward 1 setenforce 0 #關(guān)閉selinux iptabels -F #為了實(shí)驗(yàn)方便,清空防火墻規(guī)則 ipvsadm -A -t 192.168.91.3:80 -s rr #設(shè)置lvs調(diào)度器的算法為輪詢 ipvsadm -a -t 192.168.91.3:80 -r 10.0.0.111:80 -m #添加RS1服務(wù)器,-m選項(xiàng)即指定nat模式 ipvsadm -a -t 192.168.91.3:80 -r 10.0.0.0.5:80 -m #添加RS2服務(wù)器 ipvsadm-save
5.客戶端測試
根據(jù)腳本的結(jié)果分析可知,客戶端輪詢訪問兩個(gè)真實(shí)服務(wù)器(RS1、RS2),由此證明成功地實(shí)現(xiàn)了輪詢調(diào)度算法的負(fù)載均衡模式。
[root@localhost ~]# for i in {1..10};do curl http://192.168.91.3;doneweb server RS2
web server RS1
web server RS2
web server RS1
web server RS2
web server RS1
web server RS2
web server RS1
web server RS2
web server RS1
6.修改調(diào)度算法為wrr(加權(quán)輪詢)
負(fù)載均衡服務(wù)器端操作
[root@localhost ~]# ipvsadm -E -t 192.168.91.3:80 -s wrr #修改調(diào)度算法為wrr [root@localhost ~]# ipvsadm -e -t 192.168.91.3:80 -r 10.0.0.111:80 -m -w 2 #修改RS1的權(quán)重為2 [root@localhost ~]# ipvsadm -Ln #查看規(guī)則 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
客戶端操作
根據(jù)腳本的結(jié)果分析可知,客戶端先訪問一次RS2,接著再訪問兩次RS1,如此循環(huán)訪問。由此證明成功地實(shí)現(xiàn)了加權(quán)輪詢調(diào)度算法的負(fù)載均衡模式。
測試 [root@localhost ~]# for i in {1..10};do curl 192.168.91.3;doneweb server RS2
web server RS1
web server RS1
web server RS2
web server RS1
web server RS1
web server RS2
web server RS1
web server RS1
web server RS2
四、實(shí)驗(yàn)需要注意的問題
1.根據(jù)真實(shí)環(huán)境,VIP為公網(wǎng)地址,RIP應(yīng)該為私有地址,這樣的目的是將服務(wù)器隱藏起來。所以在虛擬機(jī)實(shí)驗(yàn)時(shí)最好將VIP設(shè)置為橋接的模式,RID設(shè)置為僅主機(jī)模式。
2.RID的網(wǎng)關(guān)必須指向負(fù)載均衡器的DIP,并且RID與DIP在同一網(wǎng)段內(nèi)。
3.負(fù)載均衡器一定要開啟核心轉(zhuǎn)發(fā)功能
4.設(shè)置好相應(yīng)的防火墻規(guī)則(或者直接關(guān)閉),并且關(guān)閉selinux。
看了以上關(guān)于模擬lvs-nat模式的負(fù)載均衡集群詳解,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。