LVS負載均衡之LVS-NAT搭建Web群集
實現LVS的NAT模式
其原理及特點詳細介紹請看LVS的NAT模式 Linux/2018-11/../../Linux/2018-11/155543.htm" rel="nofollow,noindex" target="_blank">LVS負載均衡之LVS-NAT搭建Web群集
1.實驗環境
IP地址規劃
客戶端訪問服務的請求IP地址:VIP 12.0.0.1
Server | IP | 系統 |
---|---|---|
Director Server | DIP 192.168.10.1 | CentOS 7 |
NFS Server | 192.168.10.50 | RedHat 6 |
Real Server1 | RIP 192.168.10.51 | CentOS7 |
Real Server2 | RIP 192.168.10.52 | CentOS7 |
在配置的Director的伺服器上新增兩塊網絡卡,詳細步驟可參考DNS分離解析這篇文章中有介紹,設定外網ens37為VIP,內網ens33為DIP,把兩個 real server 的閘道器設定為 Director 的內網 iP即DIP。
在虛擬機器的配置中DIP網路連線方式設定為僅主機模式,Real Server也配置為僅主機模式。

2.安裝和配置
yum安裝軟體
方法一:如果虛擬機器網路是僅主機模式,沒有網路,可以本地建立yum倉庫,然後進行yum安裝。
方法二:如果虛擬機器網路是NAT模式,有網路,可以線上yum安裝。
(1) 配置NFS伺服器
安裝nfs軟體並啟動nfs服務
yum install nfs-utils -y#7系統版本需要安裝nfs工具包 service rpcbind start service nfs restart
建立共享目錄並賦予寫入許可權
mkdir /opt/wwwroot1 /opt/wwwroot2 chmod 777 /opt/wwwroot1 /opt/wwwroot2
編輯配置檔案
vim /etc/exports /opt/wwwroot1 192.168.10.0/24(rw,sync) /opt/wwwroot2 192.168.10.0/24(rw,sync)
釋出共享
exportfs -rv
關閉防火牆
service iptables stop
(2) 配置兩個real server伺服器
安裝nfs客戶端
yum install nfs-utils -y systemctl start rpcbind.service systemctl start nfs.service
檢視nfs掛載
showmount -e 192.168.10.50
Real Server1掛載nfs
#法一:直接掛載 mount.nfs 192.168.10.50:/opt/wwwroot1 /var/www/html #法二:修改fatab檔案掛載 vim /etc/fstab 192.168.10.50:/opt/wwwroot1 /var/www/html nfs defaults,_netdev0 0
Real Server2掛載nfs
方法同Real Server1,將掛載目錄/opt/wwwroot1改成/opt/wwwroot2,其餘一樣。
安裝httpd
yum install httpd -y
建立測試網頁並啟動httpd服務
#real server1建立測試網頁 echo "Server 192.168.10.51" > /var/www/html/index.html #real server2建立測試網頁 echo "Server 192.168.10.52" > /var/www/html/index.html
#啟動httpd服務 systemctl start httpd.service systemctl enable httpd.service
關閉防火牆和安全性策略
systemctl stopfirewalld.service systemctl disable firewalld.service setenforce 0
測試網頁開啟是否正常
firefox http://127.0.0.1/
(3) 配置Director server伺服器
安裝ipvsadm管理工具
yum install ipvsadm -y
呼叫LVS核心模組
modprobe ip_vs #載入LVS核心模組 cat /proc/net/ip_vs#檢視ip_vs版本資訊
開啟路由轉發
#法一:編輯sysctl.conf檔案,永久路由轉發 vim /etc/sysctl.conf net.ipv4.ip_forward=1 sysctl -p#儲存 #法二:直接編輯,臨時路由轉發 echo "1" > /proc/sys/net/ipv4/ip_forward
配置SNAT轉發規則,設定nat防火牆
iptables -F -t nat#清空nat防火牆 iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens37 -j SNAT --to-source 12.0.0.1
Director 上編輯 nat 實現負載分配指令碼
# 設定 ipvsadm vim nat.sh #!/bin/bash ipvsadm-save> /etc/sysconfig/ipvsadm#儲存策略 service ipvsadm start ipvsadm -C#清除核心虛擬伺服器表中的所有記錄 ipvsadm -A -t 12.0.0.1:80 -s rr#建立虛擬伺服器 ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.51:80 -m ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.52:80 -m ipvsadm
ipvsadm管理工具的選項用法:
- -A: 表示新增虛擬伺服器
- -t: 用來指定VIP地址及TCP埠
- -s: 用來指定負載均衡排程演算法
- -a: 表示新增真實伺服器
- -r: 用來指定RIP地址及TCP埠
- -m: 表示使用NAT群集模式
- -g: 表示使用DR群集模式
- -i: 表示使用TUN群集模式
- -w: 用來設定權重
儲存nat指令碼後直接執行
chmod +x nat.sh ./nat.sh
檢視ipvsadm設定的規則
ipvsadm -ln
3.測試LVS群集
用Windows客戶端直接訪問http://12.0.0.1, 將能夠看到由真實伺服器提供的網頁內容。
第一次訪問:

Real Server連線次數檢視:

重新整理一次:

Real Server連線次數檢視:

LVS的DR模式案例部署詳細請看 LVS負載均衡之LVS-DR搭建Web群集與LVS結合Keepalived搭建高可用Web群集
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-11/155543.htm