Proxmox VE 9.2 に標準で付いているバックアップ機能(vzdump)で、仮想マシンを手動でバックアップする手順、バックアップから仮想マシンを復元(リストア)する手順、定期的にバックアップするジョブを作る手順です。保存先には【Proxmox VE 9.2】 ネットワーク・ストレージ設定手順で追加した NFS ストレージを使います。
この記事の前提
参照した公式ドキュメント
検証環境
| 項目 | 内容 |
|---|---|
| ノード | pve01(Proxmox VE 9.2.2) |
| バックアップする仮想マシン | 100(debian01)、動いている状態。QEMU ゲストエージェントあり |
| 保存先 | nfs-pvedoc(NFS、Content に Backup を含めて追加済み) |
大事な仮想マシンは、Proxmox VE のノードとは別の機器(NFS サーバーや Proxmox Backup Server など)に保存してください。ノードのローカルディスクだけに保存すると、ノードの故障でバックアップも失われます。
手動でバックアップする
(1) 仮想マシンを選択し、[Backup] をクリックします。[Backup now] をクリックします。

(2) [Mode] の一覧から、バックアップの取り方を選びます。

| Mode | 説明 |
|---|---|
| Snapshot | 仮想マシンを動かしたままバックアップします(既定)。停止時間がもっとも短い方法です。QEMU ゲストエージェントがあると、バックアップ開始の瞬間にファイルシステムの書き込みを止めて(fs-freeze)整合性を保ちます |
| Suspend | 互換性のために用意されたモードです。仮想マシンを一時停止してから、Snapshot と同じ方法でバックアップします。停止時間が長くなる一方で整合性は必ずしも上がらないため、公式ドキュメントでは Snapshot が推奨されています |
| Stop | 仮想マシンをシャットダウンしてからバックアップを開始し、すぐに起動し直します。もっとも整合性が高い方法ですが、短い停止時間が発生します |
(3) 次のとおり設定して [Backup] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Storage | 保存先のストレージです。Content に Backup を含むストレージが表示されます | nfs-pvedoc |
| Mode | 前の表のとおりです(既定:Snapshot) | Snapshot |
| Compression | 圧縮方式です。ZSTD(既定)は速くて圧縮率も良い方式です。LZO(速い)、GZIP(よく圧縮)、none(圧縮しない)も選べます | ZSTD (fast and good) |
| Notification | バックアップの結果の通知方法です(既定:Use global settings=データセンターの通知設定に従う) | 既定のまま |
| Protected | オンにすると、このバックアップが自動削除(保持数による削除)の対象外になります(既定:オフ) | オフ |
| Notes | バックアップに付けるメモです。{{guestname}}(仮想マシン名)などの変数を使えます(既定:{{guestname}}) | 既定のまま |
(4) タスクビューアーに進み具合が表示され、[TASK OK] と表示されたら完了です。今回は 32 GiB のディスク(実際の使用量は約 2 GiB)のバックアップが約 20 秒で終わり、766 MB のファイル(.vma.zst)になりました。

(5) 右上の [×] で閉じます。[Backup] の画面の [Storage] で保存先を選ぶと、取得したバックアップが一覧に表示されます。

リストア(復元)する
仮想マシンの [Backup] 画面からリストアすると、その仮想マシンがバックアップの内容で上書きされます。ここでは元の仮想マシンを残したまま、別の VM ID で復元します。
(1) 左のツリーで保存先のストレージ(nfs-pvedoc)を選択し、[Backups] をクリックします。復元するバックアップを選択して [Restore] をクリックします。

(2) [Restore: VM] が表示されます。次のとおり設定して [Restore] をクリックします。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Storage | 復元した仮想マシンのディスクを置くストレージです(既定:From backup configuration=バックアップ元と同じ) | nfs-pvedoc |
| VM | 復元先の VM ID です。既にある VM ID を指定すると、その仮想マシンを上書きします | 103(新しい ID) |
| Bandwidth Limit | 復元の読み書きの帯域の上限です(既定:ストレージの設定に従う) | 既定のまま |
| Unique | MAC アドレスなどを新しく作り直します(既定:オフ)。元の仮想マシンと同時に動かす場合はオンにします | オン |
| Start after restore | 復元が終わったら起動します(既定:オフ) | オフ |
| Add to HA | 復元した仮想マシンを HA の対象にします(既定:オフ) | オフ |
| Override Settings | 名前・メモリ・CPU をバックアップの設定から変えて復元できます | Name を debian01-restore に変更 |
(3) タスクビューアーに [TASK OK] と表示されたら完了です。左のツリーに復元した仮想マシン(103)が追加されます。今回は約 8 秒で終わりました。

