Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

CentOS 6.4 部署 LVS + Piranha 高可用負載均衡叢集:Web 介面配置全流程

編輯:Linux 教學

架構設計

角色主機名公網 IP (eth0)心跳 IP (eth1)備註
Active Directorlvs-active192.168.2.167/2410.0.0.1/32主調度器
Backup Directorlvs-backup192.168.2.165/2410.0.0.2/32備用調度器
Real Server 1rs1192.168.0.112-Web 伺服器
Real Server 2rs2192.168.0.113-Web 伺服器
VIP-192.168.2.168/32-虛擬服務 IP

轉發模式: Direct Routing (DR) — 效能最高、回應繞過 Director

軟體安裝

yum install -y ipvsadm modcluster piranha system-config-cluster php php-cli php-common
  • piranha:Web 管理介面 (含 pulse、lvsd、nanny、send_arp)
  • ipvsadm:核心規則操作工具
  • php:Piranha Web GUI 依賴

核心參數調整

# 開啟 IP 轉發
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

啟動 Piranha 服務與設定密碼

service piranha-gui start
/usr/sbin/piranha-passwd
# 輸入兩次密碼,預設使用者:piranha

Web 介面配置步驟 (https://Director_IP:3636)

1. GLOBAL SETTINGS

Global Settings

  • Primary server public IP: 192.168.2.167
  • Primary server private IP: 10.0.0.1 (心跳專用)
  • Use network type: Direct Routing
  • 點擊 ACCEPT

2. REDUNDANCY (啟用 Backup Director)

Redundancy Settings

  • 勾選 ENABLE
  • Redundant server public IP: 192.168.2.165
  • Heartbeat interval: 6 秒
  • Assume dead after: 18 秒 (3 個間隔)
  • Heartbeat port: 539 (UDP)
  • 取消勾選 Monitor NIC links、Syncdaemon

3. VIRTUAL SERVER (建立 HTTP 服務)

Virtual Server Config

  • 點擊 ADD → 編輯新記錄
  • Name: LVS-VIP
  • Application port: 80
  • Protocol: tcp
  • Virtual IP Address: 192.168.2.168
  • Virtual IP Network Mask: 255.255.255.255 (單一 IP)
  • Device: eth0:0 (VIP 綁定虛擬介面)
  • Re-entry time: 15 秒
  • Service timeout: 6 秒
  • Scheduling: WRR (Weighted Round Robin)
  • Persistence: 30 秒
  • Persistence Network Mask: 255.255.255.255

4. REAL SERVER (新增後端節點)

  • 於 Virtual Server 詳細頁點擊 ADD 真實伺服器
  • RS1: 192.168.0.112:80、Weight: 1、Active: ON
  • RS2: 192.168.0.113:80、Weight: 1、Active: ON

Real Server 端 DR 模式必要配置

# 兩台 RS 皆執行
# 1. 綁定 VIP 於 lo:0
ifconfig lo:0 192.168.2.168 netmask 255.255.255.255 up
# 2. 關閉 ARP 回應 (關鍵!避免 IP 衝突)
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# 3. 永久生效寫入 /etc/sysctl.conf
# 4. 確認預設閘道指向內網閘道 (非 VIP)
route add default gw 192.168.0.1

Piranha 核心組件架構

  • pulse: 心跳監控,Active/Backup 狀態同步
  • lvsd: 讀取 /etc/sysconfig/ha/lvs.cf,呼叫 ipvsadm 維護核心 IPVS 表
  • nanny: 每個 Real Server 服務一個進程,定期健康檢查、剔除/恢復節點
  • send_arp: 切換時發送免費 ARP 更新交換機 MAC 表、關閉舊 lvsd 啟動新 lvsd

驗證與測試

  1. 瀏覽器訪問 https://192.168.2.168 應輪詢顯示 RS1/RS2 頁面
  2. Director 上執行 ipvsadm -L -n 確認規則生效
  3. 關閉 Active Director 網路/電源,觀察 Backup 接管 (約 18 秒)
  4. 關閉 RS1,觀察 nanny 剔除、流量全導向 RS2

生產環境建議

  • 心跳網路採用專用交換機/直連纜線,避免業務網路擁塞影響判斷
  • 搭配 keepalived (VRRP) 替代 Piranha pulse,功能更豐富、社群更活躍
  • Real Server 健康檢查升級為應用層檢查 (HTTP GET /healthz),而非單純 TCP 連線
  • 監控整合:Zabbix 監控 ipvsadm -L --stats、連線數、流入/出流量
Copyright © Windows教程網 All Rights Reserved