Skip to content

仮想マシンのバックアップ

Cockpit は、包括的な仮想マシン(VM)のバックアップおよびリストア機能を提供します。管理者は手動バックアップや自動スケジュールを使用して、仮想マシンの状態、ディスク、および構成を安全に保護できます。


1. バックアップの仕様

手動バックアップまたはスケジュールの実行時に、管理者は以下の技術パラメータを構成できます:

1.1 バックアップの種類

  • フル (Full): 仮想ディスクボリューム全体をコピーします。これが独立したベースラインとして機能します。
  • 増分 (Incremental): 前回のバックアップ(フルまたは増分)以降に変更されたブロックのみをコピーします。これによりバッキングチェーンが形成され、ストレージの使用量を最小限に抑えます。
  • 差分 (Differential): 最後の フル バックアップ以降に変更されたブロックのみをコピーします。

1.2 保存先(デスティネーション)

バックアップは、ホストに構成されているいずれかのデータストア(ストレージプール)に .qcow2 イメージ(または圧縮バリアント)として保存されます。保存先ストレージプールは容量制限の監視やディレクトリ走査の対象となります。

1.3 圧縮

ストレージ効率を最適化するため、バックアッププロセス中にディスクブロックを圧縮できます。サポートされている形式は以下の通りです:

  • なし (None): 圧縮を行いません(最も高速に処理が完了します)。
  • Gzip: 標準的な圧縮。
  • Zstd (Zstandard): 高性能で、圧縮率と圧縮速度のバランスに優れています。
  • Xz: 最大限の圧縮率を提供します(高い CPU オーバーヘッドが発生します)。

1.4 暗号化

セキュリティコンプライアンスを満たすため、対称暗号化アルゴリズムを使用してブロックレベルでバックアップを暗号化できます:

  • なし (None): 平文で保存されます。
  • AES-128: 128ビットキーを使用した対称暗号化。
  • AES-256: 256ビットキーを使用した対称暗号化。 注意: 作成時に安全なパスフレーズ/キーを設定する必要があり、その後の復元(リストア)時に同じキーの入力が要求されます。

1.5 メモリダンプ(実行状態の保持)

メモリを含める (Include Memory) オプションを有効にすると、VM の実行状態の RAM メモリをキャプチャします。これにより、電源オフ状態からのブートではなく、アクティブな実行状態のまま VM をリストアできます。


2. 自動バックアップスケジュール

Cockpit は、スケジュールマネージャーを介して VM データの自動保護を実施します。スケジュールはデータベースに登録され、バックアップタスクランナーによってバックグラウンドで実行されます。

2.1 スケジュール設定項目

  • 周期 (Periodicity): 毎日 (Daily)毎週 (Weekly)、または 毎月 (Monthly)
  • バックアップの種類: フル増分、または 差分
  • 保存先ストレージプール: 対象のデータストア。
  • 保持ポリシー (Retention): バックアップを保持する日数(例: 7 日間)。この期限を超えた古いバックアップは、バックエンドのクリーンアップターカーによって自動的に破棄されます。
  • 説明: ジョブの目的や内容を示すテキストメタデータ。

3. データストリーミングとアップロード(TUSプロトコル)

外部のバックアップファイルをインポートしたり、既存の仮想ディスクをアップロードしたりするため、Cockpit は tus-js-client を使用した TUS(再開可能アップロード)プロトコル を統合しています。

[クライアント / ブラウザ]                                      [Vapor ホストエージェント]
        │                                                        │
        │ ─── アップロードの開始 (POST /backups/upload) ───────> │ (ストレージ領域確保)
        │ <── アップロード URL と固有 ID の受信 ───────────────── │
        │                                                        │
        │ ─── データの転送 (PATCH /upload/{id} via TUS) ───────> │ (データ追加書き込み)
        │     [ネットワーク切断時の自動再試行・再開処理]         │
        │                                                        │
        │ ─── アップロードの完了確定 ───────────────────────────> │ (イメージファイルの検証)
  • レジューム機能(再開可能性): 大容量の .qcow2 ファイルのアップロード中にネットワーク接続が切断された場合、クライアントは自動的にターゲットサーバーに最終オフセットを問い合わせ、既に送信済みのデータを再送することなく、そのバイト位置からストリーミングを再開します。
  • サポート形式: .qcow2 および圧縮形式の .qcow2.gz.qcow2.zst.qcow2.xz に対応しています。

4. リストア(復元)ワークフロー

バックアップからのリストアは、保存されたアーカイブを使用して VM の構成とディスクイメージを再生成します。

4.1 リストアのオプション

  1. 新規 VM として復元: 異なる名前(例: vm-restored)で新しい仮想マシンインスタンスを作成します。これは運用中の VM に影響を与えず、テスト環境で本番用ゲスト OS を並行して稼働・検証するのに適しています。
  2. 既存 VM を上書き (Overwrite In-place): 既存の仮想マシンのディスクを直接上書きします。

    CAUTION

    既存 VM の上書きは破壊的な操作であり、現在のディスクデータはすべて失われます。上書きを実行する前に、対象の VM を必ず電源オフにする必要があります。

  3. 復号キー: バックアップが暗号化されている場合、作成時と同じ正しい AES キーを入力する必要があります。キーが一致しない場合、ハイパーバイザーはディスクをマウントできず、ブロック署名の読み取りに失敗します。