Start typing to search across invoices, services, domains, tickets, and more...
専用サーバーで仮想マシンを運用したり VPS を販売したりする場合、Proxmox VE のバックアップとスナップショットは事前に設計しておくべき必須作業です。誤削除、アップグレード失敗、不正侵入からの復旧はすべてこれに頼ります。本記事では vzdump の3つのバックアップモード、定期バックアップジョブ、qmrestore / pct restore による復元、スナップショットとバックアップの違い、Proxmox Backup Server の役割、容量計画を解説します。対象は Proxmox VE 7.x / 8.x で、コマンドはホストの root で実行します。
標準の local ストレージ(/var/lib/vz)はバックアップを保存できます。local-lvm はVMディスク用でバックアップは置けません。まず空き容量とゲスト一覧を確認します。
pvesm status
df -h /var/lib/vz
qm list
pct list
ls -lh /var/lib/vz/dump/
vzdump は PVE 標準のバックアップツールで、モードの違いは次のとおりです。
# one VM, live, zstd compressed, to storage "local"
vzdump 100 --mode snapshot --storage local --compress zstd
# one container, suspend mode
vzdump 101 --mode suspend --storage local --compress zstd
# stop mode: most consistent, guest is shut down during backup
vzdump 102 --mode stop --storage local --compress zstd
# all guests on this node, with a note
vzdump --all --mode snapshot --storage local --compress zstd --notes-template '{{guestname}} manual'
圧縮は高速で圧縮率も良い zstd がおすすめです。ファイルは /var/lib/vz/dump/ に保存され、VMは .vma.zst、コンテナは .tar.zst になります。
Web 画面の「データセンター → バックアップ → 追加」で、ノード・ストレージ・スケジュール・モード・圧縮を選び、「保持」タブで世代数を設定します。コマンドで作成する場合は次のとおりです。
# every day 02:30, all guests, keep 7 daily + 4 weekly
pvesh create /cluster/backup --schedule '02:30' --all 1 \
--storage local --mode snapshot --compress zstd \
--prune-backups keep-daily=7,keep-weekly=4 --enabled 1
pvesh get /cluster/backup
# preview when a schedule will run
systemd-analyze calendar '02:30'
prune-backups は古いバックアップの自動削除ルールです。keep-daily=7,keep-weekly=4 なら直近7日は1日1つ、直近4週は1週1つを残します。保持ポリシーがないとディスクが満杯になるまで溜まり続けます。
元のVMを上書きしないよう、まず新しい VM ID に復元してデータを確認してから切り替えるのが安全です。上書きする場合は停止してから --force 1 を付けます。
# list backup files on a storage
pvesm list local --content backup
# restore a VM backup to a NEW id 120 on local-lvm
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_10_01-02_30_00.vma.zst 120 --storage local-lvm
# overwrite the existing VM 100 (VM must be stopped)
qm stop 100
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_10_01-02_30_00.vma.zst 100 --force 1
# restore a container backup
pct restore 121 /var/lib/vz/dump/vzdump-lxc-101-2026_10_01-02_30_00.tar.zst --storage local-lvm
スナップショットはある時点のディスク(任意でメモリ)状態を記録し、作成も戻しも数秒で完了するため、OSアップグレードや設定変更前の保険に最適です。ただし元ディスクと同じストレージに置かれるため、ディスク故障時には一緒に失われ、長期保持すると容量を圧迫し性能も低下します。つまりスナップショットは短期的な巻き戻し用、バックアップは本当のデータ保護用です。
# take a snapshot before an upgrade (add --vmstate 1 to include RAM)
qm snapshot 100 before_upgrade --description "before apt full-upgrade"
qm listsnapshot 100
# roll back if something breaks
qm rollback 100 before_upgrade
# delete it when no longer needed
qm delsnapshot 100 before_upgrade
# containers use pct
pct snapshot 101 before_upgrade
pct rollback 101 before_upgrade
スナップショットには LVM-thin、ZFS、Ceph、ディレクトリストレージ上の qcow2 など対応ストレージが必要で、通常の LVM や raw 形式では使えません。
Proxmox Backup Server(PBS)は Proxmox 公式のバックアップ専用サーバーで、増分バックアップ、重複排除、暗号化、検証に対応します。毎日のバックアップでも変更ブロックだけを転送するため、vzdump のフルバックアップより容量・時間ともに大幅に少なくて済みます。一般的には別サーバーや別データセンターに PBS を置き、PVE の「データセンター → ストレージ → 追加 → Proxmox Backup Server」でアドレス、データストア、ユーザー、フィンガープリントを入力して利用します。
# after adding the PBS storage in Datacenter -> Storage, check it
pvesm status
# back up to it like any other storage (named "pbs1" here)
vzdump 100 --mode snapshot --storage pbs1
vzdump の容量目安は「VMの使用データ量 × 圧縮率(zstd で概ね 0.4〜0.7)× 保持世代数」に 20% の余裕を加えた値です。使用量 20GB のVMが10台で7世代保持なら、約 10 × 20 × 0.6 × 7 ≈ 840GB。PBS の重複排除を使えば通常はかなり少なくなります。
VMのオプションで QEMU Guest Agent が有効なのに、ゲスト内でエージェントが動いていません。qemu-guest-agent をインストールして起動する(Debian/Ubuntu は apt、CentOS/Rocky/AlmaLinux は dnf)か、PVE 側でオプションを無効にしてください。
ジョブに適切な保持ポリシーを設定し、/var/lib/vz/dump/ の不要な古いバックアップを確認のうえ削除するか、保存先を別ディスクや PBS に変更してください。
いいえ。スナップショットは元のストレージに依存し、ディスク故障や破損、VMの削除で一緒に消えます。最低1つは別ディスクまたは別サーバーにバックアップを保管しましょう。
解決しない場合は、チケットから IMIDC の 24 時間 365 日テクニカルサポートへご連絡ください:https://www.imidc.com/submitticket.php