LVS負載均衡羣集

LVS負載均衡羣集

羣集的類型
1、負載均衡羣集:以提高應用系統的相應能力,儘可能處理更多的相應請求,較少延遲爲目標,獲得搞併發高負載的整體性能。例如:反向代理、LB的負載分配依賴於朱姐點的分流算法,將客戶及的請求分擔給多個服務器節點,從而緩解整個系統的負載壓力。
2、高可用羣集:以提高系統的可靠性,儘可能的減少中斷時間爲目標,確保服務的連續性,達到高可用(HA)的容錯效果。例如:故障切斷、雙機熱備、多級熱備,等都屬於高可用羣集技術。
3、高性能運算羣集:以提高應用系統的CPU運算速度,擴展硬件資源和分析能力爲布標,獲得相當於大型,超級計算機的高性能運算(HPC)能力。例如:雲計算,網格計算,也可視爲高性能運算的一種,高性能運算集羣的高性能依賴於、分佈式運算、並行運算,通過專用的硬件和軟件將多個服務器的CPU、內存等資源整合在一起,實現只有大型、超級計算機才具備的計算能力。

負載均衡的分層結構
LVS負載均衡羣集
1、 第一層,負載調度器:這是訪問整個集羣系統的唯一入口,對外使用所有服務器共有的V-IP(Virtual IP,虛擬IP)地址,已成爲集羣IP地址。通常會配置主、被兩臺調度器來實現熱備份,當朱調度器失效後將平滑替換至備用調度器,確保高可用性
2、 第二層,服務器池:集羣所提供的應用服務(如 ftp http)由服務器池承擔,其中每個節點都具有獨立的R-IP (Real IP,真實IP)地址,只處理調度器分配過來的客戶端請求,當某個節點暫時失效時,負責調度器的容錯機制會將其隔離,等待錯誤排除以後重新納入服務器池。
3、 第三層,共享存儲:爲服務器池中的所有節點提供穩定、一致的文件存取服務、確保整個集羣的統一性,在Linux/Unix環境中,共享存儲可以使用NAS設備,或者提供NFS(network file system網絡文件系統)共享服務的專用服務器。

負載均衡的工作模式
關於集羣的負載調度技術,可以基於IP、端口、內容等進行分發,其中基於IP的負載調度是效率最高的。基於IP的負載均衡模式最常見的有以下三種
LVS負載均衡羣集
1、 地址轉換:簡稱NAT模式,類似於防火牆的私有網絡結構,負載調度器作爲所有服務器節點的網關,即作爲客戶機的訪問入口,也是各節點回應客戶及的訪問出口。服務器節點使用私有IP地址,與負載調度器位於同一個物理網絡,安全性要優於其他兩種方式。
2、 IP隧道:簡稱TUN模式,採用開放式的網絡結構,負載調度器僅作爲客戶機的訪問入口,各節點通過各自的Internet連接直接回復客戶機,而不在經過負載調度器,服務器節點分散在互聯網中的不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信。
3、 直接路由:簡稱DR模式,採用半開放式的網絡結構,與TUN模式的結構類似,但各節點並不是分散在各地,而是與調度器位於同一個物理網絡。負責調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道。

