Proxmox VE 9.2でVMバックアップを定期化する|Backup Jobと保持世代を安全に設定

Proxmox VE 9.2のBackup JobでUbuntu VMを定期バックアップし保持世代を確認する流れ Proxmox・Docker

前回はUbuntu VMをStopモードで手動バックアップし、元VMを壊さず別VMIDへ復元できることを確認しました。今回は、その実績を基準にProxmox VE 9.2のBackup Jobで週1回のバックアップを自動化します。

いちばん大切なのは、定期化と古い世代の削除を同時に始めないことです。まず既存の正常な手動バックアップを残し、削除が起きない状態で初回Jobを成功させます。その後にだけ保持世代を評価します。

今回の安全境界:23本目で復元確認した手動バックアップは削除しません。初回Jobではpruneを働かせず、Retention設定後もこの記事中で手動pruneを実行しません。

この記事で行う8手順

  1. 正常な手動バックアップを特定して保護する
  2. Snapshotを使う定期運用の方針を決める
  3. 削除なしでBackup Jobを作成する
  4. 設定と次回実行時刻を確認する
  5. Run nowで初回Jobを実行する
  6. Task・新規バックアップ・既存バックアップを確認する
  7. 保持世代の削除候補を事前評価する
  8. 安全なRetentionを設定して完了確認する

手順1:正常な手動バックアップを特定して保護する

前回使ったバックアップ用StorageのBackupsまたはContentを開き、復元テストに使った手動バックアップを特定します。VMID、作成日時、容量が前回の記録と一致することを確認してください。

対象を選択し、Proxmox VE 9.2の実機画面にProtectedまたは保護に相当する操作があれば有効にします。保護済み表示まで確認します。UI名称が異なる場合は画面上の説明を優先し、判断できなければ削除を伴う設定へ進みません。

Protectedバックアップはpruneの通常対象から外れますが、「何を設定しても安全」という意味ではありません。基準バックアップとして記事の最後まで残します。

Backup and Restore — Proxmox VE公式

停止条件:復元確認済みの手動バックアップを一意に特定できない、VMID・日時・容量が記録と合わない、または保護状態を確認できない場合は、Retentionを設定しません。

手順2:Snapshotを使う定期運用の方針を決める

Proxmox VMバックアップのStopとSnapshotを定期運用の観点で比較した図
復元検証ではStop、停止時間を避けたい定期運用ではSnapshotを第一候補にします。

前回のStopモードは、VMを止めた状態から復元できるかを一度確かめるための選択でした。毎週のJobをStopにすると、そのたびに停止時間が発生します。そこで今回は、QEMU Guest Agentを確認済みのUbuntu VM 1台を対象にSnapshotモードを第一候補とします。

Mode 特徴 今回の扱い
Stop VMを停止してバックアップする 前回の復元検証で使用
Snapshot VMを稼働させたままバックアップしやすい 定期Jobの第一候補
Suspend 処理中にVMを一時停止する 今回は使用しない

SnapshotとGuest Agentは停止時間を減らす助けになりますが、データベースなどのアプリケーション整合性を必ず保証するものではありません。個別の停止・フリーズ手順が必要なサービスは、本記事の設定をそのまま適用しないでください。

停止条件:対象Storageを特定できない、対象VMが複数になっている、Guest Agentが応答しない、またはアプリ固有の整合性要件が不明な場合はJobを作りません。

手順3:削除なしでBackup Jobを作成する

Backup Jobの設定から次回実行時刻、Run now、Storageへの保存確認までの4段階
初回は世代削除を切り離し、設定・予定時刻・手動実行・保存結果を順に確認します。

Datacenter → Backupを開いてJobを追加します。Proxmox VE 9.2実機に表示された項目名を正とし、次の値を声に出して照合します。

項目 初期値
Node 対象ノード
Storage 前回成功したbackup対応Storage
Selection 対象Ubuntu VM 1台のみ
Schedule 週1回、家庭内ラボの低利用時間(例:日曜03:00)
Mode Snapshot
Enabled 有効
Notification 既定値を記録。通知基盤は今回作らない
Retention / Prune backup options 初回は削除なし(Keep All相当)

Retentionの空欄を「保持無制限」とは断定しません。Storage側のprune設定など、実効値が別設定へフォールバックする可能性を確認します。Job単位でKeep All相当を明示できない場合は、Storage側を含め「初回実行で削除されない」と説明できるまでRun nowへ進みません。

停止条件:Retentionの実効値が不明、Storage側に影響範囲の分からないPrune設定がある、Keep All相当を確認できない、またはVM・Storage・Modeのどれかが予定と違う場合は保存・実行しません。

手順4:設定と次回実行時刻を確認する

Jobを保存したら一覧へ戻り、Enabled、対象VM、Storage、Mode、Scheduleを再確認します。さらに表示される次回実行予定が、設定した曜日・時刻になっていることを確認します。

