# 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`) ```ini 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 殘留。建議: ```bash # 檢查 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](PVE_API.md) 與 [API.md](API.md)。 | Token | Secret | privsep | 用途 | |---|---|---|---| | `root@pam!claude` | `17e96169-a32f-4e2d-951e-859c77770306` | 0(繼承 root) | Claude / 自動化 | | `root@pam!monitor` | (未知,舊 token) | 0 | 監控 |