LVS虛擬服務器
LVS現在已經成爲Linux內核的一部分,默認編譯爲ip_vs模塊,必要時能夠自動調用。怎centos7中,一下操作可以手動加載ip_vs模塊,並查看當前系統中ip_vs模塊的版本信息。
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
1、LVS的負載調度算法,常見的有一下四種。
1)、輪詢:將收到的服務器訪問請求按照順序輪流分配給集羣中的各節點,均等的對待每一臺服務器,而不管服務器實際的連接數和系統負載。
2)、加權輪詢:根據真實服務器的處理能力輪流分配收到的訪問請求,調度器可以自動查詢各節點的負載情況,並動態調整其權重,這樣可以保證處理能力強的服務器承擔更多的訪問量。
3)、最少連接:根據真實服務器已建立的連接數進行分配,將收到的訪問請求有限分配給連接數最少的節點,如果所有的服務器節點性能相近,採用這種方式可以更好的均衡負載
4)、加權最少連接:在服務器節點的性能差異較大的情況下,可以爲真實服務器自動調整權重,權重較高的節點將承擔更大比例的活動鏈接負載。
2、使用ipvsadm管理工具
Ipvsad是在負載調度器上使用的LVS羣集管理工具, 通過調用ip_vs模塊來添加、刪除服務器節點,以及查看羣集運行狀態。在centos7中,需要手動安裝ipvsadm.x86_64.0.1.27-7.el7
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# vi /etc/yum.repos.d/centos.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
:wq
[root@localhost ~]# yum -y install ipvsadm
LVS集羣的管理工作主要包括創建虛擬服務器、添加服務器節點、查看羣集節點狀態、刪除服務器節點和保存負載分配策略。下面我們分別展示一下ipvsadm命令的操作方法
1)、創建虛擬服務器
若羣集的IP地址爲192.168.10.20,針對TCP的80端口提供負載分流服務,使用的調度算法爲輪詢,則對應的ipvsadm命令操作如下所示,對於負載均衡調度器來說, Virtual IP必須是本機實際已啓用的IP地址。
[root@localhost ~]# ipvsadm -A -t 192.168.10.20:80 -s rr
上述命令中,選項:-A表示添加虛擬服務器。
選項:-t用來指定Virtual IP地址及端口。
選項:-s用來指定負載調度算法,rr:輪詢、wrr:加權輪詢、lc:最少連接、wlc:加權最少連接
2)、添加服務器節點
爲虛擬服務器192.168.10.20添加四個服務器節點,IP地址分別爲192.168.10.30、40、50、60對應的命令如下。
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.60:80 -m -w 1
上述命令中,選項:-a表示添加真實服務器
選項:-t表示表示指定virtual IP地址及TCP端口
選項:-r用來指定RIP地址及TCP端口,
選項:-m用來指定NAT集羣模式(-g DR模式,-I TUN模式)
選項:-w用來設置權重(權重爲0 時表示暫停節點)
3)、查看羣集節點狀態
[root@localhost ~]# ipvsadm -ln ##查看服務器節點狀態
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.20:80 rr
-> 192.168.10.30:80 Masq 1 0 0
-> 192.168.10.40:80 Masq 1 0 0
-> 192.168.10.50:80 Masq 1 0 0
-> 192.168.10.60:80 Masq 1 0 0
上述結果中Forward列下的Masq爲(僞裝地址),表示採用的是羣集模式爲NAT模式,如果Route,則表示採用的羣集模式爲DR
刪除服務器節點

4)、刪除服務器節點
要從池中刪除某個節點時,使用選項:-d。執行刪除操作必須指定目標對象,包括節點地址、虛擬IP地址
例如:以下命令將會刪除LVS羣集192.168.10.20中的節點192.168.10.30
[root@localhost ~]# ipvsadm -d -r 192.168.10.30:80 -t 192.168.10.20:80
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.20:80 rr
-> 192.168.10.40:80 Masq 1 0 0
-> 192.168.10.50:80 Masq 1 0 0
-> 192.168.10.60:80 Masq 1 0 0
需要刪除真個虛擬服務器時,使用選項:-D並制定虛擬IP地址即可,無需指定節點,
例如:以下操作
[root@localhost ~]# ipvsadm -D -t 192.168.10.20:80
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn

5)、保存負載分配策略
使用導入/導出工具:ipvsadm-save:保存。Ipvsadm-restore:恢復LVS策略。也可以使用快速清除、重建負載分配策略
[root@localhost ~]# ipvsadm -A -t 192.168.10.20:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.60:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.20:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm ##保存策略
[root@localhost ~]# cat /etc/sysconfig/ipvsadm ##查看保存的結果
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 192.168.10.30:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.40:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.50:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.60:http -m -w 1
[root@localhost ~]# systemctl stop ipvsadm ##停止服務(清除策略)
[root@localhost ~]# systemctl start ipvsadm ##啓動服務(重建規則)

