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(再開可能アップロード)プロトコル を統合しています。

  • レジューム機能(再開可能性): 大容量の .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 キーを入力する必要があります。キーが一致しない場合、ハイパーバイザーはディスクをマウントできず、ブロック署名の読み取りに失敗します。

5. 外部バックアップ統合 (Vinchin Backup & Recovery)

Cockpit はネイティブの内部バックアップ機能に加えて、cockpit-ovirt-shim サービスインターフェースを介して Vinchin Backup & Recovery などのサードパーティ製エンタープライズバックアップソリューションとの統合をサポートしています。

5.1 oVirt API Shim サービスの有効化

Vinchin などの外部バックアップソリューションが Cockpit の管理 API と通信できるようにするには:

  1. Cockpit アプライアンス管理コンソールにアクセスします。
  2. サービス (Services) セクションに移動します。
  3. cockpit-ovirt-shim サービスを見つけます。
  4. サービスを有効化して開始し、アクティブ状態かつ専用ポートで待機していることを確認します。

5.2 Vinchin と Cockpit の接続

  1. Vinchin Backup & Recovery の管理コンソールにログインします。
  2. Infrastructure (インフラストラクチャ) > Virtual Platform (仮想プラットフォーム) に移動します。
  3. Add (追加) をクリックして新しい仮想プラットフォームを登録します。
  4. プラットフォームの種類として oVirt を選択します(Vinchin は oVirt API shim を使用して Cockpit と通信します)。
  5. ターゲットの Cockpit IP アドレスと管理者資格情報を入力し、接続を確認します。
  6. 登録が完了すると、Cockpit で管理されているすべての仮想マシンが Vinchin の仮想プラットフォームインベントリに自動的に一覧表示されます。

5.3 外部 VM バックアップの実行

  1. Vinchin で VM Backup > Backup に移動し、バックアップジョブを作成します。
  2. 対象の Cockpit 仮想マシンを選択します。
  3. 保存先のバックアップストレージを選択します。
  4. Transmission Strategy (転送戦略) で、Transfer via (転送経由)Image I/O に設定します(最適かつ信頼性の高いディスクブロック転送を行うために必須です)。
  5. スケジュールを設定してジョブを送信し、バックアップタスクを実行します。

5.4 外部 VM のリストア(復元)

  1. Vinchin で VM Restore > Restore に移動し、リストアジョブを作成します。
  2. リストアする Cockpit 仮想マシンの対象バックアップポイントを選択します。
  3. ターゲットの Cockpit ホストを選択します。
  4. VM リストアパラメータ(ターゲットストレージプール、ゲスト OS 設定、名前の競合を防ぐためのディスク名変更など)を構成します。
  5. Transmission Strategy (転送戦略) で、Transfer via (転送経由)Image I/O に設定します。
  6. リストアジョブを送信して実行し、ターゲット Cockpit ホスト上で仮想マシンが正常に起動することを確認します。