メインコンテンツにスキップ
バージョン: 3.0

ISOイメージから仮想マシンを作成する

ISOイメージから仮想マシンを作成する概要

ゲストOS用のクラウドイメージが利用できない場合は、ゲストISOファイルから起動して手動でインストールすることができます。 このガイドでは、WindowsゲストOS向けのISOベースの仮想マシンのインストールについて解説します。

インストール手順では、適切なイメージを準備してアップロードし、CLIコマンドを実行して仮想ハードウェアを設定し、インストール完了後に再利用可能なGlanceイメージテンプレートに変換する必要があります。 設定が完了すれば、このテンプレートを使用して、インストール作業を繰り返すことなく新しい仮想マシンを展開できます。

業務内容

  1. 必要なイメージを入手する:Windowsのインストール用ISOイメージおよび必要なドライバイメージをダウンロードします。 Windowsゲストの場合、通常はハードウェアとの互換性を確保するために、VirtIOドライバーのISOイメージが含まれます。
  2. イメージのアップロードと設定:ISOファイルを環境に追加し、新しい仮想マシンに割り当てます。 この手順では、仮想マシンがインストールメディアから起動できるように、仮想ハードウェアを設定します。
  3. オペレーティングシステムのインストール:ISOイメージからVMを起動し、Windowsのインストールを完了させます。 これは標準的なOSのインストール手順と同様ですが、ドライバの設定に関してゲストOS固有の手順がいくつか追加されています。
  4. VMをテンプレートに変換する:インストールが完了したら、インストール済みのボリュームを一般化して、Glanceに再利用可能なイメージテンプレートとして保存します。 これは、今後作成される仮想マシン(VM)のベースとなるマスターイメージです。
  5. テンプレートからVMを展開:保存したテンプレートを使用して、必要に応じて新しいWindows VMを起動できます。一貫性があり、繰り返し実行可能で、すぐに使用できます。

前提条件

ISOイメージを使用して仮想マシンを作成するには、以下のファイルが必要です:

  1. ISOイメージ:公式のソースまたはリポジトリから、ゲストOSの起動用ISOイメージをダウンロードしてください。
  2. VirtIO ドライバーパック:CubeCOS で最適な互換性とパフォーマンスを得るには、Windows オペレーティングシステム用の VirtIO ドライバーをインストールしてください。

必要なISOイメージをCubeCOSイメージストアにアップロードする

カスタムISOイメージをアップロード

  1. ローカルマシンで、OSベンダーの公式サイトまたは検証済みのリポジトリから必要なISOイメージをダウンロードしてください。

  2. 端末セッションを開きます。

  3. クラスタのVIPへの管理アクセス権を持つコンピュータから、scpコマンドを使用してISOイメージをCubeCOSイメージストアにアップロードしてください。

    次のコマンド内の画像名とクラスタIPを置き換えてください:

    scp replace-with-your-image-name.iso root@<your-cluster-vip>:/mnt/cephfs/glance/
  4. アップロードが完了するまでお待ちください。 所要時間は、画像のサイズとネットワークの帯域幅によって異なります。

VirtIO ドライバーパックのアップロード

  1. VirtIOの安定版ダウンロードページ からVirtIOドライバーパックをダウンロードしてください。

  2. 端末セッションを開きます。

  3. クラスタのVIPへの管理アクセス権を持つコンピュータから、scpコマンドを使用してISOイメージをCubeCOSイメージストアにアップロードしてください。

    次のコマンド内の画像名とクラスタIPを置き換えてください:

    scp virtio-win.iso root@<your-cluster-vip>:/mnt/cephfs/glance/
  4. アップロードが完了するまでお待ちください。 所要時間は、画像のサイズとネットワークの帯域幅によって異なります。

仮想マシンのインストール用にインストールボリュームを準備する

ISOイメージとドライバーパックは、仮想マシンのインストール中にボリュームとして接続できるようになる前に、イメージとしてインポートする必要があります。

