Proxmox VEのバックアップ3択:あなたに合うのはどれ?
私は12台のVMとコンテナを管理するProxmox VEのホームラボを運用しています — 本番環境に導入する前にあらゆるものを検証するプレイグラウンドです。何年もかけてさまざまなバックアップツールを試してきた中で、ジュニアのシステム管理者からよく聞かれるのが:PBSで十分なのに、なぜVeeamが必要なの?という質問です。
答えは必ずしも「Veeamの方が優れている」ということではありません。正確に言うと、それぞれのツールは異なる課題に適しています。Proxmox VEでVMをバックアップする主な方法は3つあります:
- vzdump — 組み込み、無料、最小限のセットアップ
- Proxmox Backup Server (PBS) — 無料、Proxmox専用設計
- Veeam Backup & Replication — エンタープライズソリューション、マルチプラットフォーム対応
vzdump — シンプルだが明確な制限あり
vzdumpはProxmoxに組み込まれているツールで、KVM VMとLXCコンテナの両方をバックアップできます。VMが3〜5台程度で複雑な保持ポリシーが不要な場合に適しています。デメリット:真の重複排除がない、増分バックアップはスナップショットモードでのみ動作、リストアの管理がかなり手動寄りです。
Proxmox Backup Server — ほとんどのケースで十分
PBSはProxmoxと深く統合されており、PXARフォーマットによる優れた重複排除と圧縮、真の増分バックアップを備えています。一般的なサーバーワークロードでは重複排除率は約2:1〜3:1に達し、多くのリストアポイントを保持する際にストレージを大幅に節約できます。PBSについては別記事で詳しく書きましたが、純粋なProxmox環境でコストをかけたくない場合、PBSが最適な選択です。この先を読む必要はありません。
Veeam Backup & Replication — 本当に必要なのはいつ?
Veeamはバージョン12.1(2024年初頭)からProxmox VEに対応しました。PBSにない強みがあります:
- ハイブリッド環境:Proxmox、VMware/Hyper-V、クラウドが混在 — 一つのコンソールですべて管理
- VMレプリケーションでDRサイトへ同期 — PBSにはこの機能がない
- Instant Recovery — リストア完了を待たず数分でバックアップファイルから直接VMを起動
- 企業向けの監査証跡付きコンプライアンスとレポーティング
- 同一インターフェースで物理サーバーとクラウドワークロードを管理するVeeam Agent
PBS対Veeam:メリット・デメリット分析
各評価項目を具体的に見てみましょう:
- コスト:PBSは完全無料;Veeamは最大10ワークロードまで無料のCommunity Edition、Enterpriseはワークロード単位の有料ライセンス
- 重複排除:両方あり、PBSはPXARチャンク方式、Veeamはジョブ単位またはグローバル重複排除
- VMレプリケーション:PBSはなし;Veeamは対応、低RPOでセカンダリサイトへVMを同期
- Instant Recovery:PBSは限定的なサポート;Veeamはより高速・安定、バックアップから直接VMを起動
- マルチプラットフォーム:PBSはProxmoxのみ;VeeamはVMware、Hyper-V、Proxmox、AWS、Azureに対応
- バックアップサーバーのOS:PBSはLinux/Debian上で動作;Veeam B&RはWindows Serverが必要
- セットアップの複雑さ:PBSはよりシンプル;Veeamはステップが多いが明確なウィザードがある
どのソリューションを選ぶか?
私の経験では、環境によって異なります:
- 純粋なProxmoxのホームラボまたは中小企業 → PBSで十分、複雑にする必要はない
- ハイブリッドエンタープライズ環境(Proxmox + VMware/クラウド)→ Veeamを検討する価値あり
- DRサイトへのVMレプリケーションが必要 → 現時点ではVeeamが最良の選択
- 10VM以下でエンタープライズ機能を無料で試したい → Veeam Community Edition
このガイドではVeeam Community Editionを使用します — 最大10ワークロードまで無料で、ライセンス購入を決める前にすべての機能を体験するのに十分です。
環境の準備
PBSがLinux上で動作するのとは異なり、Veeam B&RはWindows Serverが必要です — これが事前に準備が必要なポイントです。最小要件:
- Windows Server 2019または2022(ラボ用はWindows 10/11でも可)
- CPUコア4基、RAM 8GB(16GB推奨)
- インストール用100GBディスク + バックアップリポジトリ用の別ストレージ
- Proxmoxホストへのポート443および22でのネットワーク接続
VeeamをホストするWindows Server VMをProxmox上に作成します:
# Proxmox ノードで実行
qm create 200 --name veeam-backup-server \
--memory 16384 \
--cores 4 \
--sockets 1 \
--cpu host \
--net0 virtio,bridge=vmbr0 \
--scsihw virtio-scsi-pci \
--scsi0 local-lvm:100 \
--ide2 local:iso/windows-server-2022.iso,media=cdrom \
--boot order=ide2 \
--ostype win11
# VMを起動
qm start 200
Veeam Backup & Replicationのインストール
ステップ1:ISOのダウンロードとマウント
Veeamの公式サイトで無料アカウントを作成し、ISO(約10GB)をダウンロードします。Windows ServerにマウントしてSetup.exeを実行すれば最初のステップは完了です。
PowerShellでサイレントインストールする場合:
# ISOがDドライブにマウントされていると仮定
# サイレントインストール、ライセンスを自動承諾
D:\Setup.exe /silent /acceptlicensepolicy /acceptthirdpartylicenses
# ログでインストール進行状況を確認
Get-Content "C:\ProgramData\Veeam\Setup\Temp\VeeamSetup.log" -Wait -Tail 20
ステップ2:GUIインストールウィザード
通常はウィザードを使用します。重要なステップ:
- Veeam Backup & Replicationを選択(最初は他のコンポーネントはスキップ)
- インストールパスはデフォルトのまま:
C:\Program Files\Veeam\ - SQL Server:Install new instance of SQL Server Expressを選択 — インストーラーが自動インストール、事前準備不要
- サービスアカウント:ラボはLOCAL SYSTEM、本番はドメインアカウントを使用
- 約20〜30分待つ
Proxmox VEをVeeamに接続する
Proxmox専用APIユーザーの作成
Veeamにはrootアカウントを使わないこと。必要な権限だけを持つ専用ユーザーを作成します:
# Proxmox ノードで実行(SSHまたはWeb UIのシェルを使用)
# pve realmにveeamユーザーを作成
pveum useradd veeam@pve --comment "Veeam Backup Service Account"
# 必要な権限を持つロールを作成
pveum roleadd VeeamRole -privs "VM.Audit VM.Backup VM.Config.Disk VM.Config.Options VM.Console VM.Monitor VM.Snapshot VM.Snapshot.Rollback Datastore.AllocateSpace Datastore.Audit"
# ルートパスでユーザーにロールを割り当て(クラスター全体に適用)
pveum aclmod / -user veeam@pve -role VeeamRole
# パスワードを設定
pveum passwd veeam@pve
# 権限を確認
pveum user list | grep veeam
VeeamコンソールへのProxmoxホストの追加
- Veeam Backup & Replication Consoleを開く
- Inventory → Virtual Infrastructure → Add Serverへ移動
- Proxmox Virtual Environmentを選択
- ProxmoxノードのIPまたはホスト名を入力
- 認証情報を追加:ユーザー
veeam@pveと作成したパスワード - 確認を求められたらSSHフィンガープリントを承認
Proxmox Clusterがある場合、各ノードのIPの代わりにクラスターVIPアドレスを追加してください — Veeamがすべてのノードを自動検出します:
# クラスターの確認とノード情報の取得
pvecm status
pvecm nodes
# クラスターのIPを取得(通常はcorosync ring0アドレス)
cat /etc/pve/corosync.conf | grep addr
バックアップリポジトリの作成
Veeamはバックアップをリポジトリに保存します。よく使われる選択肢:
- SSH経由のLinuxサーバー — コスト効率が高く、追加のWindowsライセンスが不要
- NASからのNFS/SMB共有
- S3互換オブジェクトストレージ(自己ホストのMinIOまたはクラウド)
- Windows Server上のローカルディスク — 最もシンプルだが柔軟性に欠ける
Veeamコンソールでリポジトリを追加する手順:
- Backup Infrastructure → Backup Repositories → Add Repositoryへ移動
- 種類を選択:Linux(SSH)またはNetwork attached storage
- サーバーIP、SSH認証情報、バックアップ保存ディレクトリのパスを入力
- concurrent tasksを設定:RAM 16GBのサーバーには4〜8が目安
- リポジトリ側で独自の重複排除(ZFS、NASなど)を使用する場合はDecompress backup data blocks before storingを有効化
Proxmox VMのバックアップジョブ作成
基本ジョブの作成
- Home → Jobs → Backup Job → Virtual machine
- ジョブ名を設定(例:
Proxmox-Production-Daily) - Virtual Machines → Add → 接続済みProxmoxの一覧からバックアップするVMを選択
- 作成したBackup repositoryを選択
- Restore points to keepを設定:通常14(2週間分の日次バックアップを保持)
スケジュールの設定
# 本番環境の標準バックアップスケジュール:
# 増分バックアップ:毎日午前2:00
# アクティブフルバックアップ:日曜日午前1:00(週1回フルバックアップを再構築)
# 失敗したVMの再試行:3回、10分間隔
# ジョブの実行時間制限:8時間超過で終了
# ジョブウィザードのScheduleタブで設定:
# [x] Run the job automatically
# Daily at this time: 2:00 AM
# [x] Retry failed VM processing: 3 times
# Wait before each retry attempt: 10 minutes
# [x] Terminate job if it exceeds: 8 hours
ジョブ実行後のステータス確認
# VeeamサーバーのPowerShellから実行
Add-PSSnapin VeeamPSSnapIn
# 最新のジョブ情報を取得
$job = Get-VBRJob -Name "Proxmox-Production-Daily"
$lastSession = $job | Get-VBRJobSession | Sort-Object CreationTime -Descending | Select-Object -First 1
$lastSession | Select-Object Name, Result, CreationTime, EndTime
# 失敗したVM(あれば)の詳細を確認
$lastSession | Get-VBRTaskSession | Where-Object {$_.Status -ne "Success"} | Select-Object Name, Status, Info
バックアップからのVMリストア
Instant VM Recovery — バックアップから直接VMを起動
これがVeeamで最も気に入っている機能です — PBSにはできないことです。リストアの完了を待たずに、数分でVMが起動します:
- Home → BackupsでVMを右クリック → Restore → Instant Recovery to Proxmox
- 特定のリストアポイントを選択(日時で指定)
- ターゲットのProxmoxホストとストレージを選択
- VMが2〜5分で起動 — Veeamがバックアップファイルを一時ストレージとしてマウント
- VMが正常に動作することを確認後、Migrate to Productionをクリックしてデータを実際のストレージに同期
フルVMリストア — 完全復元が必要な場合
- VMバックアップを右クリック → Restore → Entire VM restore
- リストアポイントと宛先(元の場所または別のProxmoxホスト)を選択
- 変更ブロックのみをリストアする場合(大幅に高速化)はQuick rollbackを選択可能
実運用からの注意点
VeeamとProxmoxを組み合わせてしばらく使ってきた中で、いくつか注意すべき点が見つかりました:
- カーネル更新後のCBTリセット:Changed Block TrackingはProxmoxノードのカーネル更新後にリセットされることがあります。その後の最初のバックアップはフルバックアップになり、通常より時間とストレージ容量を消費します。これはバグではないので、見かけても慌てないようにしましょう
- データベースVM:MySQL/PostgreSQLを実行しているVMは、クラッシュ整合性のあるバックアップを保証するため、ジョブ設定でapplication-aware processingを有効にすべきです。ゲストOS内にVeeam Agentのインストールが必要です
- リポジトリサイズの見積もり:バックアップするVM総容量の少なくとも30%の余裕を見ておくこと。実際の重複排除率はワークロードによって2:1〜4:1と変動します — Webサーバーのように変更が少ないVMはより効率的で、データベースVMは変更が多いため比率が低くなります
- Community Editionは10ワークロードまで:Proxmox VMはそれぞれ1ワークロードとしてカウントされます。私のように12台のVMがある場合、残り2台分のライセンスを購入するか、Veeamでバックアップが必要なVMを絞り込む必要があります
VeeamはすべてのケースでPBSの代替になるわけではありません — それが目標でもありません。しかし環境が大きくなり複雑になると、PBSは限界に達し始めます。DRサイトへのレプリケーション、VMwareとクラウドを同一コンソールから一元管理する — これらの課題はVeeamが解決できますが、PBSにはできません。

