歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

centos6.4 配置LVS + Piranha 高可用負載均衡

一、LVS介紹

1. 為應用服務器提供高可用性和負載均衡的能力,滿足大量並發訪問的需要 2. 節約成本。替代商業的硬件負載均衡器,為起步型IT公司提供價格低廉的解決方案。理想選擇。

二、 軟件簡介

1. LVS簡介 LVS是一個開源的軟件,由畢業於國防科技大學的章文嵩博士於1998年5月創立,可以    實現LINUX平台下的簡單負載均衡。LVS是Linux Virtual Server的縮寫,意思是Linux虛擬服務器。

   1.1工作原理 LVS由前端的負載均衡器(Load Balancer,LB)和後端的真實服務器(Real Server,   RS)群組成。RS間可通過局域網或廣域網連接。結構對用戶是透明的,用戶只能看見一台作為LB的虛擬服務器(Virtual Server),而看不到提供服務的RS群。 當用戶的請求發往虛擬服務器,LB根據設定的包轉發策略和負載均衡調度算法將用戶請求轉發給RS。RS再將用戶請求結果返回給用戶。同請求包一樣,應答包的返回方式也與包轉發策略有關。

  1.2三層結構 (1) Load Balancer(負載均衡器): 調度器是整個集群系統的前端,負責把客戶請求轉發到Real Server上。

Backup是備份負載調度器,當Master Load Balancer不可用時,有Backup接替,成為Master Load Balancer。
Load Balancer通過Ldirectord監測各Real Server的健康狀況。在Real Server不可用時把它從群中剔除,恢復時重新加入。 (2) Server pool(服務器池):
Server pool是一組運行實際應用服務的機器,比如WEB, Mail, FTP, DNS, Media等等。 (3) Shared Storage(共享存儲):
Shared Storage為所有Real Server提供共享存儲空間和一致的數據內容。 1.3實現模式 1)Virtual Server via NAT2)Virtual Server via IP Tunneling 3)Virtual Server via Direct Routing 1.4 調度算法

  • IPVS的負載調度算法有十種:
  • 輪叫(Round Robin)
  • 加權輪叫(Weighted Round Robin)
  • 最少鏈接(Least Connections)
  • 加權最少鏈接(Weighted Least Connections)
  • 基於局部性的最少鏈接(Locality-Based Least Connections)
  • 帶復制的基於局部性最少鏈接(Locality-Based Least Connections with Replication)
  • 目標地址散列(Destination Hashing )
  • 源地址散列(Source Hashing)
  • 最短期望延遲(Shortest Expected Delay)
  • 無須隊列等待(Never Queue)

2. Piranha簡介 一款類似於keepalived的web配置軟件,優點是方便而而且直觀,在30分鐘內可配置一套基於LVS基礎的負載均衡高可用解決方案。

 2.1 Piranha組件 > Pluse 負責主調度器和備份調度器之間的的健康狀態檢測,heartbest的通信進程。 > Lvsd Lvsd進程活動在LVS路由器中,讀取/etc/sysconfig/ha/lvs.cf,調用ipvsadm來構建和維護IPVS路由表,並為每個配置LVS服務分配nanny。 > Ipvsadm 此服務更新和維護內核中的IPVS路由表,LVS進程通過調用ipvsadm來添加、修改或刪除IPVS路由表。 > Nanny Nanny存在於狀態是Active的的路由器中。通過此進程,活動狀態的調度器可以檢測每個realserver的狀態,同時管理監控負載狀態。每個realserver中定義的每一個服務都有一個獨立的nanny進程管理。 > Send_arp 在活動調度器失效時,備用調度器調用send_arp將虛擬地址切換到備份調度器。並在公網和局域網發送命令關掉lvsd進程,同時啟動備份掉武器的LVSD進程。

三、 配置3.1 方案IP信息列表

名稱                            IP                                       心跳地址

LVS-Active                 192.168.2.167 /24                 10.0.0.1/32

LVS-Backup               192.168.2.165/24                  10.0.0.2/32

Real-Server1              192.168.0.112

Real-Server2               192.168.0.113

LVS-VIP                         192.168.2.168

3.2  配置環境:

Director:      CentOS  6.4

RealServer:  Windows Server Enterprise 2003,CentOS  6.4

配置方式:VS/DR(直接路由)

軟件:ipvsadm+piranha

3.3.1 安裝lvs,Piranha、PHP

#yum install ipvsadm modcluster piranha system‐config‐cluster php php‐cli php‐common

3.3.2 配置Piranha 主LVS服務器

 #vim /etc/sysctl.conf      //修改系統參數 Net.ipv4.ip_forward = 1 //將默認0修改為1,開啟IP轉發        #sysctl –p                       //執行命令即時生效

3.3.2.2 啟動piranha服務

#/etc/init.d/piranha-gui  start    //啟動piranha服務

#/usr/sbin/piranha-passwd      //設置piranha登陸密碼

使用浏覽器打開管理頁面:http://localhost:3636  如圖:

    lvs01

登陸管理頁面用戶名:piranha 密碼:  (執行/usr/sbin/piranha-passwd)後輸入的密碼

lvs02

 

3.3.3 配置主LVS服務器

          點擊 GLOBAL  SETINGS >  Primary server public IP : 192.168.2.167

          Primary server private  IP ( May be blank)   :   10.0.0.1    // 心跳地址

           Use network  type : Direct Routing  // 直接路由方式

           點擊  ACCEPT   //保存

          lvs03

 

3.3.4  配置Backup Server (不部署備用LVS 直接查看3.3.5 )

         點擊 ENABLE 激活冗余服務器

         Redundant server public IP: 192.168.2.165        //備份LVS地址

         Heartbeat interval (seconds):6                          //心跳網絡檢測時間

          Assume dead after(seconds):18                       //死亡轉移時間

          Heartbeat runs on port:539                              //監控的端口

          Monitor NIC links for failures : 不勾選                   //網卡鏈路失效選項

          Syncdaemon: 不勾選                                            //同步守護進程選項

         lvs04

3.3.5    配置虛擬服務器  > 點擊 VIRTUAL SERVER   > ADD

           添加一條心的記錄並編輯

           name :  LVS-VIP                                      //自定義名稱

          Application port  :80                               //監控應用端口號

          Protocol :tcp                                           //監控網絡的協議類型

          Virtual IP Address:192.168.2.168            //虛擬服務器的IP地址

          Virtual IP Network Mask: 255.255.255.255  //虛擬服務掩碼

          Device: p4p1:0                                            //虛擬IP設備宿主 >

          Re-entry time: 15                                         //移除RS後從新加入時間

          Service timeout: 6                                       //RS失效後存活時間

          Scheduling: WRR                                        //調度算法

           Persistence: 30                                           //維持時間

           Persistence Network Mask:255.255.255.255  //掩碼

lvs05

Copyright © Linux教程網 All Rights Reserved