下文給大家?guī)?lái)基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹,希望能夠給大家在實(shí)際運(yùn)用中帶來(lái)一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書(shū)籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來(lái)做一個(gè)解答。
創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、鄂托克前網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為鄂托克前等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
實(shí)現(xiàn)結(jié)果如下:
[root@localhost /]# vim /etc/sysctl.conf ................... // 省略部分 net.ipv4.ip_forward = 1 [root@localhost /]# sysctl -p net.ipv4.ip_forward = 1
配置負(fù)載分配策略:
[root@localhost /]# modprobe ip_vs # 加載 ip_vs 模塊 [root@localhost /]# cat /proc/net/ip_vs # 查看版本信息,彈出如下所示,說(shuō)明該模塊已啟動(dòng) IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
ipvsadm 是在負(fù)載調(diào)度器上使用的 LVS 群集管理工具,通過(guò)調(diào)用 ip_vs 模塊來(lái)添加、刪除服務(wù)器節(jié)點(diǎn),以及查看群集的運(yùn)行狀態(tài)(需要手動(dòng)安裝)。
[root@localhost /]# yum -y install ipvsadm # 安裝 ipvsadm [root@localhost /]# ipvsadm -v # 查看版本信息 ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
[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.10:80 -m -w 1 [root@localhost /]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.20:80 -m -w 1 [root@localhost /]# ipvsadm-save # 保存策略 -A -t localhost.localdomain:http -s rr -a -t localhost.localdomain:http -r 192.168.1.10:http -m -w 1 -a -t localhost.localdomain:http -r 192.168.1.20:http -m -w 1 [root@localhost /]# systemctl enable ipvsadm.service # 設(shè)置為開(kāi)機(jī)自啟
配置節(jié)點(diǎn)服務(wù)器:
web1 配置:
[root@localhost /]# yum -y install httpd # 安裝 http 服務(wù) [root@localhost /]# echo test1.com > /var/www/html/index.html # 準(zhǔn)備測(cè)試網(wǎng)頁(yè) [root@localhost /]# systemctl start httpd # 開(kāi)啟服務(wù) [root@localhost /]# systemctl enable httpd # 開(kāi)機(jī)自啟
web2 配置:
[root@localhost /]# yum -y install httpd # 安裝 http 服務(wù) [root@localhost /]# echo test2.com > /var/www/html/index.html # 準(zhǔn)備測(cè)試網(wǎng)頁(yè) [root@localhost /]# systemctl start httpd [root@localhost /]# systemctl enable httpd
當(dāng)然,在實(shí)際生產(chǎn)環(huán)境時(shí),網(wǎng)頁(yè)內(nèi)容都是一樣的,這里為了區(qū)分驗(yàn)證從實(shí)驗(yàn)的成功與否,我寫(xiě)了兩個(gè)內(nèi)容不同的測(cè)試文件。
測(cè)試一下 LVS 是否在工作:
刷新網(wǎng)頁(yè):
三、NFS 共享存儲(chǔ)服務(wù):
搭建 NFS 共享使兩臺(tái)web服務(wù)器共同掛載同一個(gè)NFS服務(wù)器共享的目錄,以此來(lái)提供相同的網(wǎng)頁(yè)文件。
安裝 nfs-utils、rpcbind 軟件包:
[root@localhost /]# yum -y install nfs-utils rpcbind # 安裝軟件包 [root@localhost /]# systemctl enable nfs # 設(shè)置為開(kāi)機(jī)自啟 [root@localhost /]# systemctl enable rpcbind
這兩軟件包我使用 rpm-qa 在Centos 7 上查看的時(shí)候是有的,具體這里本人也不是很清楚到底是不是安裝系統(tǒng)時(shí)自帶的,所以在做時(shí)還是敲一下這命令吧,以防萬(wàn)一嘛,如有大佬知道的,還煩請(qǐng)告知小弟。(拜謝)
設(shè)置共享目錄:
[root@localhost /]# mkdir -p /opt/wwwroot # 創(chuàng)建共享目錄 [root@localhost /]# vim /etc/exports # 修改 NFS 主配置文件 /opt/wwwroot 192.168.2.0/24(rw,sync,no_root_squash) --rw:允許讀寫(xiě),ro 為只讀 --sync:表示同步寫(xiě)入 --no_root_squash:當(dāng)客戶(hù)機(jī)以 root 身份訪(fǎng)問(wèn)時(shí)賦予本地的 root 權(quán)限(默認(rèn)是 root_squash,將作為 nfsnobody 用戶(hù)降權(quán)對(duì)待) [root@localhost wwwroot]# echo nfs.test.com > index.html # 準(zhǔn)備測(cè)試文件
[root@localhost /]# systemctl restart rpcbind # 重啟服務(wù)使配置生效 [root@localhost /]# systemctl restart nfs [root@localhost /]# showmount -e # 查看本機(jī)發(fā)布的共享目錄 Export list for localhost.localdomain: /opt/wwwroot 192.168.2.0/24
在兩臺(tái) web 主機(jī)上掛載 NFS 共享目錄,并配置為開(kāi)機(jī)自動(dòng)掛載
[root@localhost /]# mount 192.168.2.1:/opt/wwwroot /var/www/html/ # 在兩臺(tái) web 主機(jī)上都執(zhí)行此操作 [root@localhost /]# df -hT /var/www/html/ # 查看是否掛載成功 Filesystem Type Size Used Avail Use% Mounted on 192.168.2.1:/opt/wwwroot nfs4 50G 4.0G 47G 8% /var/www/html [root@localhost /]# vim /etc/fstab # 設(shè)為開(kāi)機(jī)自動(dòng)掛載 192.168.2.1:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
測(cè)試驗(yàn)證:
.
我們看到 NFS 上寫(xiě)的測(cè)試文件已經(jīng)訪(fǎng)問(wèn)成功,但無(wú)論怎么刷新都不會(huì)變,這就說(shuō)明 LVS 負(fù)載均衡也就成功了。
當(dāng)LVS服務(wù)器重啟后,LVS規(guī)則將會(huì)丟失,這就用到了備份,需要注意的是,備份時(shí)的主機(jī)名和恢復(fù)時(shí)的主機(jī)名必須一致,并且需要注意網(wǎng)卡優(yōu)先的問(wèn)題,否則在恢復(fù)后,會(huì)發(fā)現(xiàn)VIP(群集的虛擬IP)變成了LVS服務(wù)器的另一個(gè)IP地址
[root@localhost /]# ipvsadm-save > /etc/sysconfig/ipvsadm.bak # 先備份一分 [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 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 # 注意這里是否還是原來(lái)的 VIP -> 192.168.1.10:80 Masq 1 0 0-> 192.168.1.20:80 Masq 1 0 0
看了以上關(guān)于基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專(zhuān)業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。