歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> centos6.4 配置LVS + Piranha 高可用負載均衡

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

日期:2017/3/2 10:02:52   编辑:關於Linux

一、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