Skip to content

仮想マシンのオーケストレーション

Cockpit は、物理的な Vapor ホスト上に展開されているすべての仮想マシン(VM)のライフサイクルを一括して管理・調整するための一元化されたコントロールパネルを提供します。管理者は、パフォーマンスの監視、新規ワークロードのプロビジョニング、仮想デバイスの管理、電源操作の実行、およびバックアップポリシーの設定を単一の画面から実行できます。


1. 一元化された VM インベントリ

Cockpit は、接続されているすべての Vapor ホスト上の仮想マシンを単一のインベントリに統合します。

主な機能

  • 統合インベントリ: VM がどの物理ホスト上で動作しているかに関わらず、論理的なグループに分けて仮想マシンを表示、検索、管理できます。
  • リソースおよびメトリックパネル: CPU 使用率、割り当てメモリ、ネットワークトラフィック(IP/MAC アドレス)、およびディスクの読み取り/書き込みスループットのリアルタイムグラフを表示します。
  • コンソールアクセス: Web ブラウザから仮想マシンへの直接的なリモートコンソール接続(VNC または SPICE プロトコル)を開くことができます。これにより、OS への直接アクセスやトラブルシューティングのための仮想モニターおよびキーボードとして機能します。

2. 仮想マシン作成ウィザード

プロビジョニングウィザードは、仮想マシンおよびテンプレートの作成手順を案内します。ステップは最初に選択された**作成タイプ(creation type)**に応じて調整されます。ゼロからの作成ではすべてのハードウェアステップが表示され、クローン、デプロイ、および変換のフローでは必要な項目のみに絞り込まれます。

作成タイプ

タイプ概要
新規 VM の作成ゼロから VM を構築します(配置、OS、ファームウェア、ストレージ、ネットワーク、PCI、Cloud-Init)。
テンプレートからデプロイ既存のテンプレートから新しい VM をインスタンス化し、名前とターゲットストレージを選択します。
既存 VM のクローンVM の構成とディスクの独立したコピーを作成します。
VM をテンプレートへクローンVM をコピーし、再利用可能なテンプレートとして登録します。
テンプレートを VM に変換テンプレートを即座に実行可能な VM に戻す変換を行います。
テンプレートをテンプレートへクローン既存のテンプレートのコピーを作成します。
VM をテンプレートに変換VM をテンプレートへと直接(破壊的に)変換します。

ゼロからの作成ステップ

  1. 作成タイプ(Creation Type): 上記のモードから 1 つ選択します。

  2. 配置ターゲット(Placement Target): データセンター、クラスター、およびホストを選択します。スケジューリングを支援するため、Cockpit は各ホストの空き CPU と RAM を表示します。

  3. 識別情報と OS(Identity & OS): VM 名を設定します。初期および最大 vCPU とメモリ(MiB)— 最大値は CPU/メモリのホットプラグ用に上限容量を確保します。自動起動 (autostart)。ファームウェア(UEFISecure Boot — x86_64 では q35 が必要、および TPM)。およびゲスト OS ファミリー(Linux、Windows、FreeBSD、その他)とバリアント。これにより libvirt ドライバーのプリセットが適用されます。

  4. ストレージ(Storage): 1 つ以上のディスクを追加します。各ディスクにはアクションがあります:

    • 新規作成 (Create New) — 指定したデータストア上に指定サイズの新しいディスク(qcow2、raw、または vmdk)を割り当てます。
    • 〜からクローン (Clone From) — 既存のボリュームをコピーします。
    • 既存をアタッチ (Attach Existing) — データストアにすでに存在するボリュームをアタッチします。
    • 直接 Raw デバイス / DRM (Direct Raw Device) — ホストの物理ブロックデバイス(raw フォーマット)をマウントします。

    ディスクのバス(VirtIO、SCSI、IDE、または SATA)を選択し、ISO/CD-ROM メディアを追加することもできます。

  5. ネットワーク(Network): ネットワークインターフェースを追加します。それぞれについて、タイプ(Network、Bridge、Direct/macvtap、または User mode)、ソースの仮想スイッチ(標準ブリッジまたはクラスターレベルの分散ネットワーク)、ドライバーモデル(VirtIO、e1000、rtl8139、または vmxnet3)、および必要に応じて固定 MAC アドレスを選択します。

  6. 高度な設定(Advanced): GPU やネットワークコントローラーなどの PCI パススルー デバイスをアタッチします。各エントリはホストの PCI アドレスをマッピングし、オプションでゲストアドレス、ROM ファイル、マルチファンクション、およびプライマリ GPU の設定が可能です。

  7. Cloud-Init: 初回起動時の自動設定のため、5 つのタブ(User DataMetadataNetwork DataSSH Keys、および Packages)にわたって Cloud-Init のカスタマイズを注入します。

  8. 確認と作成(Review and Create): 構成を確認し、対象ホストに非同期の作成リクエストを発行します。オプションの 作成後に VM を起動 (Power on VM after creation) トグルを有効にすると、構築完了後すぐにゲストが起動します。

