LVS負載均衡羣集(LVS-NAT)

負載均衡集羣指使用多臺提供相同服務的服務器組成集羣系統,提高服務的併發處理能力。負載均衡集羣的前端使用一個調度器,將客戶端請求平均分配到後端的服務器中,同時調度器可能還具有後端服務器狀態檢測的功能,將故障的服務器自動下線,使得集羣具有一定的容錯能力。集羣擁有三種類型,負載均衡羣集、高可用集羣、高性能運算羣集。

在典型的負載均衡羣集中,包括三個層次的組件。

  • 第一層,負載調度器:訪問整個羣集系統的唯一入口,對外使用所有的服務器共有的VIP(Virtual IP 虛擬IP)地址,也稱爲羣集IP地址。通常會配置主、備兩臺調度器實現熱備份,當主調度器失效以後平滑替換至備用調度器,確保高可用性。
  • 第二層,服務器池:羣集所提供的應用服務由服務器池承擔,例如HTTP、FTP。其中每個節點具有獨立的RIP(Real IP,真實IP)地址,只處理調度器分發過來的客戶請求。當某個節點暫時失效時,負載調度器的容錯機制會將其隔離,等待錯誤排除以後再重新納入服務器池。
  • 第三層,共享存儲:爲服務器池中的所有節點提供穩定、一致的穩點存儲服務,確保整個羣集的統一性。
    關於羣集的負載調度技術,可以基於IP、端口、內容等進行分發,其中基於IP的負載調度是效率最高的。基於負載均衡模式中,常見的有地址轉換(NAT)、IP隧道(TUN)、直接路由(DR)三種工作模式。NAT方式只需要一個公網IP地址,從而成爲最易用的一種負載均衡模式,安全性也較好。

構建LVS負載均衡羣集,擁有兩種工作模式——LVS-NAT和LVS-DR。本篇主要講解LVS-NAT模式。

地址轉換模式(LVS-NAT)

環境準備

網卡模式爲僅主機模式,在centos7中,軟件的安裝方式多爲在線安裝,這裏我們可以事先將所需的軟件安裝好之後再更改網卡模式及IP地址。

主機 操作系統 IP地址 主要軟件
調度器,網關 CentOS-7-x86_64 192.168.100.1/12.0.0.1 ipvsadm
Apache網站服務器 CentOS-7-x86_64 192.168.100.110 httpd
Apache網站服務器 CentOS-7-x86_64 192.168.100.120 httpd
NFS共享存儲服務 CentOS-7-x86_64 192.168.100.130 nfs-utils、rpcbind

LVS負載均衡羣集(LVS-NAT)

配置NFS

  • 安裝兩個軟件包nfs-utils、rpcbind,在centos7系統中一般都默認安裝有,如果沒有使用yum安裝即可。
  • 關閉防火牆及selinux防火牆
    systemctl stop firewalld
    setenforce 0
  • 開啓服務,編輯訪問規則(/etc/exports)
    systemctl start nfs
    systemctl start rpcbind
    /usr/share *(ro,sync)
    /opt/benet 192.168.100.0/24(rw,sync)
    /opt/accp 192.168.100.0/24(rw,sync)

    LVS負載均衡羣集(LVS-NAT)
    LVS負載均衡羣集(LVS-NAT)
    LVS負載均衡羣集(LVS-NAT)
    在創建完成站點目錄之後,文件夾的權限也要可讀寫
    LVS負載均衡羣集(LVS-NAT)

  • 發佈共享
    exportfs -rv

    LVS負載均衡羣集(LVS-NAT)

    配置節點服務器

  • 安裝httpd軟件,啓動服務
    systemctl start httpd
  • 查看共享存儲,並掛載到/var/www/html/下
    LVS負載均衡羣集(LVS-NAT)
  • 創建測試網頁(/var/www/html/)
  • 關閉防火牆及selinux防火牆
    systemctl stop firewalld
    setenforce 0

    節點2服務器的創建方式和節點1大同小異,區別在於掛載的共享存儲路徑,首頁網站內容也要有所區別,便於實驗分析。

    配置負載調度器

  • 配置雙網卡內網ens33:192.168.100.1 外網ens36:12.0.0.1
    LVS負載均衡羣集(LVS-NAT)
  • 開啓路由轉發功能,在(/etc/sysctl.conf)配置文件中添加開啓路由轉發的命令
    net.ipv4.ip_forward = 1
    sysctl -p      //加載,立即生效

    LVS負載均衡羣集(LVS-NAT)

  • 配置SNAT轉發規則
    在配置規則之前,首先清空防火牆規則,然後再添加新的規則
    iptables -t nat -F  //清空nat表規則
    iptables -F         //清空轉發表規則
    iptables -t nat -A POSTROUTING -o ens36 -s 192.168.100/24 -j SNAT --to-source 12.0.0.1   //添加新的規則

    由於是在防火牆內添加規則,所以防火牆不需要關閉,但是selinux防火牆仍需關閉

  • 配置負載分配策略
    1. 加載LVS內核模塊
      modprobe ip_vs
      cat /proc/net/ip_vs

      LVS負載均衡羣集(LVS-NAT)

    2. 安裝ipvsadm管理軟件,同時啓動服務,服務的啓動和以往的版本有所不同,在服務啓動前需將管理規則進行保存,然後再啓動服務
      ipvsadm --save > /etc/sysconfig/ipvsadm
      systemctl start ipvsadm

      LVS負載均衡羣集(LVS-NAT)
      3.編寫一個腳本文件(腳本可在任意目錄編寫),實現負載策略分配

      ipvsadm -C                                          //清楚緩存
      ipvsadm -A -t 12.0.0.1:80 -s rr                     //添加虛擬服務器
      ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.110:80 -m
      ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.120:80 -m
      ipvsadm                                             //啓用

      LVS負載均衡羣集(LVS-NAT)

      測試LVS羣集

      使用客戶機訪問http://12.0.0.1/,可以看到由真實服務器提供的網頁內容——如果個節點的網頁不同,則多次刷新的網頁也會不同。
      LVS負載均衡羣集(LVS-NAT)
      LVS負載均衡羣集(LVS-NAT)

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