1. 程式人生 > >LVS負載均衡群集--NAT模式

LVS負載均衡群集--NAT模式

mar 負載均衡群集 加載 啟動 ports etc type root share

LVS簡介
1、 在互聯網應用中,隨著站點對硬件性能、響應速度、服務穩定性、數據可靠性等要求越來越高,單臺服務器難以承擔所有的訪問。除了使用價格昂貴的大型機、專用負載分流設備以外,企業多選擇構建群集服務器——通過整合多臺相對廉價的普通服務器,以同一個地址對外提供相對的服務。本篇博客將介紹企業中常用的一種群集技術——LVS。
負載均衡群集:以提高應用系統的響應能力、盡可能處理更多的訪問請求、減少延遲為目標,獲得高並發、高負載(LB)的整體性能。LB的負載分配依賴於主節點的分流算法,將來自客戶機的訪問請求分擔給多個服務器節點,從而緩解整個系統的負載壓力。
2、負載均衡的分層結構:
第一層,負載調度器:這是整個群集系統的唯一入口,對外使用所有服務器共有的VIP地址,也稱為群集IP地址,通常會配置主、備兩臺調度器實現熱備份,當主調度器失效以後平滑替換至備用調度服務器,確保高可用性
第二層:服務器池:也就是提供各種服務的服務器,其中每個節點具有獨立的RIP地址,例如web服務器,ftp服務器,數據庫服務器等,處理調度器發來的請求。
第三層:共享存儲:主要存儲服務器池中應用程序的數據,一般會采用NAS或者SAN設備,為所有節點提供穩定、一致的文件存儲服務,確保整個群集的統一性。

3、本次實驗采用地址轉換(NAT)模式:類似於防火墻的私有網絡結構,負載調度器作為服務器節點的網關。服務器節點使用私有IP,與負載調度器使用同一個物理網絡,安全性較高。采用的算法為輪詢,將接收到的請求按照順序輪流分配給群集中的各節點服務器,均等的對待每一臺服務器。

實驗環境:
CentOS7-1為調度器(雙網卡):內--192.168.10.1 外--12.0.0.1

CentOS7-2為web1: 192.168.10.20
CentOS7-3為web2: 192.168.10.30
Redhat6.5為NFS服務器:192.168.10.10
win7作為客戶端:12.0.0.12

實驗過程:

一、安裝實驗所需軟件包
調度器(LVS):

[root@localhost ~]# yum install -y ipvsadm

web節點服務器:

[root@localhost ~]# yum install -y httpd
[root@localhost ~]# systemctl start httpd.service 
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0 

NFS(存儲服務):

[root@localhost ~]# yum install -y nfs rpcbind
[root@localhost ~]# service iptables stop
[root@localhost ~]# setenforce 0

二、切換網卡為僅主機模式,此處註意,需要安裝好軟件包再進行網卡切換,否則centos7無法加載yum倉庫

調度器(LVS):

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens33

技術分享圖片

[root@localhost network-scripts]#  vim ifcfg-ens36

技術分享圖片

[root@localhost ~]# service network restart

技術分享圖片
開啟調度器的路由功能

vim /etc/sysctl.conf 
        net.ipv4.ip_forward = 1
sysctl -p               

web節點服務器、NFS也進行同樣網卡切換操作,此處不再贅述。
配置完成後即可測試互聯互通

三、NFS存儲服務操作

NFS服務器:192.168.10.10

[root@localhost ~]# service rpcbind start
[root@localhost ~]# service nfs start
[root@localhost ~]# vim /etc/exports           #編輯存儲模塊
       /usr/share *(ro,sync)
      /opt/benet 192.168.10.0/24(rw,sync)
      /opt/accp 192.168.10.0/24(rw,sync)
[root@localhost ~]# exports -rv
[root@localhost ~]# mkdir /opt/benet /opt/accp        建立目錄
[root@localhost ~]# chmod 777 /opt/benet /opt/accp

web1:提供掛載點,設置首頁

[root@localhost ~]# showmount -e 192.168.10.10  #查看是否提供存儲空間
[root@localhost ~]# mount.nfs 192.168.10.10:/opt/benet /var/www/html
[root@localhost ~]# echo "this is benet" > /var/www/html/index.html   #首頁設置

技術分享圖片

web2:提供掛載點,設置首頁

[root@localhost ~]# showmount -e 192.168.10.10  #查看是否提供存儲空間
[root@localhost ~]# mount.nfs 192.168.10.10:/opt/accp /var/www/html
[root@localhost ~]# echo "this is accp" > /var/www/html/index.html  #首頁設置

技術分享圖片

客戶機檢測:
技術分享圖片
技術分享圖片

四、負載調度設置---調度器

防火墻SNAT裝換配置:

[root@localhost ~]# iptables -F                #清空防火墻列表
[root@localhost ~]# iptables -t nat -F      #清空NAT表
[root@localhost ~]#iptables -t nat -A POSTROUTING -o ens36 -s 192.168.10.0/24 -j SNAT --to-source 12.0.0.1     #防火墻SNAT轉換設置

負載調度算法:

[root@localhost ~]# ipvsadm --save > /etc/sysconfig/ipvsadm   #保存策略,此條不輸入將無法啟動服務
[root@localhost ~]# systemctl start ipvsadm.service      #啟動服務
[root@localhost ~]# vim /opt/nat.sh

技術分享圖片

[root@localhost ~]# source /opt/nat.sh               #執行腳本
[root@localhost ~]# systemctl restart ipvsadm.service       #重啟服務

技術分享圖片
技術分享圖片

[root@localhost ~]# ipvsadm -ln
在LVS負載調度器中,通過查看節點狀態可以觀察當前負載分配情況,對於輪詢算法來說,每個節點所獲得連接負荷應大致相同。

技術分享圖片

LVS負載均衡群集--NAT模式