共享存儲服務器:NFS
NFS是一種基於tcp/ip傳輸的網絡文件系統協議,通過使用NFS協議,客戶機可以向訪問本地目錄一樣訪問遠程服務器中的共享資源。
1、 使用NFS發佈共享資源
NFS服務的實現依賴於RPC(遠端過程調用)機制,可完成遠程到本地的映射過程,我們需要以下兩個安裝包
nfs-utils:用於NFS共享發佈和訪問
rpcbind:用於RPC支持
操作服務器爲:192.168.10.70
1)、安裝nfs-utils、rpcbind軟件包:並設置開機啓動。
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# vi /etc/yum.repos.d/centos.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
:wq

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
2)、設置共享目錄
NFS的配置文件爲/etc/exports,文件內容默認爲空(無任何共享)。
exports文件的設置格式爲“目錄位置 客戶機地址(權限選項)”
[root@localhost ~]# mkdir -p /opt/wwwroot/ ##創建共享路徑
[root@localhost ~]# vi /etc/exports ##修改配置文件
/opt/wwwroot 192.168.10.0/24(rw,sync,no_root_squash)
:wq
其中客戶機地址可以是主機名、IP地址、IP網段、允許使用、?通配符;權限選項中rw表示允許讀寫(ro爲只讀),sync表示同步寫入,no_root_squash表示當客戶機以root身份訪問時賦予本地root權限,(默認是root_squash,將作爲nfsnobody用戶降權對待)。
如果需要將同一個共享目錄共享給不同的客戶機時,且權限分配不同時,只要使用空格分割多個“客戶機(權限選項)”例如以下操作:
[root@localhost ~]# vi /etc/exports
/opt/wwwroot 192.168.10.30(ro) 192.168.10.40(rw)
:wq
3)、啓動nfs服務程序
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# netstat -anpt | grep rpc
tcp 0 0 0.0.0.0:20048 0.0.0.0:
LISTEN 1592/rpc.mountd
tcp 0 0 0.0.0.0:52291 0.0.0.0: LISTEN 1590/rpc.statd
tcp6 0 0 :::20048 :::
LISTEN 1592/rpc.mountd
tcp6 0 0 :::46238 ::: LISTEN 1590/rpc.statd
4)、查看本機發布的NFS共享目錄
[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
/opt/wwwroot 192.168.10.0/24
2、 在客戶機中訪問NFS共享資源
NFS協議的目標是提供一種網絡文件系統,因此對NFS共享的訪問也是用mount命令進行掛載,對應的文件系統類型爲nfs,既可以手動掛載,也可以使用fstab配置文件實現開機自動掛載。考錄到集羣系統的穩定性,建議使用專用的網絡進行連接。
操作服務器爲:192.168.10.30\40\50\60節點服務器
1)、安裝rpcbind、nfs-utils軟件包,並設置爲開機啓動。
在四臺節點服務器上分別安裝軟件包
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# rm -rf /etc/yum.repos.d/

[root@localhost ~]# vi /etc/yum.repos.d/centos.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
:wq

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl start rpcbind
如果安裝了nfs-utils軟件包,也可以在客戶機中查看指定NFS共享服務器共享了那些目錄
例如:以下命令
[root@localhost ~]# showmount -e 192.168.10.70
Export list for 192.168.10.70:
/opt/wwwroot 192.168.10.0/24
2)、手動掛載NFS共享目錄
以root身份執行mount操作,將NFS服務器共享的/opt/wwwroot目錄掛載到本地目錄的/var/www/html
[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mount 192.168.10.70:/opt/wwwroot /var/www/html
[root@localhost ~]# tail -1 /etc/mtab ##確認掛載結果
192.168.10.70:/opt/wwwroot /var/www/html nfs4 rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.10.30,local_lock=none,addr=192.168.10.70 0 0
[root@localhost ~]# vi /var/www/html/index.html
<h1>my web server<h1>
:wq

查看192.168.10.70 NFS共享服務器的共享路徑
[root@localhost ~]# ls /opt/wwwroot/
index.html ##看到我們剛剛創建的網頁文檔,表示共享成功

3)、fstab自動掛載
修改fstab配置文件,注意文件系統類型爲nfs,掛載參數建議添加”_netdev”(網絡設備)
[root@localhost ~]# vi /etc/fstab
192.168.10.70:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
:wq