復元した仮想マシンは、ゲスト OS の中の設定(IP アドレスやホスト名)も元のままです。元の仮想マシンと同時に起動する場合は、IP アドレスが重複しないように注意してください。
定期バックアップのジョブを作る
(1) 左のツリーで [Datacenter] を選択し、[Backup] をクリックします。[Add] をクリックします。

(2) [Create: Backup Job] の [General] タブで、保存先と実行の予定を指定します。[Schedule] の一覧には、よく使う予定が用意されています。今回は [Every day 21:00] を選択しました。

(3) [Guests to Include] でバックアップする仮想マシンにチェックを入れます。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Node | ジョブを実行するノードです(既定:– All –=すべてのノード) | — All — |
| Storage | 保存先のストレージです | nfs-pvedoc |
| Schedule | 実行する予定です。一覧から選ぶほか、「mon..fri 22:00」のように systemd の時刻書式で直接入力できます | 21:00(Every day 21:00) |
| Selection mode | 対象の選び方です(既定:Include selected VMs)。All(すべて)、Exclude selected VMs(選んだもの以外)、Pool based(プール単位)も選べます | Include selected VMs |
| Compression / Mode | 手動バックアップと同じです(既定:ZSTD / Snapshot) | 既定のまま |
| Enable | ジョブを有効にします(既定:オン) | オン |
| Job Comment | ジョブのメモです | 空欄 |
(4) [Notifications] タブでは、結果の通知方法を選びます。既定の [Use global notification settings] は、データセンターの [Notifications] の設定に従います。

(5) [Retention] タブで、残すバックアップの数を指定します。今回は [Keep Last] を 7 にして、直近 7 個を残すようにしました。何も指定しない場合は、ストレージの [Backup Retention] の設定(または vzdump.conf)に従います。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Keep all backups | オンにするとすべて残します(既定:オフ=ストレージの設定に従う) | オフ |
| Keep Last | 直近の何個を残すかです | 7 |
| Keep Hourly / Daily / Weekly / Monthly / Yearly | 時間・日・週・月・年ごとに、それぞれの期間で最後のバックアップを何個残すかです | 空欄 |
(6) [Note Template] タブでは、このジョブで作るバックアップに付けるメモの書式を指定します(既定:{{guestname}})。

(7) [Advanced] タブには、帯域制限などの詳細な設定があります。今回は既定のままにしました。設定したら [Create] をクリックします。

| 項目 | 説明 |
|---|---|
| Job ID | ジョブの ID です(既定:自動生成)。通知の振り分けの条件に使えます |
| Bandwidth Limit | バックアップの I/O の帯域の上限です(既定:Fallback=ノードの vzdump.conf の値、無ければ無制限) |
| Zstd Threads | zstd の圧縮に使うスレッド数です(既定:1) |
| IO-Workers | 仮想マシンのバックアップで使う I/O のワーカー数です(既定:16) |
| Fleecing | バックアップ中の書き込みを一時的に別のストレージに逃がし、仮想マシンの I/O への影響を減らします(既定:オフ)。オンにする場合は [Fleecing Storage] に高速なローカルストレージを指定します |
| Repeat missed | ノードが止まっていたなどで予定どおり実行できなかったジョブを、起動後すぐに実行します(既定:オフ) |
| PBS change detection mode | Proxmox Backup Server にコンテナをバックアップするときの変更検出の方式です(仮想マシンには関係しません) |
(8) 一覧にジョブが追加され、[Next Run] に次に実行される日時が表示されます。すぐに試す場合は、ジョブを選択して [Run now] をクリックします。

以上でバックアップとリストアの設定は完了です。次の記事では、3 台のノードでクラスタを構築します。