使用者工具

網站工具


tech:pbstips

這是本文件的舊版!


Proxmox Backup Server(PBS) 安裝測試紀錄

安裝環境

安裝程序

  • 透過虛擬光碟掛上 ISO 開機進行 PBS 安裝程序, 將 PBS 安裝到 8GB Disk 內, 完成後移除 ISO 檔案重新開機
  • 開機後確認 PBS 網頁可以登入 Exp. https://172.16.0.210:8007/
  • 透過 ssh 登入 PBS 主機將 4TB disk 建立為 ZFS 檔案系統
    fdisk /dev/sdb
    • g : 建立為使用 GPT disklabel 硬碟
    • n : 建立一個新的 Partation
    • t : 48 - Solaris /usr & Apple ZFS
    • w : 寫入
  • 透過 zfs 工具建立 pool Exp. pbs-zpool
    zpool create -f -o ashift=12 pbs-zpool /dev/sdb1
    zfs set compression=lz4 pbs-zpool
    zpool list
  • 透過網頁建立 PVE 備份 User Exp. pveuser
    • Configuration → User Management → Add
  • 確認有看到 4TB ZFS Disk
  • 建立 Datastore Exp. pvebackup → /pbs-zpool , 每周三 21:33 進行 GC , 保留 7 個備份
    • Datastore → Create


  • 授予 User : pveuser 可以使用 Datastore : pvebackup 進行備份
    • Configuration → Permissions → Add
  • 權限 Role : DatastoreBackup 只能備份, 還原時會出現權限不足狀況
  • 即使再增加 Role : DatastoreReader 雖然可以手動進行還原作業, 但仍無法有自動備份最後的檢查權限
  • 所以必須給 DatastoreAdmin 權限才可正確

PVE Node 掛上 PBS

  • 先將 PBS 的 Fingerprint 複製起來
  • 到要備份的 PVE Datacenter 建立 Storage Exp. PBSTPA
    • 先確認每個 Node 是否都已經升級到 6.2-10 以上版本 (升級後要重開機)
    • Datacenter → Storage → Add → Proxmox Backup Server
如果測試備份 PVE 的 VM 都沒問題, 但備份 CT 會出現以下錯誤訊息
INFO: Error: HTTP Error 400 Bad Request: parameter verification errors
INFO: parameter 'encoded-size': value must have a minimum value of 13 (got 12)

應該和 PVE 安裝環境使用 lvm 有關, 如果安裝時是選 zfs 就可以完全正常.

[另外方案]直接安裝在 PVE 主機內的程序

  • 安裝環境 : PVE 6.2-10
  1. 設定 PBS 儲存庫 /etc/apt/sources.list
    :
    # Proxmox Backup Server
    deb http://download.proxmox.com/debian/pbs buster pbstest
  2. 安裝 PBS
    apt-get update
    apt-get install proxmox-backup-server
  3. 就可以直接連上 PBS 管理網頁 Exp. https://192.168.11.249:8007/ (可以使用該主機 PVE 的 root 帳號密碼登入)
  • 安裝 proxmox-backup-server 過程似乎也會產生 /etc/apt/sources.list.d/pbstest-beta.list 而造成
    http://download.proxmox.com/debian/pbs buster pbstest 

    儲存庫重複定義

  • 需要將手動在 /etc/apt/sources.list 內的定義關閉
    :
    # Proxmox Backup Server
    #deb http://download.proxmox.com/debian/pbs buster pbstest

設定 PBS-A 每小時同步至 PBS-B

  • PBS-A 與 PBS-B 內都有 Datastore : pvebackup , 預計每小時 PBS-A.pvebackup → PBS-B.pvebackup
  1. PBS-B 內設定 Remotes 畫面類似以下:
  2. PBS-B 內設定 Sync Jobs 畫面類似以下:

問題與解決方式

ZPool 突然消失問題

  • 進行 remote 同步過程, 不知名原因造成原本建立的 pbs-zpool 消失, 因為測試備份資料, 所以沒有特別找 zfs 資料救回處理程序
  • 此時 proxmox-backup 服務已經無法正常運作, 網頁管理介面也無法出現, 但 systemctl restart proxmox-backup 仍然可以成功, 在 message log 沒有看到異常原因
  • 透過 zpool create 重新建立 pbs-zpool 之後, 網頁管理界面可以登入, 但原本建立的 Datastore : pvebackup 無法讀取必須重新建立, 但網頁管理界面並無刪除 Datastore 功能, 所以比須使用 proxmox-backup-manager 命令語法處理
    proxmox-backup-manager datastore list
    proxmox-backup-manager datastore remove pvebackup

    參考畫面如下:

    [email protected]:/pbs-zpool# proxmox-backup-manager datastore list
    ┌───────────┬────────────┬───────────────┐
    │ name      │ path       │ comment       │
    ╞═══════════╪════════════╪═══════════════╡
    │ pvebackup │ /pbs-zpool │ PVE Backup DS │
    └───────────┴────────────┴───────────────┘
    [email protected]:/pbs-zpool# proxmox-backup-manager datastore remove pvebackup
    [email protected]:/pbs-zpool# proxmox-backup-manager datastore list
    

  • 再透過網頁管理界面重新建立 Datastore : pvenackup , 這樣原本的 Sync Jobs 就可以繼續恢復運作

修改備份 vm/ct 目錄的 Owner

  • 當 PBS-A 是 PVE 備份寫入處 vm/ct 目錄的 Owner 會是 [email protected]
  • 透過 remote rsync 過來到 PBS-B 的目錄 owner 會是 [email protected]
  • 如果要改由 PBS-B 讓 PVE 備份就會出現權限錯誤無法寫入
  • 修改 vm/ct 內的 owner 檔案內容 Exp. vm 103
    cd /pbs-zpool/vm/103
    cat owner
    echo '[email protected]' > owner
    cat owner

PBS 服務突然失效(Listen Port 8007 消失)

參考網址

tech/pbstips.1595472385.txt.gz · 上一次變更: 2020/07/23 10:46 由 jonathan_tsai