構建LVS負載均衡羣集
地址轉換模式(LVS-NAT)
1、 準備案例環境
在NAT模式的羣集中,LVS負載調度器使所有節點的Internet網關服務器,其外網地址10.10.10.10同事也是整個羣集的V IP地址,LVS有兩塊網卡,分別連接內網,外網。
LVS負載均衡羣集
對於LVS負載調度器來說,需要開啓路由轉發規則,以便節點服務器能夠訪問Internet。所有的節點服務器、共享存儲服務器均無語私有網絡內,默認網關爲LVS負載調度器的內網地址(192.168.10.20)
2、 配置負載調度器-在192.168.10.20服務器上操作
重啓服務器並添加一塊新網卡,編輯網絡配置文件。
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=10.10.10.10
PREFIX=24
GATEWAY=10.10.10.1
:wq
[root@localhost ~]# systemctl restart network
1)、開啓路由轉發規則
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
:wq
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
2)配置負載分配策略
[root@localhost ~]# ipvsadm -C ##清除原有策略
[root@localhost ~]# ipvsadm -A -t 10.10.10.10:80 -s rr
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 10.10.10.10:80 -r 192.168.10.60:80 -m -w 1
[root@localhost ~]# ipvsadm-save ##保存策略
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 192.168.10.30:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.40:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.50:http -m -w 1
-a -t localhost.localdomain:http -r 192.168.10.60:http -m -w 1
[root@localhost ~]# systemctl enable ipvsadm
3、置節點服務器-在192.168.10.30-40-50-60上操作
所有的節點服務器均使用相同的配置,包括httpd服務端口,網站文檔內容。在實際上各節點的網站文檔可存放在共享存儲設備中,從而免去同步的過程,但在案例調試階段可以爲各節點採用不同的網頁,以便測試負載均衡效果
1)、安裝httpd,創建測試網頁
[root@localhost ~]# yum -y install nfs-utils rpcbind httpd
[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mount 192.168.10.70:/opt/wwwroot /var/www/html ##測試羣集權重效果可以跳過
[root@localhost ~]# vi /var/www/html/index.html
<h1>LVS負載均衡羣集--測試網頁<h1>
:wq
2)、啓用httpd服務
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
3)、將4臺節點服務器的網關均設置爲192.168.10.20
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
……… ##省略部分
IPADDR=192.168.10.30
PREFIX=24
GATEWAY=192.168.10.20
[root@localhost ~]# systemctl restart network
4、測試LVS羣集
可以安排多臺測試機,網關指向LVS外網地址(10.10.10.10),使用瀏覽器訪問http://10.10.10.10直接可以看到真實服務器提供的網頁文檔,如:4臺服務器的網頁文檔不一樣,一可以試着多刷新幾次,驗證權重效果。
在LVS負載調度器中,通過查看節點狀態可以觀察當前負載分配的情況。
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.10.10:80 rr
-> 192.168.10.30:80 Masq 1 1 0
-> 192.168.10.40:80 Masq 1 0 1
-> 192.168.10.50:80 Masq 1 0 1
-> 192.168.10.60:80 Masq 1 0 1

