建構 LVS-NAT 負載均衡群集
實驗環境:
主機 | 作業系統 | IP位址 |
---|---|---|
LVS 負載排程器 | CentOS 7.3 x86_64 | 内:192.168.1.100 外:12.0.0.1 |
web 伺服器 1 | 192.168.1.101 | |
web 伺服器 2 | 192.168.1.102 | |
NFS 共享儲存 | 192.168.1.103 | |
客戶機 | Windows 7 | 12.0.0.12 |

注:LVS 排程器充當網關伺服器,要有兩個網卡。
配置 NFS
-
關閉防火牆 ,編輯配置檔案:
vim /etc/exports /opt/benet 192.168.1.0/24(rw,sync) #讀寫 遠端同步 /opt/accp 192.168.1.0/24(rw,sync)
注:共享的檔案夾 ,如果不存在要建立 ,現實中可以做磁盤陣列挂載在共享的檔案夾 。
-
建立共享的檔案夾 ,添加檔案的權限:
mkdir /opt/benet /opt/accp chmod 777 benet accp
-
開啟服務 ,釋出共享 :
systemctl start rpcbind.service #開啟遠端過程調用協定 systemctl start nfs.service #開啟nfs服務 exportfs -rv #釋出共享 showmount -e 192.168.1.103 #測試本機是否共享
注:有些系統可能 ,沒有安裝 nfs-utils 用于NFS共享釋出和通路 。
配置 web 伺服器
-
安裝 httpd 服務 ,編輯配置檔案:
vim /usr/local/apache/conf/httpd.conf Listen 192.168.1.101:80 #修改IP ServerName www.yun.com:80 #更改域名
-
挂載 NFS 提供的檔案共享:
showmount -e 192.168.1.103 #檢測是否有共享檔案 mount.nfs 192.168.1.103:/opt/benet /var/www/html #把NFS 提供的共享檔案 挂載在httpd 站點裡
-
添加一個 httpd 首頁 ,關閉防火牆 :
echo "this is benet " > /var/www/html/index.html systemctl stop firewalld.service
注:可以本地測試能否打開測試首頁 ,兩台 web 伺服器配置一樣 ,添加不一樣的首頁以作區分 。
配置 LVS 負載排程器
-
安裝雙網卡 ,作為網關伺服器使用 。
-
開啟路由轉發功能:
vim /etc/sysctl.conf net.ipv4.ip_forward=1 #添加
sysctl -p #立即生效
-
加載 LVS 模闆:
modprobe ip_vs #加載模闆 cat /proc/net/ip_vs #檢視版本資訊
-
安裝管理軟體 ,添加伺服器節點 ,開啟服務:
yum install ipvsadm -y ipvsadm -C #清除伺服器節點 ipvsadm -A -t 12.0.0.1:80 -s rr #添加虛拟伺服器 ipvsadm -a -t 12.0.0.1:80 -r 192.168.1.101:80 -m ipvsadm -a -t 12.0.0.1:80 -r 192.168.1.102:80 -m ipvsadm --save > /etc/sysconfig/ipvsadm #儲存政策 (在7以上開啟ipvsadm服務需要) ipvsadm -ln #檢視節點狀态 ipvsadm #開啟服務
注:-A 添加虛拟伺服器、 -s 負載排程算法、 rr 輪詢 、 -a 添加真實伺服器 、-t 指定虛拟IP及TCP端口、-r 指定真實IP及TCP端口、-m 使用 NAT 群集模式 、-d 删除
-
設定防火牆規則:
iptables -t nat -F #清除nat表裡的規則 iptables -F #清除防火牆預設表規則鍊 iptables -t nat -A POSTROUTING -o ens34 -s 192.168.1.0/24 -j SNAT --to-source 12.0.0.1