開始前先了解
先完成一份測試 VM 備份, 確認目標儲存有足夠空間. 本篇原 VM 是 120, 還原到未使用的 102 cloud-restored; 請先確認自己的編號沒有被占用.
還原檔可能帶回原本的網卡, IP, 主機名稱, 應用程式與排程. 新 MAC 不會自動讓 guest 的固定 IP 改成新位址. 隔離前不要啟動還原副本.
本機備份與本機還原示範不代表已具備異機容災. 若要驗證不同硬體或獨立備份儲存的復原, 需要另外安排相應環境.
本系列使用 Proxmox VE 9 繁體中文介面的真實截圖. 節點, 儲存名稱與示範數值請換成自己的環境; 作業系統安裝程式可能維持其原有語言.
01選擇正確的備份檔案
選取 local 儲存, 進入 "備份" 頁面, 找到要使用的備份. 核對來源 VMID, 日期, 說明與檔案大小, 再按 "還原". 此處使用儲存的備份入口, 原 VM 頁面的還原操作可能進入覆寫原 VM 的流程.
有多份備份時, 請依資料時間與變更紀錄選取. 最新檔案不一定是你想恢復的版本; 不確定時先查明, 不要直接覆蓋原機.
放大圖片
02使用新 VMID 還原, 保持自動開機關閉
將 VMID 設成未使用的 102, 選擇可容納磁碟的目標儲存. 勾選 "重產唯一" 以避免沿用原 MAC, 並核對還原後的名稱.
保持 "還原完成後啟動" 關閉, 先完成還原. 新編號可以避免覆蓋來源 VM, 但還原後仍需檢查網路與應用程式的識別資料.
放大圖片
03完成後先隔離網卡並核對硬體
等還原作業正常完成, 選取 102 (cloud-restored) 的 硬體, 選取 網路裝置 (net0) 並按 編輯. 展開 進階, 勾選 斷線, 再按 完成. 保存後核對網卡內容已有 link_down=1, 才安排第一次開機.
本篇還原副本與來源 VM 120 都使用 vmbr1, VLAN 100, 而且原本的固定 IP 相同. 只接內部橋接器仍可能撞 IP, 因此本次採網卡斷線, 使用主控台查核. 新 MAC 只改變網卡識別, 不能取代隔離.
放大圖片
04透過主控台驗證檔案與磁碟容量
按 啓動. 本篇 Cloud-Init 映像使用序列主控台, 從上方 主控台 選單開啟 xterm.js, 使用自己的 guest 帳號登入. 一次保留一個序列主控台連線. 若尚未出現登入提示, 先等系統開機並按 Enter, 不要為了縮短等待就取消網卡斷線.
執行下方指令, 核對主機名稱, 測試檔與容量. 本次實測名稱為 cloud-restored, 測試檔保留 snapshot-before, sda 虛擬磁碟為 8G. 根檔案系統約 6.8G, 其餘空間由開機分割區等使用, 並非少還原了磁碟. 此副本的網卡實際名稱為 eth0, MAC 與硬體頁面相符, 狀態為 DOWN 與 NO-CARRIER. 請依自己的清單辨識介面, 不直接假設名稱一定沿用原 VM.
這次驗證涵蓋系統, 測試檔與磁碟容量, 尚未進行應用程式接替或對外連線測試. 完成演練後從 PVE 的 關機 正常停止副本, 並保持網卡斷線. 正式接替服務前, 仍需另行檢查應用程式, 安排原 VM 停止, 獨立 IP 或 DNS 切換與連線驗證.
hostname
cat /var/tmp/pve-snapshot-demo.txt
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
df -h /
ip -br link
放大圖片
完成後如何確認
VM 102 已從 VM 120 的備份還原, 來源 VM 未被覆蓋. 主控台確認測試檔為 snapshot-before, 虛擬磁碟為 8G.
還原副本經正常關機, net0 保持 link_down=1. 尚未進行應用程式接替與對外測試, 正式服務切換需另行安排.
常見問題
已勾選產生新 MAC, 為什麼仍可能 IP 衝突?
MAC 是網路卡識別, 固定 IP 可能保存在 guest 的網路設定中. 還原會帶回這些設定, 因此仍要先隔離並修改 IP.
可以直接還原到原本的 VMID 嗎?
這可能覆蓋原 VM 與目前資料. 本篇採新 VMID 以保留檢查與比較的空間. 若確實要覆蓋原機, 應先保存當前資料並確認中斷與回復安排.