天天看點

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

文章目錄

  • 一、群集的含義
  • 二、群集可分為三種
  • 三、負載均衡群集架構
  • 四、負載均衡群集工作模式分析
  • 五、三種負載排程工作模式
    • (一)、NAT模式
    • (二)、TUN模式
    • (三)、DR模式
  • 六、LVS虛拟伺服器
  • 七、LVS的負載排程算法
    • 1、輪詢(Round Robin)
    • 2、權重輪詢 (Weighted Round Robin)
    • 3、最少連接配接 (Least Connections )
    • 4、權重最少連接配接(Weighted L east Connections )
  • 八、ipvsadm工具
  • 九、NAT模式LVS負載均衡群集部署
      • 環境配置
    • 2、配置節點伺服器
      • 3、配置負載排程器
      • (1)配置SNAT轉發規則
      • (2)加載LVS核心子產品
      • (3)安裝ipvsadm 管理工具
      • (4)配置負載配置設定政策(NAT模式隻要在伺服器上配置,節點伺服器不需要特殊配置)
      • 4、測試效果

一、群集的含義

叢集、群集

由多台主機構成,但對外,隻表現為一個整體,隻提供一個通路入口(域名或IP),相當于一台大型計算機。

1、群集存在的必要

網際網路應用中,随着站點對硬體性能、響應速度、服務穩定性、資料可靠性等要求越來越高,單台伺服器無法滿足負載均衡及高可用的需求。

2、解決方法

1、使用價格昂貴的小型機、大型機。

2、使用多台相對廉價的普通伺服器建構服務群集。

通過整合多台伺服器,使用LVS來達到伺服器高可用和負載均衡,并于同一個IP位址對外提供相同服務。

這就是企業中常用的一種群集技術——LVS(Linux Virtual Server ,Linux虛拟伺服器)。

二、群集可分為三種

根據叢集針對的目标差異,可分為三種

1、負載均衡群集

2、高可用群集

3、高性能群集

1、負載均衡群集(Load Balance Cluster)

1、提高應用系統的響應能力、盡可能處理更多的通路請求、減少延遲為目标,獲得高并發、高負載(LB)的整體性能。

2、LB的負載配置設定依賴于主節點的分流算法,将來自客戶機的通路請求分擔給多個伺服器節點,進而緩解整個系統的負載。

2、高可用群集 (High Availability Cluster)

1、提高應用系統的可靠性、盡可能地減少中斷時間為目标,確定服務的連續性,達到高可用(HA) 的容錯效果。

2、HA的工作方式包括雙工和主從兩種模式,雙工即所有節點同時線上;主從則隻有主節點線上,但當出現故障時從節點能自動切換為主節點。

例如:“故障切換”、“雙機熱備” 等。

3、高性能運算群集(High Performance Computer Cluster)

1、以提高應用系統的CPU運算速度、擴充硬體資源和分析能力為目标,獲得相當于大型、超級計算機的高性能運算(HPC)能力。

2、高性能依賴于"分布式運算”、“并行計算” , 通過專用硬體和軟體将多個伺服器的CPU、記憶體等資源整合在一起,實作隻有大型、超級計算機才具備的計算能力。例如,“雲計算”、“網格計算”等。

三、負載均衡群集架構

負載均衡的結構

第一層,負載排程器(Load Balancer或Director)

通路整個群集系統的唯一入口, 對外使用所有伺服器共有的VIP位址,也稱為群集IP位址。通常會配置主、備兩台排程器實作熱備份,當主排程器失效以後能夠平滑替換至備用排程器,確定高可用性。

第二層,伺服器池(Server Pool)

群集所提供的應用服務、由伺服器池承擔,其中每個節點具有獨立的RIP位址(真實IP),隻處理排程器分發過來的客戶機請求。當某個節點暫時失效時,負載排程器的容錯機制會将其隔離,等待錯誤排除以後再重新納入伺服器池。

第三層,共享存儲(Share Storage)

為伺服器池中的所有節點提供穩定、一緻的檔案存取服務, 確定整個群集的統一性共享存儲可以使用NAS裝置,或者提供NFS共享服務的專用伺服器。

