關(guān)于LVS負(fù)載均衡群集技術(shù)的相關(guān)概念,可以參考博文:LVS負(fù)載均衡群集詳解。
溧水ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
這篇博文以配置為主,配置過程中相關(guān)命令的解釋已經(jīng)在上面鏈接中的博文寫了出來,環(huán)境如下:
最終結(jié)果如下:
使用NAT模式的群集技術(shù),LVS負(fù)載調(diào)度器是所有節(jié)點(diǎn)訪問Internet的網(wǎng)關(guān)服務(wù)器,其200.0.0.1也作為整個(gè)群集的VIP地址。
使用輪詢(rr)的調(diào)度算法。
web1和web2先搭建web服務(wù),分別準(zhǔn)備不同的網(wǎng)頁文件,供客戶端訪問,以此來確定client訪問LVS服務(wù)器的200.0.0.1,可以訪問到兩臺(tái)wbe服務(wù)器。
一、準(zhǔn)備工作:
將網(wǎng)絡(luò)配置無誤,同一網(wǎng)段的可以互通;
準(zhǔn)備系統(tǒng)映像和相關(guān)的軟件包,以便搭建httpd服務(wù),和安裝相關(guān)工具。這里為了方便,便直接使用系統(tǒng)映像中的安裝包來搭建httpd服務(wù)。
二、配置負(fù)載均衡調(diào)度器:
1、開啟路由轉(zhuǎn)發(fā)規(guī)則:
[root@localhost ~]# vim /etc/sysctl.conf
................. #省略部分內(nèi)容
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
2、配置負(fù)載分配策略,并導(dǎo)出備份(若需知道下面配置的含義,請(qǐng)參考博文開頭的鏈接。):
[root@localhost ~]# modprobe ip_vs #加載ip-vs模塊
[root@localhost ~]# yum -y install ipvsadm #安裝ipvsadm管理工具
[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 200.0.0.1:80 -s rr
[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.2:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.3:80 -m -w 1
[root@localhost ~]# hostname LVS #更改主機(jī)名,防止在備份時(shí)將VIP地址轉(zhuǎn)為127.0.0.1
[root@localhost ~]# bash
[root@LVS ~]# ipvsadm-save #保存策略
-A -t LVS:http -s rr
-a -t LVS:http -r 192.168.1.2:http -m -w 1
-a -t LVS:http -r 192.168.1.3:http -m -w 1
[root@LVS ~]# ipvsadm-save > /etc/sysconfig/ipvsadm.bak #導(dǎo)出策略作為備份
[root@LVS ~]# cat /etc/sysconfig/ipvsadm.bak #查看備份策略
-A -t LVS:http -s rr
-a -t LVS:http -r 192.168.1.2:http -m -w 1
-a -t LVS:http -r 192.168.1.3:http -m -w 1
3、配置節(jié)點(diǎn)web服務(wù)器:
web1配置如下:
[root@web1 ~]# yum -y install httpd #安裝httpd服務(wù)
[root@web1 ~]# echo "web server 1" > /var/www/html/index.html #準(zhǔn)備網(wǎng)頁文件
[root@web1 ~]# systemctl start httpd #啟動(dòng)httpd服務(wù)
[root@localhost ~]# systemctl enable httpd #設(shè)置開機(jī)自啟動(dòng)
web2配置如下:
[root@web1 ~]# yum -y install httpd #安裝httpd服務(wù)
[root@web1 ~]# echo "web server 2" > /var/www/html/index.html #準(zhǔn)備網(wǎng)頁文件
[root@web1 ~]# systemctl start httpd #啟動(dòng)httpd服務(wù)
[root@localhost ~]# systemctl enable httpd #設(shè)置開機(jī)自啟動(dòng)
4、測(cè)試LVS負(fù)載均衡服務(wù)器是否工作正常(client多次訪問200.0.0.1,可以得到兩個(gè)不同的頁面):
若訪問到的是同一頁面,在排除配置上錯(cuò)誤的情況下,可以打開多個(gè)網(wǎng)頁,或者稍等一會(huì)再刷新,因?yàn)樗赡苡幸粋€(gè)保持連接的時(shí)間,所以會(huì)存在延遲。
得到以上效果后,就可以搭建NFS服務(wù)器,兩臺(tái)web服務(wù)器共同掛載同一個(gè)NFS服務(wù)器共享的目錄,以此來提供相同的網(wǎng)頁文件:
5、配置NFS共享存儲(chǔ)服務(wù)器:
[root@NFS /]# yum -y install nfs-utils rpcbind #安裝相關(guān)軟件包
[root@NFS /]# systemctl enable nfs #設(shè)置為開機(jī)自啟動(dòng)
[root@NFS /]# systemctl enable rpcbind #設(shè)置為開機(jī)自啟動(dòng)
[root@NFS /]# mkdir -p /opt/wwwroot #準(zhǔn)備共享目錄
[root@NFS /]# echo www.baidu.com > /opt/wwwroot/index.html #新建網(wǎng)頁文件
[root@NFS /]# vim /etc/exports #設(shè)置共享目錄(該文件內(nèi)容默認(rèn)為空)
/opt/wwwroot 192.168.2.0/24(rw,sync,no_root_squash) #寫入該行
[root@NFS /]# systemctl restart rpcbind #重啟相關(guān)服務(wù),需注意服務(wù)啟動(dòng)的先后順序
[root@NFS /]# systemctl restart nfs
[root@NFS /]# showmount -e #查看本機(jī)共享的目錄
Export list for NFS:
/opt/wwwroot 192.168.2.0
6、在兩臺(tái)web服務(wù)器分別查看NFS服務(wù)器的共享目錄,掛載并設(shè)置開機(jī)自動(dòng)掛載:
① 配置web2服務(wù)器
[root@web2 ~]# yum -y install rpcbind nfs-utils
#安裝相關(guān)軟件包,才可以訪問及查詢NFS的共享目錄
[root@web2 ~]# systemctl enable rpcbind #設(shè)置為開機(jī)自啟
[root@web2 ~]# systemctl start rpcbind #啟動(dòng)該服務(wù)
[root@web2 ~]# showmount -e 192.168.2.1 #查詢NFS主機(jī)共享的目錄
Export list for 192.168.2.1:
/opt/wwwroot 192.168.2.0
[root@web2 ~]# mount 192.168.2.1:/opt/wwwroot /var/www/html/ #掛載共享目錄
[root@web2 ~]# df -hT /var/www/html/ #查看是否掛載成功
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
192.168.2.1:/opt/wwwroot nfs4 39G 4.3G 35G 12% /var/www/html
[root@web2 ~]# vim /etc/fstab #設(shè)置自動(dòng)掛載
.........................
192.168.2.1:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
#寫入上面內(nèi)容
至此,web2服務(wù)器即配置完成了,現(xiàn)在將上面的配置在web1服務(wù)器上自行配置一下即可 。
若此時(shí)再進(jìn)行訪問測(cè)試,看到的頁面不是NFS共享存儲(chǔ)提供的頁面,那么需要檢測(cè)一下web節(jié)點(diǎn)的selinux是否關(guān)閉,若處于開啟狀態(tài),那么很有可能httpd這個(gè)進(jìn)程無法讀取到共享存儲(chǔ)的首頁文件。
至此,不管怎樣刷新訪問,都將是看到同一個(gè)網(wǎng)頁。最終的LVS負(fù)載均衡效果也就實(shí)現(xiàn)了。
當(dāng)LVS服務(wù)器重啟后,LVS規(guī)則將會(huì)丟失,這就用到了備份,需要注意的是,備份時(shí)的主機(jī)名和恢復(fù)時(shí)的主機(jī)名必須一致,并且需要注意網(wǎng)卡優(yōu)先的問題,否則在恢復(fù)后,會(huì)發(fā)現(xiàn)VIP(群集的虛擬IP)變成了LVS服務(wù)器的另一個(gè)IP地址
[root@localhost ~]# ipvsadm -ln #查看策略
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@localhost ~]# ipvsadm-restore < /etc/sysconfig/ipvsadm.bak #恢復(fù)策略
[root@localhost ~]# ipvsadm -ln #查看策略是否恢復(fù)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 200.0.0.1:80 rr #需要注意這里是否還是原來的VIP
-> 192.168.1.2:80 Masq 1 0 0
-> 192.168.1.3:80 Masq 1 0 0
OK。。。。。。。。。。。。。。。。