實(shí)現(xiàn)LVS的NAT模式
其原理及特點(diǎn)詳細(xì)介紹請看LVS的NAT模式LVS負(fù)載均衡之LVS-NAT搭建Web群集
1.實(shí)驗(yàn)環(huán)境
IP地址規(guī)劃
客戶端訪問服務(wù)的請求IP地址:VIP 12.0.0.1
Server | IP | 系統(tǒng) |
---|---|---|
Director Server | DIP 192.168.10.1 | CentOS7 |
NFS Server | 192.168.10.50 | RedHat6 |
Real Server1 | RIP 192.168.10.51 | CentOS7 |
Real Server2 | RIP 192.168.10.52 | CentOS7 |
在配置的Director的服務(wù)器上添加兩塊網(wǎng)卡,詳細(xì)步驟可參考DNS分離解析這篇文章中有介紹,設(shè)置外網(wǎng)ens37為VIP,內(nèi)網(wǎng)ens33為DIP,把兩個(gè) real server 的網(wǎng)關(guān)設(shè)置為 Director 的內(nèi)網(wǎng) iP即DIP。
在虛擬機(jī)的配置中DIP網(wǎng)絡(luò)連接方式設(shè)置為僅主機(jī)模式,Real Server也配置為僅主機(jī)模式。
2.安裝和配置
yum安裝軟件
方法一:如果虛擬機(jī)網(wǎng)絡(luò)是僅主機(jī)模式,沒有網(wǎng)絡(luò),可以本地創(chuàng)建yum倉庫,然后進(jìn)行yum安裝。
方法二:如果虛擬機(jī)網(wǎng)絡(luò)是NAT模式,有網(wǎng)絡(luò),可以在線yum安裝。
(1) 配置NFS服務(wù)器
安裝nfs軟件并啟動(dòng)nfs服務(wù)
yum install nfs-utils -y #7系統(tǒng)版本需要安裝nfs工具包 service rpcbind start service nfs restart
創(chuàng)建共享目錄并賦予寫入權(quán)限
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)
發(fā)布共享
exportfs -rv
關(guān)閉防火墻
service iptables stop
(2) 配置兩個(gè)real server服務(wù)器
安裝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,_netdev 0 0
Real Server2掛載nfs
方法同Real Server1,將掛載目錄/opt/wwwroot1改成/opt/wwwroot2,其余一樣。
安裝httpd
yum install httpd -y
創(chuàng)建測試網(wǎng)頁并啟動(dòng)httpd服務(wù)
#real server1創(chuàng)建測試網(wǎng)頁 echo "Server 192.168.10.51" > /var/www/html/index.html #real server2創(chuàng)建測試網(wǎng)頁 echo "Server 192.168.10.52" > /var/www/html/index.html
#啟動(dòng)httpd服務(wù) systemctl start httpd.service systemctl enable httpd.service
關(guān)閉防火墻和安全性策略
systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0
測試網(wǎng)頁打開是否正常
firefox http://127.0.0.1/
(3) 配置Director server服務(wù)器
安裝ipvsadm管理工具
yum install ipvsadm -y
調(diào)用LVS內(nèi)核模塊
modprobe ip_vs #加載LVS內(nèi)核模塊 cat /proc/net/ip_vs #查看ip_vs版本信息
開啟路由轉(zhuǎn)發(fā)
#法一:編輯sysctl.conf文件,永久路由轉(zhuǎn)發(fā) vim /etc/sysctl.conf net.ipv4.ip_forward=1 sysctl -p #保存 #法二:直接編輯,臨時(shí)路由轉(zhuǎn)發(fā) echo "1" > /proc/sys/net/ipv4/ip_forward
配置SNAT轉(zhuǎn)發(fā)規(guī)則,設(shè)置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 實(shí)現(xiàn)負(fù)載分配腳本
# 設(shè)置 ipvsadm vim nat.sh #!/bin/bash ipvsadm-save > /etc/sysconfig/ipvsadm #保存策略 service ipvsadm start ipvsadm -C #清除內(nèi)核虛擬服務(wù)器表中的所有記錄 ipvsadm -A -t 12.0.0.1:80 -s rr #創(chuàng)建虛擬服務(wù)器 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管理工具的選項(xiàng)用法:
- -A: 表示添加虛擬服務(wù)器
- -t: 用來指定VIP地址及TCP端口
- -s: 用來指定負(fù)載均衡調(diào)度算法
- -a: 表示添加真實(shí)服務(wù)器
- -r: 用來指定RIP地址及TCP端口
- -m: 表示使用NAT群集模式
- -g: 表示使用DR群集模式
- -i: 表示使用TUN群集模式
- -w: 用來設(shè)置權(quán)重
保存nat腳本后直接運(yùn)行
chmod +x nat.sh ./nat.sh
查看ipvsadm設(shè)置的規(guī)則
ipvsadm -ln
3.測試LVS群集
用Windows客戶端直接訪問http://12.0.0.1, 將能夠看到由真實(shí)服務(wù)器提供的網(wǎng)頁內(nèi)容。
第一次訪問:
Real Server連接次數(shù)查看:
刷新一次:
Real Server連接次數(shù)查看:
LVS的DR模式案例部署詳細(xì)請看LVS負(fù)載均衡之LVS-DR搭建Web群集與LVS結(jié)合Keepalived搭建高可用Web群集