最近改用開源的 Proxmox VE 作為虛擬機的主要作業系統,所以原本透過 Synology Active Backup for Business 備份 ESXi 上 VM 映像檔就不再適用於 Proxmox VE。還好原本 Proxmox 就有自己專屬的備份伺服器 Proxmox Backup Server,拿來裝在 Synology 上的 VMM (Virtual Machine Manager) 套件,然後再連結 Synology 本身的 SAN Manager 所提供的 iSCSI LUN 網路磁碟,就可以達到將 Proxmox VE 上的 VM 映像備份到 Synology 上
以下這一篇單純做自己的筆記,全部透過 Proxmox Bacup Server(PBS) 的命令列來進行操作
- 手動連線 iSCSI
#手動連線 iscsi iscsiadm -m discovery -t st -p <Synology iSCSI Host IP> iscsiadm -m node --login -p <Synology iSCSI Host IP> -T <iSCSI Target Name> iscsiadm -m session -o show
- 找出iSCSI硬碟的Device Name
#透過 fdisk 指令,列出所有硬碟裝置,可以透過iSCSI硬碟容量來確認 fdisk -l
- 建立 ZFS 檔案系統,並掛載於根目錄
#將 iscsi lun 建立為 ZFS,並掛載在 /DS1819.LUN.BACKUP 目錄下,這個目錄名稱可以自訂 zpool create -f DS1819.LUN.BACKUP /dev/sdb zpool list
- 建立系統服務,以便後續重開機可以自動啟動
#設定為自動連線 iscsiadm -m node -T <Synology iSCSI IQN Name> -p <Synology iSCSI Host IP> -o update -n node.startup -v automatic iscsiadm -m node -T <Synology iSCSI IQN Name> -p <Synology iSCSI Host IP> -o update -n node.conn[0].startup -v automatic #修改 /etc/iscsi/iscsid.conf,改為自動連線 #以下是用 sed 將 iscsid.conf 中所有的 manual 關鍵字,全數改為 automatic,所以當然也可以用 vi 一個一個手動修改 sed -i '/^node.startup = /s/manual/automatic/g' /etc/iscsi/iscsid.conf
#找出 iscsi lun 的裝置名稱
systemctl list-units --all --full | grep disk | grep <Synology iSCSI Host IP> | egrep -v "*part*"
#產生 systemctl daemon 啟動服務檔,路徑必須放在 /etc/systemd/system 下,但是服務檔名 ds1819-iscsi-lun.service 可以自訂 #[Service] 區塊中的 ExecStart指令後面接的 DS1819.LUN.BACKUP 目錄必須搭配先前創建 ZFS 時所掛載的目錄名稱 cat << 'EOF' > /etc/systemd/system/ds1819-iscsi-lun.service [Unit] After=<這裡置換為上一個步驟所找到的 iSCSI LUN Device Name> [Service] ExecStart=/usr/sbin/zpool import DS1819.LUN.BACKUP ExecStartPost=/usr/bin/logger "started ZFS pool DS1819+ iSCSI LUN.." [Install] WantedBy=<這裡置換為上一個步驟所找到的 iSCSI LUN Device Name> EOF
- 重新載入系統服務
#重新載入所有服務 systemctl daemon-reload #設定重開機後自動掛載 DS1819 iscsi lun,這裡服務名稱必須搭配前面設定 systemctl 時所建立的服務檔名 systemctl enable ds1819-iscsi-lun #重新啟動服務 systemctl restart ds1819-iscsi-lun
- 增加資料儲存區
回到管理介面,直接透過網頁介面新增資料儲存區,絕對路徑指向/DS1819.LUN.BACKUP
- 刪除資料儲存區
如果想刪除資料儲存區,無法透過網頁管理介面進行,必須透過指令來進行刪除。
proxmox-backup-manager datastore remove DS1819.PBS.LUN