Skip to main content

Proxmox のバックアップと災害復旧: データ保護の完全ガイド

仮想化基盤の運用において、バックアップと災害復旧(DR)戦略は「やるかどうか」ではなく「どこまで徹底するか」の問題です。Proxmox Backup Server(PBS)は、Proxmox VE と緊密に統合されたバックアップソリューションで、増分バックアップ、重複排除、クライアントサイド暗号化、リモート同期といったエンタープライズグレードの機能を提供します。本記事では、PBS を中核とした包括的なデータ保護戦略を構築する方法を解説します。

Proxmox 環境で Kubernetes を運用する場合、Kubo On-Premise がステートフルワークロードのバックアップと復旧を含むフルマネージド K8s 環境を提供します。

バックアップ戦略の設計

3-2-1 ルール

データ保護の業界標準である 3-2-1 ルールに従います:

  • 3 コピー: 本番データ + 2 つのバックアップ
  • 2 種類の媒体: 異なるストレージ技術を使用(例: SSD + HDD、ローカル + クラウド)
  • 1 コピーをオフサイト: 物理的に離れた場所にリモートバックアップ

最新のベストプラクティスでは、これを 3-2-1-1-0 に拡張します:

  • 1 コピーをエアギャップまたはイミュータブル(変更不可)に
  • 0 エラー: 定期的な検証でバックアップの整合性を確認

バックアップ対象の分類

カテゴリ対象RPO(目標復旧時点)RTO(目標復旧時間)
ミッションクリティカルDB サーバー、認証基盤1 時間15 分
ビジネス重要Web アプリ、API サーバー4 時間1 時間
標準開発環境、テスト VM24 時間4 時間
アーカイブログ、古いスナップショット1 週間24 時間

Proxmox Backup Server のセットアップ

PBS のインストール

PBS の公式ドキュメントに従い、専用サーバーにインストールします:

bash
# PBS ISO からのインストール後、Web UI にアクセス
# https://<pbs-ip>:8007

# または既存の Debian サーバーにインストール
apt install proxmox-backup-server

データストアの作成

バックアップを保存するデータストアを設定します:

bash
# ストレージパスを作成
mkdir -p /backup/datastore1

# PBS Web UI または CLI でデータストアを作成
proxmox-backup-manager datastore create ds1 /backup/datastore1

PBS のチャンクベースの重複排除アーキテクチャにより、変更されたデータのみが保存され、ストレージ使用量を最大 90% 削減できます。

PVE との統合

Proxmox VE 側で PBS をストレージとして登録します:

bash
# PVE に PBS ストレージを追加
pvesm add pbs pbs-local \
  --server 192.168.1.50 \
  --datastore ds1 \
  --username backup@pbs \
  --fingerprint <PBS-fingerprint> \
  --content backup

Web UI からは、Datacenter → Storage → Add → Proxmox Backup Server で追加できます。

Kubo のインフラ管理と組み合わせれば、Kubernetes の Persistent Volume バックアップも統合的に管理できます。

バックアップスケジュールと保持ポリシー

vzdump によるスケジュール設定

vzdump は Proxmox VE の組み込みバックアップツールです。Web UI の Datacenter → Backup からスケジュールを作成します:

bash
# CLI でバックアップジョブを作成
# 毎日 2:00 AM にすべての VM をバックアップ
cat > /etc/pve/jobs.cfg <<EOF
vzdump: daily-backup
    schedule 02:00
    storage pbs-local
    mode snapshot
    all 1
    compress zstd
    mailnotification failure
    mailto admin@example.com
EOF

バックアップモード:

モード説明ダウンタイム
Snapshotライブスナップショット(推奨)なし
Suspend一時停止してバックアップ短い
StopVM を停止してバックアップあり

保持(リテンション)ポリシー

保持ポリシーはストレージコストとデータ保護のバランスです:

bash
# PBS データストアのプルーニング設定
proxmox-backup-manager prune-job create ds1-prune \
  --store ds1 \
  --schedule "daily" \
  --keep-last 3 \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 6 \
  --keep-yearly 2

