CentOS7Linux中服務器LVS負載均衡、高可用集群搭建(NAT、DR);


集群

聲明

文檔不斷更新中...

集群概念

一組相互獨立又相互依賴的,通過網絡連接的由計算機組,以單一的模式進行管理,為對方提供服務,對於用戶來說,用戶會認為對方是一個服務。

  • DIP:用來和后端服務器進行數據交互的IP

  • CIP:客戶端的IP

  • VIP:是域名解析的IP,是集群對外的公網IP

  • RIP:真實服務器的IP

  • 節點:一組計算機組中的一台就是集群的一個節點。

集群特性

可伸縮性、可靠性、可管理性。

Web服務器並發相應瓶頸

  • 向上擴展/縱向擴展:加CPU、加內存、加帶寬、加SSD。
  • 向外擴展/橫向擴展:加服務器,使用多台服務器同時為用戶提供服務。

向外擴展:就是集群

集群的分類

  • 負載均衡(Load Balance)集群,簡稱LB
  • 高可用(High Availability)集群,簡稱HA
  • 高性能(High Perfermance)集群,簡稱HPC

LB實現方法:

  • 硬件:-F5負載均衡器
  • 軟件:-LVS(4層,傳輸層)、Nginx(7層,應用層)

LVS集群

LVS是Linux Virtual Server的縮寫,即Linux虛擬服務器,是一個虛擬的服務器集群系統。根據iptables的實現開發的,使用方法和iptables類似。

官網地址:http://www.linuxvirtualserver.org/

中文站點: http://zh.linuxvirtualserver.org/

負載調度器

分發器(Load Balancer Director):整個集群對外的最前端,負責接收用戶請求,並且根據自己的調度算法,將請求轉發到后端的真實服務器上的動作,而用戶認為服務是來自一個IP地址(虛擬地址VIP)上的。

服務器池

Server Pool:真正為用戶提供服務的服務器,每一台就是一台RS(Real Server),執行的服務有Web, Mail, FTP, DNS等。

共享存儲

Shared Storaged為RS保持相同內容,提供數據的一致性,也就是說,它為服務器池提供一個共享的存儲區,這樣很容易使得服務器池擁有相同的內容,提供相同的服務。

LVS負載均衡的三種模式

  • NAT(網絡地址映射)
  • IP Tunneling(IP隧道)
  • Direct Routing(直接路由)

不同的轉發模式決定了不同的Cluster(群)的網絡結構。

NAT:網絡地址轉換

DNAT:目標地址轉換,改變的是目標地址

SNAT:源地址轉換,改變的是原地址

LVS-NAT:使用的就是SNAT和DNAT完成包的轉發。

NAT模式工作原理:

客戶端訪問調度器時,調度器通往網絡地址轉換,重寫請求報文的目標地址,根據預設的調度算法,將請求分發給后端RS服務器,RS服務器的相應報文通過調度器時,報文的源地址被重寫,再返回給用戶,完成整個負載調度過程。

優點

NAT方式支持任何操作系統,以及私有網絡,並且只需要一個Internet IP 地址。

缺點

執行NAT每次需要重寫包,有一定的延遲,對負載均衡器的壓力大。

搭建LVS-NAT集群

節點聲明:

配置LVS-NAT集群:
harry63配置成分發器:
1、打開路由轉發功能
[root@harry63 ~]# vim /etc/sysctl.conf  
改:net.ipv4.ip_forward = 0
為:net.ipv4.ip_forward = 1
讓配置生效:
[root@harry63 ~]# sysctl -p

2、配置網絡環境:
添加一個網卡(需要兩張網卡), 配置成以下網絡環境:
eth0  192.168.1.63  模式:br0    模擬公網
eth1  192.168.2.63  模式:vmnet4    模擬內網

Director分發器:需不需要開啟80(服務的)端口  ?

1.4.5  安裝: LVS管理工具: ipvsadmin
 [root@harry63 Packages]# pwd
/mnt/Packages
[root@harry63 Packages]# rpm -ivh ipvsadm-1.25-9.el6.x86_64.rpm
或:
yum install ipvsadm  
 
1.4.6  使用ipvsadm命令設置規則: 
[root@harry63 ~]# ipvsadm -A -t 192.168.1.63:80 -s rr       rr代表輪循  
選項:
-A 添加虛擬服務器
 -t 表示TCP的服務  VIP:PORT
 -s 指定調度算法  rr表示round-robin 輪循