クローン、デプロイ、および変換のフローでは、省略されたステップが表示されます(通常はソースの選択、新しい名前、およびディスクコピー時のターゲットストレージプールのみ)。


3. ライフサイクルと電源操作

Cockpit は、VM に対して以下の電源操作を提供します:

  • 起動(Power On): ゲストオペレーティングシステムをブートします。
  • 一時停止(Pause): 処理をサスペンドし、VM のアクティブな CPU およびメモリの状態をその場でフリーズします。
  • 再開(Resume): 一時停止した VM の CPU 実行およびメモリ状態を復元します。
  • ゲスト OS の再起動(Restart Guest OS): ゲスト内(ACPI)でのリブートを要求し、オペレーティングシステムをクリーンに再起動させます。
  • ハードリセット(Reset - Hard): ゲストの協力なしに、即座に VM をリセットします(物理リセットボタンと同等)。
  • 強制電源オフ(Power Off - Hard): 電源コードを引き抜くのと同様に即座に VM の電源をオフにし、クリーンシャットダウンを行わずにドメインを終了します。

各アクションは、VM の現在の状態に適用可能な場合のみ提供されます。たとえば、Resume は一時停止中の VM にのみ表示され、Restart Guest OS / Reset (Hard) は稼働中にのみ表示されます。


4. ハードウェアとスペックの変更

設定の編集(Edit Settings) ダイアログでは、VM の仮想ハードウェアを変更できます。ダイアログは ハードウェア (Hardware)オプション (Options)、および 詳細パラメータ (Advanced Parameters) タブで構成され、稼働中および停止中の VM の両方に適用されます(一部の変更は次回起動時に有効化されます)。

  • リソースと CPU: vCPUメモリ、CPU トポロジー(ソケット / ダイ / コア / スレッド)、および CPU モデルを調整します。現在の値以上に設定された Max vCPUs および Max Memory の上限値は、CPU とメモリの ホットプラグ 用の拡張容量を確保します。
  • デバイス管理:
    • ハードディスク: 仮想ディスクを追加またはデタッチします。新しいディスクの作成、クローン、アタッチ、または直接 raw デバイスとしてのマウントが可能で、バスやフォーマットを選択できます。CD-ROM/ISO メディアもサポートされます。
    • ネットワークアダプター: ネットワークインターフェースを追加または削除します(Network、Bridge、Direct/macvtap、または User モード。VirtIO / e1000 / rtl8139 / vmxnet3 モデル)。
    • PCI デバイスパススルー: ホストの PCI デバイス(GPU、ネットワークコントローラーなど)を直接 VM にマッピングします(ROM ファイル、マルチファンクション、プライマリ GPU オプションあり)。
  • ファームウェアとオプション: UEFISecure Boot、および TPM を切り替え、アーキテクチャとマシンタイプを設定し、ホスト起動時の自動起動 (autostart with host) を制御します。
  • 詳細パラメータ: 参考およびトラブルシューティングのための、VM の現在のドメイン定義(自動起動およびその他の libvirt パラメータ)の 読み取り専用 (read-only) ビューです。このタブはライブ構成を反映するものであり、編集は行いません。

5. クローンとテンプレートの管理

テンプレートとクローン機能を使用することで、VM 構成の標準化と迅速なプロビジョニングが可能になります。これらはすべてプロビジョニングウィザードの作成タイプステップから実行されます:

  • VM のクローン (VM Cloning): ソース VM の構成と仮想ディスクの独立したコピーを作成します。ウィザードは、ソース VM、新しい VM 名、およびディスク複製のためのターゲットストレージプールの指定を求めます。
  • テンプレートからデプロイ (Deploy from Template): テンプレートから新しい VM をプロビジョニングし、名前と送信先ストレージを選択します。
  • VM をテンプレートへクローン (Clone VM to Template): ソース VM をコピーし、VM およびテンプレートインベントリ内に読み取り専用テンプレートとして登録します。テンプレートダイアログでは、オプションの説明およびターゲットストレージプールも指定できます。
  • テンプレートをテンプレートへクローン (Clone Template to Template): 既存のテンプレートを複製します。
  • VM をテンプレートに変換 (Convert VM to Template): VM をその場で永久にテンプレートに変換します(VM をテンプレートとしてマークするステータス遷移)。
  • テンプレートを VM に変換 (Convert Template to VM): テンプレートを独立した仮想マシンに戻し、通常の電源操作や構成の編集ができるように復元します。

6. 削除とクリーンアップオプション

仮想マシンを削除する際、Cockpit は関連するリソースの管理オプションを提供します:

  • メタデータの削除: Cockpit およびホストハイパーバイザー構成から VM の登録情報を削除します。
  • ストレージのクリーンアップ: デフォルトでは、データの喪失を防ぐために VM を削除しても仮想ディスクは維持されます。管理者は remove_disks パラメータを有効化(API DELETE /vms/:id?remove_disks=true を実行)することで、関連するすべての仮想ディスクボリュームを対応するデータストアから削除できます。