重要: プルーニングはチャンクを「未使用」としてマークするだけです。実際にディスク容量を解放するには、ガベージコレクション(GC)が必要です。GC は通常、プルーニング後 30-60 分で自動実行されます。

リモート同期と災害復旧

リモート PBS への同期

PBS の組み込みの同期ジョブ機能を使い、オフサイトの PBS インスタンスにバックアップを複製します:

bash
# リモート PBS サーバーの登録
proxmox-backup-manager remote add remote-pbs \
  --host remote-pbs.example.com \
  --auth-id sync@pbs \
  --fingerprint <remote-fingerprint>

# 同期ジョブの作成(プッシュ方向)
proxmox-backup-manager sync-job create offsite-sync \
  --store ds1 \
  --remote remote-pbs \
  --remote-store ds1-remote \
  --schedule "daily" \
  --rate-in 100  # 帯域制限 100 MB/s

同期はプッシュ方向とプル方向の両方をサポートし、帯域制限やサーバーサイドの暗号化/復号にも対応しています。

暗号化の設定

クライアントサイド暗号化により、転送中・保管中のデータを保護します:

bash
# 暗号化キーの生成
proxmox-backup-client key create /etc/proxmox-backup/encryption-key.json

# 暗号化キーのバックアップ(非常に重要)
# キーを安全な場所に保管してください。キーを紛失するとバックアップの復元が不可能になります

# 暗号化を有効にしてバックアップ
proxmox-backup-client backup \
  vm/100.img:/dev/vg/vm-100-disk-0 \
  --keyfile /etc/proxmox-backup/encryption-key.json \
  --repository pbs-server:ds1

災害復旧手順

全損シナリオからの復旧手順を文書化し、定期的にテストしてください:

  1. 新規 Proxmox VE ノードをインストール
  2. PBS ストレージを接続: pvesm add pbs pbs-restore --server <pbs-ip> ...
  3. VM/CT を復元: Web UI の Backup → Restore、または qmrestore コマンド
  4. ネットワーク設定を確認: IP アドレス、VLAN、ファイアウォールルール
  5. サービスの動作確認: アプリケーション、データベース接続、DNS
bash
# CLI での VM 復元
qmrestore pbs-local:backup/vm/100/2026-05-26T02:00:00Z 100 --storage local-lvm

# FUSE マウントによるファイルレベルの復元
proxmox-backup-client mount pbs-server:ds1:backup/vm/100/latest /mnt/restore

バックアップの検証とテスト

バックアップは復元できなければ意味がありません。定期的な検証を実施します:

自動検証ジョブ

bash
# PBS データストアの検証ジョブを作成
proxmox-backup-manager verify-job create ds1-verify \
  --store ds1 \
  --schedule "weekly" \
  --outdated-after 30  # 30 日以上検証されていないスナップショットを対象

復元テスト

月次で復元テストを実施し、手順書の正確性を確認します:

  1. テスト用の隔離ネットワークを用意
  2. 最新のバックアップから VM を復元
  3. アプリケーションの動作を確認
  4. 復元にかかった時間を記録(RTO の検証)
  5. データの整合性を確認(RPO の検証)

Proxmox フォーラムのバックアップ関連スレッドでは、実践的な DR 手法が共有されています。

まとめ

Proxmox Backup Server は、重複排除、暗号化、リモート同期といったエンタープライズグレードの機能を無償で提供し、堅牢なデータ保護基盤を構築できます。3-2-1-1-0 ルールに基づいた戦略を実装し、定期的な検証と復元テストで信頼性を維持しましょう。

Proxmox 上の Kubernetes ワークロードを含む包括的なバックアップ・DR 戦略には、Kubo On-Premise が最適です。フルマネージド K8s としてステートフルワークロードの保護と復旧を自動化します。

バックアップ・DR 戦略の設計に関するご相談は、お問い合わせからご連絡ください。

関連リンク:

← Back to all posts