1. 程式人生 > >Lvs-nat模式實現負載均衡的配置命令及執行過程

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/