:::tip[Repeat [OS ISOおよびドライバーパック用アクション]

先に進む前に、以下の項目についても同じ手順を繰り返してください:

  1. オペレーティングシステムのインストール用ISOイメージ。
  2. 該当する場合は、ドライバーパック。

:::

  1. 端末セッションを開きます。

  2. SSH経由でクラスタのVIPに接続し、rootユーザーとしてログインします

    ssh root@<your-cluster-vip>
  3. ISOファイルがイメージディレクトリに正常にアップロードされたことを確認してください。

    ls /mnt/cephfs/glance/
  4. アップロードされたイメージから起動可能なボリュームを作成します。

    • Windowsの場合は、Windows OSタブを使用して、Windowsシステムに必要な追加のOS仕様を指定してください。
    • Linuxおよびその他のインストールメディア(VirtIOドライバーパックを含む)については、「Linuxおよびその他のOS」タブを使用してください。
    openstack image create \
    --disk-format iso \
    --container-format bare \
    --public \
    --property hw_firmware_type=uefi \
    --property hw_machine_type=q35 \
    --property hw_scsi_model=virtio-scsi \
    --property hw_disk_bus=virtio \
    --property os_secure_boot='optional' \
    --property os_type=windows \
    --file <replace-with-full-path-to-iso-image>.iso \
    <replace-with-imported-image-name>.iso

テンプレート仮想マシンを作成する

ISOベースの仮想マシンを作成するには、Novaコマンドラインインターフェース(CLI)を介して手動で操作する必要があります。

CLI を使用して ISO ベースの仮想マシンを作成する

  1. SSHでターミナルを開きます。

  2. SSH経由でクラスタのVIPに接続し、rootユーザーとしてログインします

    ssh root@<your-cluster-vip>
  3. テンプレート仮想マシンを作成するには、以下のパラメータを置き換えてからコマンドを実行してください。

    1. 仮想マシンの名前:仮想マシンの表示名を入力してください。
    2. フレーバー:仮想マシンにリソースを割り当てるために、フレーバーの詳細を入力してください。
    3. ネットワークネットワーク > ネットワーク に移動してネットワークIDを確認し、仮想マシンで使用するネットワークIDをコピーしてください。
    4. ブートイメージのUUIDCompute > Images に移動し、ISOブートメディアのイメージIDをコピーします。
    5. (Windowsマシンにのみ適用)VirtIOドライバーのUUID「Compute」 > 「Images」 に移動し、VirtIOドライバー用メディアのイメージIDをコピーします。
    6. ブートボリュームのサイズ:ブートボリュームの希望サイズ(GB単位)。
    openstack server create <replace-with-virtual-machine-name> \
    --flavor <replace-with-flavor-size> \
    --network <replace-with-network-uuid> \
    --block-device source_type=image,uuid=<replace-with-boot-media-id>,destination_type=volume,volume_size=10,disk_bus=sata,device_type=cdrom,boot_index=0 \
    --block-device source_type=image,uuid=<replace-with-virtio-media-id>,destination_type=volume,volume_size=10,disk_bus=sata,device_type=cdrom,boot_index=1 \
    --block-device source_type=blank,destination_type=volume,volume_size=<replace-with-size-of-boot-volume>,disk_bus=virtio,device_type=disk,boot_index=2
  4. CubeCOSのWebベース管理UIを開き、インスタンスが正常に作成され、ActiveまたはBuildの状態にあることを確認してください。

    管理UIでWindows VMのビルドを確認する

ISOベースの仮想マシンのインストール

仮想コンソールを使用してWindowsゲストOSをインストールする

WindowsのインストールISOからVMを起動したら、OSのセットアップを完了する前に、必要なVirtIOドライバをインストールしてください。 これらのドライバーにより、WindowsはCubeCOSが提供する仮想ネットワークインターフェースとストレージディスクを認識できるようになります。 これらがなければ、インストーラはブートディスクを認識できず、インストール中およびインストール後はネットワークに接続できなくなります。

  1. プロンプトが表示されたら、「CDまたはDVDから起動するには、任意のキーを押してください」と表示されます。

    Windows UEFI ブートコンソールの画面

  2. VirtIO ドライバーパックから必要なドライバーを参照するには、Load Driver を選択してディレクトリを参照してください。

    管理UIでWindows VMのビルドを確認する

  3. virtio-win-<version> ディスクを選択し、以下の必須ドライバーをインストールしてください:

    1. NetKVM: インストール時およびインストール後の処理においてネットワーク機能をサポートするネットワークドライバ。
      1. NetKVM フォルダを開きます。
      2. お使いのWindowsのバージョンに対応するフォルダを選択してください。
      3. フォルダ内のドライバをスキャンするには、amd64 フォルダを選択し、[スキャン] をクリックしてください。
      4. 「次へ」をクリックしてドライバーをインストールしてください。
    2. viostor:CubeCOSによって接続されたvirtioディスクを検出するために必要なストレージドライバ。
      1. viostor フォルダを開きます。
      2. お使いのWindowsのバージョンに対応するフォルダを選択してください。
      3. フォルダ内のドライバをスキャンするには、amd64 フォルダを選択し、[スキャン] をクリックしてください。
      4. 「次へ」をクリックしてドライバーをインストールしてください。

    Select required VirtIO driver

  4. インストール先のディスクを選択し、ゲストOSのインストールを完了してください。

  5. オペレーティングシステムが再起動したら、デフォルトの認証情報でログインしてください。

  6. マウントされた virtio-win-<version> フォルダに移動します。

  7. 管理者権限で、以下のパッケージを順にインストールしてください:

    1. virtio-win-gt-x64.msi:これは、CubeCOS上でゲストOSが正常に動作するために必要なすべてのドライバーをインストールします。
    2. virtio-win-guest-tool.exe: このゲストツールはパフォーマンスの監視機能を提供し、仮想ゲスト環境におけるスナップショット保護機能をサポートするために必要です。

インストール済みの仮想マシンをイメージテンプレートに変換する

ゲストOSのインストールが完了したら、VMのブートボリュームをGlanceイメージに変換します。 作成されたイメージは、今後同じ構成で作成される仮想マシン向けの再利用可能なデプロイメント・テンプレートとして機能します。

  1. 「Storage > Volumes」に移動し、WindowsゲストOSのボリュームを探してください。

  2. WindowsゲストOSボリュームの「詳細」ドロップダウンを選択し、「データ保護 > イメージの作成」に進みます。

    Select required VirtIO driver

  3. 「画像の作成」ダイアログウィンドウで、以下を入力します:

    1. イメージ名: WindowsゲストOSテンプレートの名前を設定してください。
    2. フォーマット: ディスクのフォーマットを RAW に設定します。

    Select required VirtIO driver

  4. 画像のアップロードが開始され、ステータスは Uploading になります。 必要なVirtIOドライバーを選択してください

  5. 「Compute > Images」に移動し、新しく作成されたイメージの状態を確認してください。イメージの作成中は「Saving」と表示されます。

  6. ステータスが Active と表示された時点で、画像のアップロードは正常に完了しています。

    必要なVirtIOドライバーを選択してください

アップロードした画像にメタデータを追加する

このアップロードされた画像を仮想マシンテンプレートとして正しく展開するには、ハードウェアおよびOSのメタデータが必要です。 これらのプロパティは、ハイパーバイザーに対し、ゲストOSのファームウェア、ディスクバス、およびセキュリティ機能をどのように設定すべきかを指示します。 CubeCOS管理UIの管理者ビューからメタデータを設定します。

  1. 右上の「管理者」をクリックして管理者ビューに切り替える方法については、管理者ビューへのアクセスをご覧ください。

    必要なVirtIOドライバーを選択してください

  2. 「計算」>「画像」を選択し、先ほどアップロードした画像を選択します。

  3. 必要なメタデータを編集するには、その他 > メタデータの管理 のドロップダウンメニューを選択してください。

    必要なVirtIOドライバーを選択してください

  4. 画像に以下の metadata フィールドを追加してください。

    ゲストOSについては、常にvTPMの要件を満たすようにしてください

    以下の2つの項目は、ゲストOSで必要とされる場合にのみ追加してください。

    • hw_tpm_version = 2.0
    • hw_tpm_model = tpm-crb

    :::警告[WindowsゲストOSの場合]

    以下を設定する必要があります:

    • os_type=windows

    :::

    メタデータフィールド
    hw_firmware_typeuefi
    hw_disk_busvirtio
    hw_machine_typeq35
    hw_scsi_modelvirtio-scsi
    os_secure_bootoptional
    hw_tpm_version2.0
    hw_tpm_modeltpm-crb
    os_typewindows

    必要なVirtIOドライバーを選択してください

  5. 画像名を選択して詳細を開き、すべてのメタデータが正しく適用されていることを確認してください。

    Select required VirtIO driver

  6. 確認が完了したら、このテンプレートを使用して新しい仮想マシンを作成できます。