四、負載均衡群集工作模式分析

1、負載均衡群集是目前企業用得最多的群集類型

2、群集的負載排程技術有3種工作模式

●位址轉換(NAT模式)

●IP隧道 (TUN模式)

●直接路由(DR模式)

五、三種負載排程工作模式

(一)、NAT模式

位址轉換

● Network Address Translation,簡稱NAT模式

● 類似于防火牆的私有網絡結構,負載排程器作為所有伺服器節點的網關,即作為客戶機的通路入口,也是各節點回應客戶機的通路出口

● 伺服器節點使用私有IP位址,與負載排程器位于同一個實體網絡,安全性要優于其他兩種方式

(二)、TUN模式

IP隧道

● IP Tunnel,簡稱TUN模式

● 采用開放式的網絡結構,負載排程器僅作為客戶機的通路入口,各節點通過各自的Internet連接配接直接回應客戶機,而不再經過負載排程器

● 伺服器節點分散在網際網路中的不同位置,具有獨立的公網IP位址,通過專用IP隧道與負載排程器互相通信

(三)、DR模式

直接路由

● Direct Routing,簡稱DR模式

● 采用半開放式的網絡結構,與TUN模式的結構類似,但各節點并不是分散在各地,而是與排程器位于同一個實體網絡

● 負載排程器與各節點伺服器通過本地網絡連接配接,不需要建立專用的IP隧道

六、LVS虛拟伺服器

1、Linux Virtual Server

● 針對Linux核心開發的負載均衡解決方案

● 1998年5月,由我國的章文嵩博士建立

● 官方網站: http://www.linuxvirtualserver.orgl

● LVS 實際上相當于基于IP位址的虛拟化應用, 為基于IP位址和内容請求分發的負載均衡提出了一種高效的解決方法

2、LVS現在已成為Linux核心的一部分,預設編譯為ip_ vs子產品,必要時能夠自動調用。在CentOS 7系統中,以下操作可以手動加載ip_ vs子產品,并檢視目前系統中ip_ vs子產品的版本資訊。

modprobe ip_vs
cat /proc/net/ip_vs    #确認核心對LVS的支援
           

七、LVS的負載排程算法

1、輪詢(Round Robin)

● 将收到的通路請求按照順序輪流配置設定給群集中的各節點(真實伺服器) ,均等地對待每一台伺服器 ,而不管伺服器實際的連接配接數和系統負載

2、權重輪詢 (Weighted Round Robin)

● 根據排程器設定的權重值來分發請求,權重值高的節點優先獲得任務,配置設定的請求數越多

● 保證性能強的伺服器承擔更多的通路流量

3、最少連接配接 (Least Connections )

● 根據真實伺服器已建立的連接配接數進行配置設定,将收到的通路請求優先配置設定給連接配接數最少的節點

4、權重最少連接配接(Weighted L east Connections )

● 在伺服器節點的性能差異較大時,可以為真實伺服器自動調整權重

● 性能較高的節點将承擔更大比例的活動連接配接負載

八、ipvsadm工具

-A 添加虛拟伺服器

-D 删除整個虛拟伺服器

-s 指定負載排程算法(輪詢:rr、權重輪詢:wrr、最少連接配接:lc、權重最少連接配接:wlc)

-a 表示添加真實伺服器(節點伺服器)

-d 删除某一個節點

-t 指定 VIP位址及 TCP端口

-r 指定 RIP位址及 TCP端口

-m 表示使用 NAT群集模式

-g 表示使用 DR模式

-i 表示使用 TUN模式

-w 設定權重(權重為 0 時表示暫停節點)

-p 60 表示保持長連接配接60秒

-l 清單檢視 LVS 虛拟伺服器(預設為檢視所有)

-n 以數字形式顯示位址、端口等資訊,常與“-l”選項組合使用。ipvsadm -ln

九、NAT模式LVS負載均衡群集部署

LVS排程器作為Web 伺服器池的網關,LVS具有兩塊網卡,分别連接配接内外網,使用輪詢(rr)排程算法

環境配置

