diff --git a/PVE_API.md b/PVE_API.md index aaaf48c..ea8b43d 100644 --- a/PVE_API.md +++ b/PVE_API.md @@ -112,6 +112,70 @@ curl -sk -X POST https://192.168.42.38:8006/api2/json/<端點> \ | 最近任務 | GET | `/nodes/{node}/tasks` | | 任務狀態 | GET | `/nodes/{node}/tasks/{upid}/status` | +## Proxmox Backup Server (PBS) + +> PBS 是獨立系統(VM 111,`192.168.42.30:8007`,主機名 `pbs`),**PVE API token 不適用**。PBS 本身的管理走免密 SSH + `proxmox-backup-manager` CLI;但「PVE 如何使用 PBS」(備份排程、查 PBS 儲存用量)仍透過 PVE API。 + +### 環境 + +| 項目 | 值 | +|---|---| +| **PBS 主機** | `192.168.42.30`(hostname `pbs`,= VM 111) | +| **Web/API** | `https://192.168.42.30:8007`(fingerprint 見 PVE storage 設定) | +| **存取** | 開發機免密 SSH `root@192.168.42.30` | +| **Datastore** | `data-store` → `/mnt/datastore`(ext4 on `/dev/sdb1`,200 GB on syno-lvm) | + +### PBS 端 CLI(SSH 進 pbs 執行) + +```bash +# Datastore 狀態 / GC +proxmox-backup-manager datastore list +proxmox-backup-manager garbage-collection status data-store +proxmox-backup-manager garbage-collection start data-store + +# 驗證工作(verify job) +proxmox-backup-manager verify-job list +proxmox-backup-manager verify-job create v-weekly \ + --store data-store --schedule "sat 05:00" \ + --ignore-verified true --outdated-after 30 +proxmox-backup-manager verify data-store # 立即全驗一次 + +# 任務 log +proxmox-backup-manager task list +``` + +### PVE 端:PBS 相關 API(用一般 PVE API token) + +| 用途 | 方法 | 端點 | +|---|---|---| +| PBS 儲存用量 | GET | `/nodes/{node}/storage/pbs/status` | +| PBS 備份內容(snapshot 清單) | GET | `/nodes/{node}/storage/pbs/content` | +| 列出備份排程 | GET | `/cluster/backup` | +| 單一排程設定 | GET | `/cluster/backup/{id}` | +| 排程實際納入的 guest | GET | `/cluster/backup/{id}/included_volumes` | +| 新增排程 | POST | `/cluster/backup` | +| 修改排程(啟用/保留等) | PUT | `/cluster/backup/{id}` | +| 刪除排程 | DELETE | `/cluster/backup/{id}` | +| 手動觸發備份 | POST | `/nodes/{node}/vzdump` | + +備份排程的目前配置與沿革見 `PVECluster_Architecture.md` §六。 + +### Datastore 線上擴容(80G → 200G 範例) + +```bash +# 1) PVE 端擴 VM 磁碟(API 或 pvesh) +curl -sk -X PUT -H "Authorization: PVEAPIToken=..." \ + --data-urlencode "disk=scsi2" --data-urlencode "size=+120G" \ + https://192.168.42.38:8006/api2/json/nodes/pve-02/qemu/111/resize + +# 2) PBS 端線上擴分割區 + 檔案系統(不停機) +echo 1 > /sys/class/block/sdb/device/rescan +sgdisk -e /dev/sdb # 移動備份 GPT 標頭到磁碟末端 +parted /dev/sdb ---pretend-input-tty resizepart 1 100% # 對 Yes 確認 +partx -u /dev/sdb # 更新 kernel 對掛載中分割區的視圖 +resize2fs /dev/sdb1 # ext4 線上擴展 +``` + ## Token 管理 ```bash