Scheduleはノードの日時とタイムゾーンの影響を受けます。Proxmoxノードの日時・タイムゾーンと、ブラウザーで想定しているローカル時刻が一致するか確認してください。日曜03:00は例なので、家で使っていない時間へ変更して構いません。

pvescheduler(8) — Proxmox VE公式

停止条件:次回実行が想定の曜日・時刻と違う、タイムゾーンが不明、Jobが無効、または対象VM・Storage・Modeが違う場合はRun nowを押しません。

手順5:Run nowで初回Jobを実行する

次回の定期実行を待つより、設定直後にRun now(実機で同等の名称)を実行する方が確認しやすく安全です。操作中にTaskを監視でき、Storageの選択ミスなどを次週まで放置せずに済みます。

ただし、実行前に「初回は削除が起きない」「backup Storageが利用可能」「対象が1台のUbuntu VM」であることをもう一度確認します。バックアップ中はStorageを外したり、同じVMへ重い変更を加えたりしません。

停止条件:Retentionによる削除が起きないと確認できない、Storageが利用不可・容量不足、対象VMを再確認できない、または別のバックアップTaskが動作中なら実行しません。

手順6:Task・新規バックアップ・既存バックアップを確認する

実行したTaskを開き、終了状態がOKまたはSUCCESSで、エラーがないことを確認します。次にStorageのBackups / Contentで、対象VMID・現在日時に対応する新しいバックアップが1件増えたことを確認します。

最後に、手順1の復元確認済み手動バックアップが残り、Protected表示も維持されていることを確認します。成功条件は「Task成功」「新しい保存物」「基準バックアップ残存」の3点です。

停止条件:TaskがFAILED、新しいバックアップがない、想定外VMのバックアップがある、または基準バックアップが見つからない場合はRetentionへ進みません。

手順7:保持世代の削除候補を事前評価する

保護した手動バックアップを残し初回自動バックアップ成功後にKeep Last 3を設定する図
保持設定は初回成功後に分け、削除候補を確認してから安全な値を保存します。

初回Jobの成功後、ようやく保持世代を検討します。家庭内ラボの分かりやすい出発点はKeep Last 3です。ただし、現在の非保護バックアップが3世代を超えるなら、いきなり3へ減らしてはいけません。

keep-last >= 現在の非保護バックアップ世代数

CLIを使える場合は、削除せず結果だけを確認する公式のdry-runを補助にできます。次は説明用の形式です。<STORAGE_ID>や対象は実機に合わせ、表示されたKEEP / REMOVE候補を読めない場合は実行しません。

pvesm prune-backups <STORAGE_ID> --dry-run 1 --keep-last 3

Proxmox VE Storage — 公式 / vzdump(1) — 公式

停止条件:基準バックアップがREMOVE候補、想定以上の世代が削除候補、KEEP / REMOVEを判断できない、またはKeep Lastが現在の非保護世代数より小さい場合は設定しません。

手順8:安全なRetentionを設定して完了確認する

削除候補を説明できたらJobのRetention / Prune backup optionsを開きます。初期例はKeep Last 3、Daily / Weekly / Monthly / Yearlyは未使用です。ただし非保護世代が3より多い場合は、その数以上から始めます。

保存後にRetention値、Enabled、次回実行日時、初回Jobバックアップ、Protectedの手動バックアップを再確認します。設定後もこの記事では手動pruneを実行しません。次の定期実行後に想定どおり世代が残ったか確認します。

保持ルールは複数を組み合わせられ、keep-lastは先に評価されます。運用に慣れてからdaily・weekly・monthlyを追加してください。

停止条件:保存前後で削除候補が予想と変わる、基準バックアップがProtectedでない、実効Retentionを説明できない、または次回実行日時が変わった場合はJobを無効にして見直します。

完了チェックリスト

  1. 1:復元確認済みの手動バックアップを特定し、保護状態を確認した
  2. 2:単一VM・既存Storage・Snapshotを選ぶ理由を確認した
  3. 3:初回に削除が起きない設定でBackup Jobを作成した
  4. 4:Job設定、ノードのタイムゾーン、次回実行時刻を確認した
  5. 5:安全条件を再確認してRun nowを実行した
  6. 6:Task成功、新規バックアップ、既存バックアップ残存を確認した
  7. 7:Retention適用前にKEEP / REMOVE候補を確認した
  8. 8:安全なKeep Lastを保存し、次回実行と2つのバックアップを確認した

今回扱わないこと

Proxmox Backup Server、暗号化、オフサイト、別ノードDR、メール・外部通知基盤、失敗したJobの修復は扱いません。また、既存バックアップの削除や手動pruneも行いません。

まとめ

Backup Jobは作成しただけでは完了ではありません。次回実行時刻を確認し、削除なしのRun nowでTaskと保存物を検証し、基準バックアップが残ったことを確かめてからRetentionへ進むのが安全です。

次回は、定期バックアップが失敗したときにどこを見ればよいかを、Taskログとバックアップ結果から安全に切り分けます。

コメント

タイトルとURLをコピーしました