您好,登錄后才能下訂單哦!
下文給大家帶來基于 NAT(地址轉換模式)構建 LVS 負載均衡方法的詳細介紹,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
實現結果如下:
[root@localhost /]# vim /etc/sysctl.conf ................... // 省略部分 net.ipv4.ip_forward = 1 [root@localhost /]# sysctl -p net.ipv4.ip_forward = 1
配置負載分配策略:
[root@localhost /]# modprobe ip_vs # 加載 ip_vs 模塊 [root@localhost /]# cat /proc/net/ip_vs # 查看版本信息,彈出如下所示,說明該模塊已啟動 IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
ipvsadm 是在負載調度器上使用的 LVS 群集管理工具,通過調用 ip_vs 模塊來添加、刪除服務器節點,以及查看群集的運行狀態(需要手動安裝)。
[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 # 設置為開機自啟
配置節點服務器:
web1 配置:
[root@localhost /]# yum -y install httpd # 安裝 http 服務 [root@localhost /]# echo test1.com > /var/www/html/index.html # 準備測試網頁 [root@localhost /]# systemctl start httpd # 開啟服務 [root@localhost /]# systemctl enable httpd # 開機自啟
web2 配置:
[root@localhost /]# yum -y install httpd # 安裝 http 服務 [root@localhost /]# echo test2.com > /var/www/html/index.html # 準備測試網頁 [root@localhost /]# systemctl start httpd [root@localhost /]# systemctl enable httpd
當然,在實際生產環境時,網頁內容都是一樣的,這里為了區分驗證從實驗的成功與否,我寫了兩個內容不同的測試文件。
測試一下 LVS 是否在工作:
刷新網頁:
三、NFS 共享存儲服務:
搭建 NFS 共享使兩臺web服務器共同掛載同一個NFS服務器共享的目錄,以此來提供相同的網頁文件。
安裝 nfs-utils、rpcbind 軟件包:
[root@localhost /]# yum -y install nfs-utils rpcbind # 安裝軟件包 [root@localhost /]# systemctl enable nfs # 設置為開機自啟 [root@localhost /]# systemctl enable rpcbind
這兩軟件包我使用 rpm-qa 在Centos 7 上查看的時候是有的,具體這里本人也不是很清楚到底是不是安裝系統時自帶的,所以在做時還是敲一下這命令吧,以防萬一嘛,如有大佬知道的,還煩請告知小弟。(拜謝)
設置共享目錄:
[root@localhost /]# mkdir -p /opt/wwwroot # 創建共享目錄 [root@localhost /]# vim /etc/exports # 修改 NFS 主配置文件 /opt/wwwroot 192.168.2.0/24(rw,sync,no_root_squash) --rw:允許讀寫,ro 為只讀 --sync:表示同步寫入 --no_root_squash:當客戶機以 root 身份訪問時賦予本地的 root 權限(默認是 root_squash,將作為 nfsnobody 用戶降權對待) [root@localhost wwwroot]# echo nfs.test.com > index.html # 準備測試文件
[root@localhost /]# systemctl restart rpcbind # 重啟服務使配置生效 [root@localhost /]# systemctl restart nfs [root@localhost /]# showmount -e # 查看本機發布的共享目錄 Export list for localhost.localdomain: /opt/wwwroot 192.168.2.0/24
在兩臺 web 主機上掛載 NFS 共享目錄,并配置為開機自動掛載
[root@localhost /]# mount 192.168.2.1:/opt/wwwroot /var/www/html/ # 在兩臺 web 主機上都執行此操作 [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 # 設為開機自動掛載 192.168.2.1:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
測試驗證:
.
我們看到 NFS 上寫的測試文件已經訪問成功,但無論怎么刷新都不會變,這就說明 LVS 負載均衡也就成功了。
當LVS服務器重啟后,LVS規則將會丟失,這就用到了備份,需要注意的是,備份時的主機名和恢復時的主機名必須一致,并且需要注意網卡優先的問題,否則在恢復后,會發現VIP(群集的虛擬IP)變成了LVS服務器的另一個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 # 恢復策略 [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 # 注意這里是否還是原來的 VIP -> 192.168.1.10:80 Masq 1 0 0-> 192.168.1.20:80 Masq 1 0 0
看了以上關于基于 NAT(地址轉換模式)構建 LVS 負載均衡方法的詳細介紹,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。