[root@harry63 ~]#  ipvsadm -a -t 192.168.1.63:80 -r 192.168.2.64 -m
[root@harry63 ~]#  ipvsadm -a -t 192.168.1.63:80 -r 192.168.2.62 -m
選項:
 -a 表示添加real server的地址
 -r 指定real server的IP地址
 -m 表示masquerade 也就是NAT方式的LVS

1.4.7  查看:
Ipvsadm命令,用於配置及查看內核IPVS表和算法的工具,類似於iptables
[root@harry63 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.63:80 rr
  -> 192.168.2.62:80              Masq    1      0          0         
  -> 192.168.2.64:80              Masq    1      0          0        

1.4.8  保存配置或規則
[root@harry63 ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
或ipvsadm -S    保存以上的配置
Saving IPVS table to /etc/sysconfig/ipvsadm:           [確定]

1.4.9  配置真實服務器
RealServer:在harry62和harry64上面配置:
准備:
1、配置IP:REAL SERVER自己的網絡相關信息配置成如下:
harry62: eth0: vmnet4 : 192.168.2.62  網關: 192.168.2.63
harry64: eth0: vmnet4 : 192.168.2.64  網關: 192.168.2.63

2、配置harry64為realserver, 並啟web服務
[root@harry64 ~]# yum install -y httpd
[root@harry64 ~]# systemctl restart httpd
[root@harry64 ~]# echo "192.168.2.64" > /var/www/html/index.html    #(實驗期間,各個服務器的頁面不同)

3、配置harry62為realserver, 並啟web服務
[root@harry62 ~]# yum install -y httpd
[root@harry62 ~]# systemctl restart httpd
[root@harry62 ~]# echo "192.168.2.62" > /var/www/html/index.html    #(實驗期間,各個服務器的頁面不同)

1.4.10  測試:
在harry63上測試:
[root@harry63 ~]# yum install elinks   

測試realserver :
[root@harry63 ~]# elinks 192.168.2.64
[root@harry63 ~]# elinks 192.168.2.64 --dump
   192.168.2.64
[root@harry63 ~]# elinks 192.168.2.62 --dump
   192.168.2.62

1.4.11  測試VIP:
[root@harry63 ~]# elinks 192.168.1.63 --dump
   192.168.2.62

訪問: 在物理上打開瀏覽器訪問: 每按F5刷新一次,就會變換一個頁面。
至此,NAT模式集群配置完畢。

IP Tunneling(IP隧道)

Director(分發器)分配請求到不同的Real Server,Real Server處理請求后直接回應用戶。

條件

服務器必須擁有正式的IP地址用於與客戶機直接通信,並且所有服務器必須支持IP隧道協議。

優點

提高了調度器的處理能力,允許Real Server在任何LAN或者WAN上運行,允許異地部署,容錯。

Direct Routing(直接路由)

與IP Tunneling類似,負載均衡器僅處理一半的連接,同樣增加了系統的可伸縮性。

1)基於mac的數據報文轉發, 是效率最好的, 但是是根據交換機的MAC地址表來實現的

2)2層設備不具有路由功能, 那么廣播也就不具有跨路由的功能, 所有要實現mac地址廣播, 必須在同一物理網段

3):vlan具有隔離廣播的功能, 所有要能處理mac地址廣播, 就應該在同一個VLAN中

原理

  • client向目標vip發出請求,Director接收。
  • Director分發器根據負載均衡算法選擇一台active的realserver,將RIP網卡所在的mac地址作為目標mac地址發送到局域網。
  • realserver在局域網中接收到這個幀。
  • 如果client與VS在同一網段,那么就直接接收到回復報文,如果跨網段,則通過路由器/gateway經由Internet返回給用戶。

條件

  • 所有設備應該在同一物理網段中
  • 所有設備應該在同一廣播域中

優點

沒有IP封裝的開銷。基於2層的數據報文轉發,要比基於3層的網絡轉發效率高。在LVS的所有模式中,效率最好。

缺點

所有服務器都必須在一個物理網段。

全部服務器都為公網IP地址,可以直接和客戶端通信。

DR集群搭建

待更新...
環境聲明
DIP 192.168.0.64
VIP 192.168.0.46
RIP1: 192.168.0.66
RIP2: 192.168.0.67

# 配置虛擬IP

負載均衡

LB負載均衡分為兩類:LVS(四層)和nginx或者haproxy


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM