XenCenter GUI 僅支援雙網卡 Bond(Active-Active / Active-Standby),生產環境常需 3/4 口聚合、LACP (802.3ad) 或 balance-slb 模式以榨乾頻寬與高可用。本文完整演示 CLI 手動建立 Network 對象 → 查詢 PIF UUID → bond-create 綁定 → 驗證與故障注入 全流程,並解析 Bond 模式選型、VLAN 疊加、MTU 9000 巨型幀等進階配置。
| 對象 | 角色 | 關鍵屬性 | ||
|---|---|---|---|---|
| PIF (Physical Interface) | 物理網卡實體 | UUID、device (eth0/eth1)、MAC、速率、MTU | ||
| VIF (Virtual Interface) | VM 虛擬網卡 | 連接 Network、MAC、QoS | ||
| Network | 二層廣播域邏輯容器 | name-label、bridge (xenbrX)、VLAN tag、MTU、purpose | ||
| Bond | PIF 聚合後的邏輯介面 | master PIF、slave PIFs、mode、primary、MTU |
| 模式 | XenServer 參數 | 特點 | 適用場景 | 交換機配置 |
|---|---|---|---|---|
| Active-Standby (Active-Backup) | active-backup | 單活、故障切換、無頻寬疊加 | 高可用優先、無交換機聚合支援 | 無需配置 |
| Active-Active (Balance-SLB) | balance-slb | 負載均衡、基於源 MAC 分流、無需交換機支援 | 多 VM、流量均勻、簡單部署 | 無需配置 |
| LACP (802.3ad) | lacp (XS 7.1+ / XCP-ng 8.2+) | 動態協商、雙向負載、支援故障快速檢測 | 高併發、需頻寬疊加、交換機支援 LACP | 配置 Port-Channel / LAGG |
| 坑點 | 原因 | 規避 |
|---|---|---|
| Bond 建立後成員 PIF 消失 | 正常行為:成員 PIF 解除原 Network 關聯 | 理解模型,勿嘗試將成員 PIF 另行掛載 |
| MTU 不一致導致巨型幀丟包 | Network/PIF/Bond/交換機端 MTU 不一致 | 統一設 9000:Network 建立時指定,PIF 可用 xe pif-param-set uuid=... mtu=9000 |
| LACP 模式不可選 | XenServer 版本過舊 | 升級至 XS 7.1+ / XCP-ng 8.2+ |
| balance-slb 單流程無法跑滿多張卡 | 基於源 MAC 分流,單一 VM 單流程只能佔用 1 張物理卡 | 多 VM 場景有效;單 VM 高併發需 LACP 或多 VIF 綁定不同 Network |
| VLAN tag 在 Bond 上不生效 | 未在 Network 建立 VLAN 對象 | 使用 xe vlan-create 在 Bond 對應的 Network 上建立 VLAN |
#!/bin/bash
# create_bond.sh [pif_uuid2...]
# mode: active-backup | balance-slb | lacp
set -euo pipefail
NAME=$1; MODE=$2; MTU=$3; shift 3
PIFS=$(IFS=,; echo "$*")
NET=$(xe network-create name-label="$NAME" mtu=$MTU)
BOND=$(xe bond-create network-uuid=$NET pif-uuids=$PIFS mode=$MODE \
${MODE==lacp && echo "properties:lacp-time=fast"})
echo "Created Network: $NET"
echo "Created Bond: $BOND (mode=$MODE, MTU=$MTU)"
xe pif-param-get uuid=$BOND param-name=currently-attached
用法:
./create_bond.sh "Bond0-4x25G" lacp 9000 \
uuid1 uuid2 uuid3 uuid4
掌握 CLI 級 Bond 操作,即可突破 GUI 限制,釋放多網卡頻寬潛力,構建彈性、高可用的虛擬化網路基礎設施。
Windows 環境編譯安裝 OpenSSL 完整教學 (VS2005 + Perl)
Linux 目錄操作基礎指令大全:mkdir、rmdir、cd、pwd、ls 參數完整解析
Linux whereis 指令詳解:快速定位二進制、原始碼與手冊頁路徑
Linux 多命令連續執行控制:; && || 邏輯運算符實戰
Linux 超級使用者 (root) 權限控制完整解析:UID 0、su、sudo 與最小權限原則
Linux 虛擬終端顯示中文原理與 CJKTTY 补丁實現:從 VGA 文字模式到 Wayland System Compositor