仿照 timmy/42_38 結構建立 7 份文件,涵蓋 3 節點 PVE 8.4.16 叢集 (pve-000/.73、pve-001/.249、pve-002/.247)的架構、API、儲存、 備份與服務分類。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
16 KiB
16 KiB
PVECluster 叢集架構文件
最後更新:2026-04-15
一、叢集概覽
| 項目 | 值 |
|---|---|
| 叢集名稱 | PVECluster |
| PVE 版本 | 8.4.16(Kernel 6.8.12-18-pve) |
| 節點數 | 3(異質配置) |
| Quorum | 正常(corosync_votequorum,3 votes) |
| VM/容器總數 | 25(13 VM + 12 LXC,含 4 個 stopped) |
| HA | 未啟用 |
二、節點硬體規格
三台節點規格不同,pve-001 為運算大節點,pve-002 為較舊備援節點。
pve-000(192.168.88.73)
| 項目 | 規格 |
|---|---|
| CPU | 4 cores(廠牌 / 詳細型號待確認) |
| 記憶體 | 32 GB |
| 系統碟 | 100 GB |
| 角色 | 一般工作節點(跑大量 LXC + 中型 VM) |
| 特別介面 | vmbr1 (192.168.77.241/24)、vmbr2(OpenWRT WAN bridge) |
pve-001(192.168.88.249)
| 項目 | 規格 |
|---|---|
| CPU | 24 cores |
| 記憶體 | 132 GB |
| 系統碟 | 83 GB |
| 角色 | 大型 VM 主機(多顆 Windows VM、HackMD、OpenArchiver) |
pve-002(192.168.88.247)
| 項目 | 規格 |
|---|---|
| 品牌 | IBM System X3250 M4(型號 2583IOB) |
| CPU | Intel Xeon E3-1220 V2 @ 3.10GHz(4C/4T) |
| 記憶體 | 16 GB |
| 系統碟 | 100 GB |
| 角色 | 備援/閒置節點,本文件主要 SSH/API 進入點 |
節點清單
| 節點 | IP | 角色 | 上線時間 |
|---|---|---|---|
| pve-000 | 192.168.88.73 | 工作節點(16 guests) | ~17.3 天 |
| pve-001 | 192.168.88.249 | 重型運算節點(9 guests) | ~17.3 天 |
| pve-002 | 192.168.88.247 | 備援/管理節點(0 guests) | ~17.3 天 |
節點資源使用(即時快照)
| 節點 | CPU 使用率 | 記憶體使用 | 系統碟使用 |
|---|---|---|---|
| pve-000 | ~16% | 24.7 GB / 31.3 GB (79%) | 9.0 GB / 100 GB |
| pve-001 | ~15% | 56.0 GB / 125.8 GB (44%) | 60.5 GB / 83 GB |
| pve-002 | ~1% | 1.7 GB / 16 GB (10%) | 8.7 GB / 100 GB |
三、網路架構
HiNet ──PPPoE 210.242.157.197── [VM 115 OpenWRT]
│
┌─────────────────────┼─────────────────────┐
│ │ │
vmbr2 (WAN) vmbr0 (LAN) vmbr1
(僅 pve-000) 192.168.88.0/24 192.168.77.0/24
(僅 pve-000 有 IP .241)
▲ ▲ ▲
│ │ │
外網 PPPoE/路由 全節點 Bridge OpenWRT LAN 子網
CT104 .77.10
CT125 .77.21
192.168.88.1(上游 GW,全節點 default route)
│
├── pve-000 (vmbr0/enp0s31f6) .73
├── pve-001 (vmbr0/enp1s0f0) .249
└── pve-002 (vmbr0/enp6s0) .247
介面對應表
| 節點 | vmbr0 (88) | vmbr1 (77) | vmbr2 (WAN) |
|---|---|---|---|
| pve-000 | enp0s31f6 → .73 | enp6s0f0 → .241 | enp6s0f1(無 IP,bridge only) |
| pve-001 | enp1s0f0 → .249 | — | — |
| pve-002 | enp6s0 → .247 | — | — |
- Default Gateway:
192.168.88.1(上游路由器,三節點皆指向此) - OpenWRT LAN GW:
192.168.77.1(VM 115 提供,僅 pve-000 上的 vmbr1 使用) - VM/CT 多數靜態 IP 在 192.168.88.0/24,少數使用 DHCP
四、儲存架構
儲存池一覽
| 儲存名稱 | 類型 | 共享 | 容量 | 已用 | 用途 |
|---|---|---|---|---|---|
| local | dir | 否 | 83–100 GB/節點 | 8.7–60.5 GB | ISO、備份、模板 |
| local-lvm | lvmthin | 否 | 184–853 GB | 0–24 GB | VM 磁碟、CT rootfs(少用) |
| syno-iscsi | iSCSI Target | 是 | — | — | pve-iscsi-3t 的底層 target |
| pve-iscsi-3t | LVM (iSCSI) | 是 | 4.50 TB | 3.41 TB (74%) | 主要儲存(VM 磁碟、CT rootfs) |
| backup1 | PBS | 是 | 1.00 TB | 0.62 TB (62%) | Proxmox Backup Server 備份 |
儲存拓撲
Synology NAS (192.168.88.60, DS1621)
└── iSCSI Target iqn.2000-01.com.synology:DS1621.Target-8.d3b1c55b974
└── syno-iscsi(raw block) ──► pve-iscsi-3t (LVM, 4.5TB, 共享)
└── 幾乎所有 VM/CT 磁碟存放於此(vg_pveiscsi)
Proxmox Backup Server (192.168.88.169, VM 101)
└── PBS datastore "backup1" ──► backup1 (1TB, 共享)
└── 104 筆 VM/CT 快照備份(指紋 77:1c:e5:3e:aa:b0:5d:07:...)
各節點本地
├── /var/lib/vz ──► local
│ └── ISO、vztmpl、備份
└── LVM thin pool ──► local-lvm
└── 部分 VM/CT 磁碟(CT107 等)
儲存設定(/etc/pve/storage.cfg)
dir: local
path /var/lib/vz
content iso,backup,vztmpl
lvmthin: local-lvm
thinpool data
vgname pve
content images,rootdir
iscsi: syno-iscsi
portal 192.168.88.60
target iqn.2000-01.com.synology:DS1621.Target-8.d3b1c55b974
content images
lvm: pve-iscsi-3t
vgname vg_pveiscsi
content rootdir,images
saferemove 0
shared 1
pbs: backup1
datastore backup1
server 192.168.88.169
content backup
fingerprint 77:1c:e5:3e:aa:b0:5d:07:41:2c:1a:2a:ce:ae:7c:78:04:75:85:56:68:5e:54:3d:2f:65:ab:31:09:1b:1c:b2
prune-backups keep-all=1
username root@pam
五、VM / 容器清單
QEMU 虛擬機
| VMID | 節點 | 狀態 | CPU | 記憶體 | 磁碟 | 儲存 | Tags | 備註 |
|---|---|---|---|---|---|---|---|---|
| 100 | pve-000 | running | 4C | 8 GB | 128 GB | pve-iscsi-3t | veljko;windows | Windows(IDE bus) |
| 101 | pve-000 | running | 2C | 4 GB | 64G+1T | pve-iscsi-3t | proxmoxbackupserver | PBS Server(IP 192.168.88.169) |
| 102 | pve-001 | stopped | 4C | 8 GB | 32 GB | local-lvm | apollo;vic;windows | Windows |
| 110 | pve-000 | stopped | 4C | 8 GB | 128 GB | pve-iscsi-3t | — | 用途待確認 |
| 111 | pve-001 | running | 1C | 8 GB | 200 GB | pve-iscsi-3t | chao;windows | Windows |
| 114 | pve-001 | running | 1C | 8 GB | 300 GB | pve-iscsi-3t | celia;windows | Windows |
| 115 | pve-000 | running | 1C×2 | 2 GB | 4G+124M | pve-iscsi-3t | openwrt;timmy | OpenWRT(PPPoE WAN + LAN 192.168.77.1) |
| 116 | pve-001 | running | 1C | 8 GB | 256 GB | pve-iscsi-3t | lucas;windows | Windows |
| 119 | pve-001 | stopped | 1C | 16 GB | 60 GB | pve-iscsi-3t | timmy;ubuntu | Ubuntu(vmxnet3 介面) |
| 120 | pve-001 | running | 1C | 8 GB | 250 GB | pve-iscsi-3t | chao;hackmd;ubuntu | HackMD(vmxnet3) |
| 121 | pve-000 | running | 1C | 2 GB | 60 GB | pve-iscsi-3t | timmy;ubuntu | Ubuntu |
| 123 | pve-001 | running | 4C | 16 GB | 264 GB | pve-iscsi-3t | veljko;windows | Windows(backup=0) |
| 124 | pve-000 | running | 1C | 4 GB | 100 GB | pve-iscsi-3t | lucas;veljko | virtio + writeback |
LXC 容器
| VMID | 節點 | 狀態 | CPU | 記憶體 | 磁碟 | IP | Tags / 用途 |
|---|---|---|---|---|---|---|---|
| 103 | pve-001 | running | 2C | 2 GB | 16 GB | DHCP | amc-stage;chao(容器名 CT108) |
| 104 | pve-000 | running | 2C | 1 GB | 8 GB | 192.168.77.10/24 | NPM + Headscale(vmbr1) |
| 105 | pve-001 | running | 16C | 16 GB | 32 GB | 192.168.88.89 | OpenArchiver(重型容器) |
| 106 | pve-000 | running | 1C | 1 GB | 24 GB | DHCP | b2b;chao |
| 107 | pve-000 | running | 1C | 512 MB | 8 GB | 192.168.88.14 | gia;patent(local-lvm) |
| 108 | pve-000 | running | 2C | 2 GB | 16 GB | DHCP | amc;chao;jira-report |
| 109 | pve-000 | running | 1C | 2 GB | 8 GB | DHCP | cashier-portal;chao |
| 112 | pve-000 | stopped | 1C | 1 GB | 24 GB | DHCP | chao;supabase |
| 113 | pve-000 | running | 2C | 4 GB | 32 GB | DHCP | chao;dify;n8n;nocodb |
| 117 | pve-000 | running | 1C | 256 MB | 8 GB | DHCP | tailscale;timmy |
| 122 | pve-000 | running | 8C | 16 GB | 196 GB | 192.168.88.174 | lucas;timmy;ubuntu(重型容器) |
| 125 | pve-000 | running | 1C | 512 MB | 8 GB | 192.168.77.21/24 | tailscale;timmy(vmbr1) |
狀態統計
| 狀態 | 數量 |
|---|---|
| Running | 21 |
| Stopped | 4 (VM 102/110/119, CT 112) |
| Template | 0 |
各節點負載分佈
| 節點 | VM (running) | LXC (running) | 分配 vCPU | 分配記憶體 |
|---|---|---|---|---|
| pve-000 | 5 (100,101,115,121,124) | 10 (104,106,107,108,109,113,117,122,125) + 1 stopped | 24+ | ~36 GB |
| pve-001 | 6 (111,114,116,120,123) | 2 (103,105) + 多個 stopped | 30+ | ~78 GB |
| pve-002 | 0 | 0 | 0 | 0 |
六、備份策略
Proxmox Backup Server
- 位置:VM 101(pve-000),IP
192.168.88.169:8007 - Datastore:
backup1(1.00 TB,已用 ~622 GB / 62%) - PVE 端 Storage 名稱:
backup1 - 保留策略:
keep-all=1(PBS storage 層) - 指紋:
77:1c:e5:3e:aa:b0:5d:07:41:2c:1a:2a:ce:ae:7c:78:04:75:85:56:68:5e:54:3d:2f:65:ab:31:09:1b:1c:b2
備份排程(目前啟用)
| ID | 排程 | 對象 | 儲存 | 模式 | 保留 |
|---|---|---|---|---|---|
backup-71950ae1-101d |
每日 23:00 | VM/CT 104,106,108,109,113,117,122,125,115,111,114,116,120,121 | backup1 | snapshot | keep-daily=7 |
註解:「每日備份(保留近7日)」,notes-template 使用
{{guestname}}。
PBS 備份統計(按 VMID)
| VMID | 筆數 | VMID | 筆數 | VMID | 筆數 |
|---|---|---|---|---|---|
| 100 | 1 | 109 | 7 | 117 | 7 |
| 101 | 1 | 111 | 7 | 118 | 1 |
| 104 | 7 | 112 | 1 | 119 | 1 |
| 106 | 7 | 113 | 7 | 120 | 7 |
| 107 | 1 | 114 | 7 | 121 | 7 |
| 108 | 7 | 115 | 7 | 122 | 7 |
| 116 | 7 | 125 | 7 |
總計 104 筆。標記為 7 筆者為排程內常規目標。
未在排程內的 VM/CT
- VM 100(veljko Windows)、102(apollo stopped)、123(veljko, scsi backup=0)、124(lucas/veljko)
- VM 119(停機)、110(停機)
- CT 103(amc-stage)、105(openarchiver,16C/16GB 大容器)、107(gia patent)、112(停機)
涉及客戶資料的 Windows VM 與重型容器,建議評估是否納入排程。
七、關鍵服務架構圖
┌─────────────────────────────────────────────────────────────────────┐
│ PVECluster │
│ 192.168.88.73 / .249 / .247 │
├───────────────┬───────────────────────────┬───────────────────────────┤
│ pve-000 (.73)│ pve-001 (.249) │ pve-002 (.247) │
│ 4C / 32GB │ 24C / 132GB │ 4C / 16GB(IBM x3250) │
├───────────────┴───────────────────────────┴───────────────────────────┤
│ │
│ 【網路 / 路由】 │
│ VM115 OpenWRT ── HiNet PPPoE 210.242.157.197 │
│ LAN GW 192.168.77.1(vmbr1 子網,僅 pve-000) │
│ 上游 GW 192.168.88.1 ── 主 LAN 全節點共用 vmbr0 │
│ CT104 NPM + Headscale (192.168.77.10) ── 反向代理 / VPN 控制 │
│ CT117, CT125 ── Tailscale 子網 routing │
│ │
│ 【備份】 │
│ VM101 PBS ── 192.168.88.169:8007 (1TB datastore "backup1") │
│ Synology DS1621 (192.168.88.60) ── iSCSI Target 4.5TB shared LVM │
│ │
│ 【自動化 / 開發】 │
│ VM120 HackMD (chao, Ubuntu 250G) │
│ CT113 Dify + n8n + NocoDB (chao, 4C/4G/32G) │
│ CT105 OpenArchiver (16C/16G/32G — 大型郵件歸檔) │
│ CT112 Supabase (stopped) │
│ VM121 / CT122 通用 Ubuntu (timmy / lucas) │
│ │
│ 【客戶 Windows 桌面】 │
│ VM100 veljko VM111 chao │
│ VM102 apollo/vic (stop) VM114 celia │
│ VM116 lucas VM123 veljko (264G) │
│ │
│ 【業務應用(chao 系列)】 │
│ CT103 AMC-Stage CT106 B2B │
│ CT108 AMC + Jira-Report CT109 Cashier-Portal │
│ │
│ 【其他客戶】 │
│ CT107 gia / patent │
└──────────────────────────────────────────────────────────────────────┘
八、已知問題與注意事項
pve-iscsi-3t 共享儲存使用率偏高(74%)
主要儲存 4.5TB 已用 3.41TB,新增大型 VM/CT 前需評估,或考慮:
- 將完全停機的 VM (102/110/112/119) 評估刪除或遷出
- 客戶 Windows VM 內部清理(暫存檔、回收筒)
pve-001:local 系統碟 73% 使用率
83GB 內已用 60GB,多半是舊 ISO 與 vzdump 殘留。建議:
# 檢查
ssh root@192.168.88.249 "du -sh /var/lib/vz/* 2>/dev/null | sort -h"
# 清理 ISO/Template
ssh root@192.168.88.249 "ls -lah /var/lib/vz/template/iso/"
pve-002 完全閒置
IBM x3250 M4 雖然規格較舊(4C Xeon E3-1220 v2 / 16GB),但完全沒有任何 guest 在跑。可作為:
- HA failover 目標(需先啟用 HA)
- 排程批次任務節點(如備份壓縮、報表)
- 短期測試 VM
OpenWRT (VM 115) 為單點故障
PPPoE 撥接與 192.168.77.0/24 子網皆依賴此 VM,一旦停機:
- 192.168.77.0/24 內主機(CT104 NPM、CT125 Tailscale)對外失聯
- HiNet PPPoE 連線中斷(如果上游 .88.1 路由器不直接擔當 PPPoE)
建議:定期備份 + 至少在另一節點放冷備份映像。
九、Corosync 叢集通訊
totem:
cluster_name: PVECluster
config_version: 5
transport: knet
secauth: on
nodelist:
pve-000 (nodeid=1, ring0=192.168.88.73, votes=1)
pve-001 (nodeid=2, ring0=192.168.88.249, votes=1)
pve-002 (nodeid=3, ring0=192.168.88.247, votes=1, local)
quorum:
provider: corosync_votequorum
expected votes: 3
required quorum: 2 (需要 2/3 節點在線才能維持 quorate)
十、API 認證
詳見 PVE_API.md 與 API.md。
| Token | Secret | privsep | 用途 |
|---|---|---|---|
root@pam!claude |
17e96169-a32f-4e2d-951e-859c77770306 |
0(繼承 root) | Claude / 自動化 |
root@pam!monitor |
(未知,舊 token) | 0 | 監控 |