直接路由模式(LVS-DR)
1、準備案例環境
在DR模式的羣集中,LVS負載調度器作爲羣集的訪問入口,但不作爲網關使用,服務器池中的所有節點都各自介入Internet,發給客戶機的響應數據包不需要經過LVS負載調度器。
這種方式入站,出站訪問數據被分別處理,因此LVS負載調度器和雖有節點都需要配置VIP地址,以便響應對整個羣集的訪問,考錄到數據存儲的安全性,共享存儲設備會放在內部的專用網絡中
LVS負載均衡羣集
2、配置負載調度器
操作192.168.10.20負載調度服務器
1)、配置虛擬IP地址
採用虛接口的方式(ens32:0),爲王珂ens32綁定VIP地址,以便響應羣集訪問
配置結果爲ens32 192.168.10.20、ens33:0 192.168.10.21
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:0
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32:0
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens32:0
DEVICE=ens32:0
ONBOOT=yes
IPADDR=192.168.10.21
PREFIX=24
GATEWAY=192.168.10.1
DNS1=202.106.0.20
:wq
[root@localhost ~]# ifup ens32:0
[root@localhost ~]# ifconfig ens32:0
ens32:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.21 netmask 255.255.255.0 broadcast 192.168.10.255
ether 00:0c:29:2a:25:be txqueuelen 1000 (Ethernet)
2)、調整/proc相應參數
對於DR羣集模式來說,由於LVS負載調度器和各節點需要共用VIP地址,應關閉Linux內核的重定向參數響應。
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens32.send_redirects = 0
:wq
3)、配置負載分配策略
[root@localhost ~]# ipvsadm -C ##清除原有策略
[root@localhost ~]# ipvsadm -A -t 192.168.10.21:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.30:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.40:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.50:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.21:80 -r 192.168.10.60:80 -m -w 1
[root@localhost ~]# ipvsadm-save ##保存策略
[root@localhost ~]# systemctl enable ipvsadm

3、配置節點服務器
使用DR模式時,節點服務器也需要配置VIP地址,並調整內個的ARP響應參數以阻止更新VIP的mac地址,避免發生衝突。除此之外,web服務的配置與NAT方式類似。
1)、配置虛擬IP地址
在把每個節點服務器,同樣需要具有VIP地址:192..168.10.21,但此地址僅用於發送web響應數據包的原地址,並不需要監聽客戶機的訪問請求(改由調度器監聽並分發),因此使用虛接lo:0來承載VIP地址,並未本機添加一條路由路徑,將訪問VIP的數據限制在本地,以避免通信紊亂。
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-lo:0
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.21
NETMASK=255.255.255.255 ##注意子網掩碼全爲1
ONBOOT=yes
NAME=loopback
:wq
[root@localhost ~]# ifup ifcfg-lo:0
[root@localhost ~]# ifconfig lo:0
lo:0: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 192.168.10.21 netmask 255.255.255.255
loop txqueuelen 1 (Local Loopback)
[root@localhost ~]# vi /etc/rc.local
/sbinroute add -host 192.168.10.21 dev lo:0 ##添加進去即可
:wq
[root@localhost ~]# route add -host 192.168.10.21 dev lo:0
2)、調整/proc響應
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
:wq
3)、安裝httpd,創建測試網頁
[root@localhost ~]# yum -y install nfs-utils rpcbind httpd
[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mount 192.168.10.70:/opt/wwwroot /var/www/html ##測試羣集權重效果可以跳過
[root@localhost ~]# vi /var/www/html/index.html
<h1>LVS負載均衡羣集--測試網頁<h1>
:wq
4)、啓用httpd服務
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
重複以上配置在其他節點服務器

4、測試LVS羣集
可以安排多臺測試機,使用瀏覽器從外網直接訪問http://192.168.10.21直接可以看到真實服務器提供的網頁文檔,如:4臺服務器的網頁文檔不一樣,一可以試着多刷新幾次,驗證權重效果。
在LVS負載調度器中,通過查看節點狀態可以觀察當前負載分配的情況。
[root@localhost ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.10.10:80 rr
-> 192.168.10.30:80 Masq 1 1 0
-> 192.168.10.40:80 Masq 1 0 1
-> 192.168.10.50:80 Masq 1 0 1
-> 192.168.10.60:80 Masq 1 0 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章