Lvs-nat模式實現負載均衡的配置命令及執行過程
一、實驗環境
三臺伺服器,一臺作為 director,兩臺作為 real server,director 有一個外網網絡卡(10.0.172.190) 和一個內網ip(192.168.0.10),兩個 real server 上只有內網 ip (192.168.0.11) 和 (192.168.0.12),並且需要把兩個 real server 的內網閘道器設定為 director 的內網 ip(192.168.0.10)
二、安裝和配置
1、下載nginx,命令如圖所示:
#兩個 real server 上都安裝 nginx 服務,編輯如下指令碼
vim /etc/sysconfig/n.sh wget http://nginx.org/download/nginx-1.8.1.tar.gz tar zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 yum install -y gcc pcre-devel zlib-devel openssl-devel ./configure --prefix=/usr/local/nginx && make && make install
#執行指令碼檔案安裝nginx
bash /etc/sysconfig/n.sh
2、三臺伺服器ip配置
director的IP配置資訊,如下圖所示:
在director上新增一張新網絡卡eth1,配置資訊如下:
注意:外網ip,即eth0的網絡卡ip和閘道器,DNS須要根據你自己的電腦的實際情況進行配置
RS1的ip配置資訊:
RS2的ip配置資訊:
可按照圖示進行配置
#重啟三臺伺服器網絡卡
Service network restart
#測試三臺伺服器的連通性
#Dr伺服器:
Ping 192.168.0.11 Ping 192.168.0.12
#RS1:
Ping 192.168.0.10
Ping 192.168.0.12
#RS2:
Ping 192.168.0.10
Ping 192.168.0.11
三、三臺伺服器都要關閉防火牆或新增80埠
關閉防火請命令如下:
Service iptables stop
或者新增80埠,如下:
#進入防火牆配置檔案vim /etc/sysconfig/iptables,然後新增如下程式碼:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
四、修改兩臺rs伺服器的預設路由
Route delete default
Route add default gw 192.168.0.10
五、安裝ipvsadm
在director上安裝ipvsadm,並編輯nat指令碼檔案
#Director 上安裝 ipvsadm
yum install -y ipvsadm
#Director 上編輯 nat 實現指令碼
vim /usr/local/sbin/lvs_nat.sh
# 編輯寫入如下內容:
#! /bin/bash
# director伺服器上開啟路由轉發功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 關閉 icmp 的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
# director設定 ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 10.0.172.190:80 -s rr
$IPVSADM -a -t 10.0.172.190:80 -r 192.168.0.11:80 -m -w 1
$IPVSADM -a -t 10.0.172.190:80 -r 192.168.0.12:80 -m -w 1
儲存後,在 Director 上直接執行這個指令碼就可以完成 lvs/nat 的配置
/bin/bash /usr/local/sbin/lvs_nat.sh
六、三臺伺服器啟動nginx
進入目錄cd /usr/local/nginx
啟動nginx
./sbin/nginx
#重啟nginx,如有需要可重啟
Cd /usr/local/nginx
./sbin/nginx –s reload
檢視ipvsadm設定的規則
ipvsadm -ln
3、測試LVS的效果
通過瀏覽器測試2臺機器上的web內容 http://10.0.172.190 。為了區分開,我們可以把 nginx 的預設頁修改一下:
在 RS1 上執行,將index.html內容全部刪除,然後新增“Sever1”
cd /usr/local/nginx/html/
ll
Vim index.html
同樣在 RS2 上執行,將index.html內容全部刪除,然後新增“Sever2”
使用curl命令,檢測是否實現負載均衡,例如:
curl http://10.0.172.190/