負載均衡器centos7 内網192.168.206.12 外網12.0.0.1

NFS伺服器centos7 192.168.206.13

web節點1centos7 192.168.206.14

web節點2centos7 192.168.206.15

用戶端Windows10 12.0.0.12

1、部署共享存儲(NFS伺服器:192.168.184.206.13)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind

systemctl start rpcbind.service
systemctl start nfs.service

systemctl enable nfs.service
systemctl enable rpcbind.service

mkdir /opt/xiaoxiao
mkdir /opt/baibai

chmod 777 /opt/xiaoxiao
chmod 777 /opt/baibai

vim /etc/exports
/usr/share *(ro,sync)
/opt/lic 192.168.206.0/24(rw,sync)
/opt/kiki 192.168.206.0/24(rw,sync)

exportfs -rv
           
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

[[email protected] ~]# vim /etc/exports

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

2、配置節點伺服器

(192.168.206.14、192.168.206.15)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum install httpd -y
systemctl start httpd.service
systemctl enable httpd.service

yum -y install nfs-utils rpcbind
showmount -e 192.168.206.13

systemctl start rpcbind
systemctl enable rpcbind
           
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
mount.nfs 192.168.184.13:/opt/lic /var/www/html
echo 'this is lic web!' > /var/www/html/index.html
           

[[email protected]lhost ~]# mount 192.168.206.13:/opt/xiaoxiao /var/www/html/

[[email protected] ~]# df -hT

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

在預設首頁檔案中輸入内容,因為rw可讀寫,sync同步,是以再去nfs-service中檢視一下

[[email protected] ~]# echo `this is xiaobai` >/var/www/html/index.html
           

回到nfs 服務中可以看見我們之前注入的内容

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[[email protected] ~]# systemctl restart network

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

Web-2(192.168.206.15)

mount.nfs 192.168.184.20:/opt/kiki /var/www/html
echo 'this is kiki web!' > /var/www/html/index.html
           
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[[email protected] ~]# systemctl restart network

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

3、配置負載排程器

(内網關 ens33:192.168.206.13,外網關 ens37:12.0.0.1)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
           

(1)配置SNAT轉發規則

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
或
echo '1' > /proc/sys/net/ipv4/ip_forward
sysctl -p

iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.206.0/24 -o ens37 -j SNAT --to-source 12.0.0.1
           

(2)加載LVS核心子產品

modprobe ip_vs					#加載 ip_vs子產品
cat /proc/net/ip_vs				#檢視 ip_vs版本資訊
           

(3)安裝ipvsadm 管理工具

yum -y install ipvsadm

啟動服務前須儲存負載配置設定政策

ipvsadm-save > /etc/sysconfig/ipvsadm
或
ipvsadm --save > /etc/sysconfig/ipvsadm

systemctl start ipvsadm.service
           

(4)配置負載配置設定政策(NAT模式隻要在伺服器上配置,節點伺服器不需要特殊配置)

ipvsadm -C 					#清除原有政策
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.184.30:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.184.40:80 -m
ipvsadm						#啟用政策

ipvsadm -ln					#檢視節點狀态,Masq代表 NAT模式
ipvsadm-save > /etc/sysconfig/ipvsadm						#儲存政策
           
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
  • uuid跟dns要注釋掉
    LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
    重新開機網卡,關掉防火牆
    LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
    [[email protected] network-scripts]# vim /etc/sysctl.conf #添加IP轉發功能
    LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
    讀取修改後的配置
    LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
    LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
    LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

[[email protected] network-scripts]# iptables -t nat -L

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署
LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署

4、測試效果

在一台IP為12.0.0.12的客戶機使用浏覽器通路 http://12.0.0.1/ ,不斷重新整理浏覽器測試負載均衡效果,重新整理間隔需長點。

LVS負載均衡群集概念(nat一、群集的含義二、群集可分為三種三、負載均衡群集架構四、負載均衡群集工作模式分析五、三種負載排程工作模式六、LVS虛拟伺服器七、LVS的負載排程算法八、ipvsadm工具九、NAT模式LVS負載均衡群集部署