天天看點

PVE從qcow2檔案恢複虛拟機

一、寫本文原因

公司有一台實體伺服器,X58架構,挺老了,屬于垃圾成色了。後來用U盤裝了PVE做了虛拟化,當做線下測試伺服器,以及做一些實驗用。

由于園區經常停電,導緻了經常裝載U盤上的PVE系統損壞,好在裝載U盤,對本地的虛拟機資料沒有影響,裝了幾次也有了一些經驗。

二 、備份檔案

  • 2.1 安裝時備份

    需要牢記住hostname和IP位址,Hostname直接和你的資料中心名稱挂鈎,盡量和虛拟保持一緻

    PVE從qcow2檔案恢複虛拟機
  • 2.2 備份PVE配置檔案

    待PVE虛拟機部署完成,并且正式運作時,請備份如下目錄檔案:

    /etc/pve/

    其中如下兩個比較重要:

    qemu-server

    :儲存了虛機的配置資訊

    storage.cfg

    :儲存了PVE的分區資訊
[email protected]:/mnt/bak/dump# ls -ll /etc/pve/
total 4
-rw-r----- 1 root www-data  451 Nov  2 11:45 authkey.pub
-rw-r----- 1 root www-data   16 Nov  2 11:40 datacenter.cfg
drwxr-xr-x 2 root www-data    0 Nov  2 11:45 ha
lrwxr-xr-x 1 root www-data    0 Jan  1  1970 local -> nodes/zm
lrwxr-xr-x 1 root www-data    0 Jan  1  1970 lxc -> nodes/zm/lxc
drwxr-xr-x 2 root www-data    0 Nov  2 11:45 nodes
lrwxr-xr-x 1 root www-data    0 Jan  1  1970 openvz -> nodes/zm/openvz
drwx------ 2 root www-data    0 Nov  2 11:45 priv
-rw-r----- 1 root www-data 2074 Nov  2 11:45 pve-root-ca.pem
-rw-r----- 1 root www-data 1675 Nov  2 11:45 pve-www.key
lrwxr-xr-x 1 root www-data    0 Jan  1  1970 qemu-server -> nodes/zm/qemu-server
drwxr-xr-x 2 root www-data    0 Nov  2 11:45 sdn
-rw-r----- 1 root www-data  332 Nov  2 12:00 storage.cfg
-rw-r----- 1 root www-data   39 Nov  2 11:40 user.cfg
drwxr-xr-x 2 root www-data    0 Nov  2 11:45 virtual-guest
-rw-r----- 1 root www-data  119 Nov  2 11:45 vzdump.cron
           
  • 2.3.備份分區表

    備份分區表

    /etc/fstab

    ,這裡記載了磁盤的挂載資訊,假如丢失或者不記得,會導緻虛機磁盤目錄不對,無法啟動;
  • 2.4.使用PVE備份功備份虛機

    點選虛機–備份,可以看到此虛機的備份資訊,如果本機沒有備份的話,建議及時進行備份,進行重大操作前也建議進行備份。

    PVE從qcow2檔案恢複虛拟機
    備份時預設的模式為快照,預設壓縮格式為ZSTD。
  • 快照模式:備份時對伺服器進行暫挂處理,來保持資料一緻性,假如虛機開啟了agent,在暫停備份時由agent來接收資料,如果對資料要求一緻性不太高,可以使用從此模式;
  • 挂起模式:進行備份前,會對虛機進行暫挂處理,導緻備份時間過長,并且資料一緻性不太高,可以PASS此模式;
  • 停止模式:資料一緻性最高,用最短的停機時間對虛機進行備份。
PVE從qcow2檔案恢複虛拟機
三、恢複
  • 3.1 使用配置檔案進行恢複

    如果對配置檔案進行過備份,可以把對應的conf檔案直接複制到

    /etc/pve/qemu-server/

    裡即可,然後修改存儲資訊

    /etc/pve/storage.cfg

    ,修改Linux分區表

    /etc/fstab

    ,啟動虛拟就可以了;

    3.2 沒有配置檔案進行恢複

    如果沒有配置檔案,隻有虛機硬碟鏡像在,不怕,我們還有機會!假如你格式化了硬碟,所有虛機鏡像不在了,對不起,這篇文章你應該不用看了,你該考慮怎麼跑路了~

    虛機的磁盤鏡像在設定好的目錄下,可以是LVM也可以是standard分區。以我的目錄為例子,虛機鏡像路徑在:

    /mnt/vm/images/

    ,前面的vm對應的是分區目錄,數字編号對應了虛機的編号,disk-0和disk-1對應了虛機的第一塊和第二塊硬碟;
ls /mnt/vm/images/
# 虛機編号
100  101  102  103  104  105  106

# 檢視虛機編号106的鏡像檔案
ls 106/
vm-106-disk-0.qcow2  vm-106-disk-1.qcow2
           

鏡像檔案有了,我們該怎麼恢複呢?不要急慢慢來,首先在PVE裡建立一個虛拟機,編号千萬不要和上面的重複。

然後把建立好的虛機配置檔案複制一份,進行修改,我們需要修改如下内容

name:虛機的名字,可以和之前一樣

虛機的mac位址:可以使用如下指令生成,前面的

52:54:00

可以自行替換

smbios1:虛機bios UUID,使用如下指令生成

uuidgen

,如果提示找不到指令,使用

apt install uuid-runtime進行安裝

unused0:未使用的硬碟,更改為舊的虛機硬碟路徑

virtio0:引導硬碟,更改為舊的虛機硬碟路徑

vmgenid:虛機UUID, 可以使用

uuidgen

指令生成

PVE從qcow2檔案恢複虛拟機

更改完成後可以在PVE管理界面看到更改好的虛機ID,直接右鍵開機即可;

PVE從qcow2檔案恢複虛拟機

繼續閱讀