Skip to content

CML で利用出来る Windows Server の qcow2 イメージを作成する

Cisco CML の Reference Platform には Windows のクライアント / サーバは含まれません。 その為、CML 上で Windows Server を利用したい場合は自身で追加する必要があります。 Windows Server 2019 評価版のダウンロード先は GitHub の cml-community に書かれていますが、詳細な手順は書かれていません。 今回はこの手順を噛み砕いてメモします。

VHD イメージの入手

製品によっては、Microsoft 関連の評価イメージは Evaluation Center からダウンロード出来ます。 Windows Server は各々、下記からダウンロード出来ます。

vhd → qcow2 へのイメージ変換

qemu-img を使ってダウンロードした .vhd ファイルを .qcow2 フォーマットへ変換します。 -f vpc と指定していますが、vpc とは「VHD イメージ」のことを差しています。 データフォーマット毎に qemu-img で指定する引数は qemu-img convert: raw, qcow2, qed, vdi, vmdk, vhd に記載されています。

Windows Server 2019
qemu-img convert -f vpc -O qcow2 \
  17763.737.amd64fre.rs5_release_svc_refresh.190906-2324_server_serverdatacentereval_en-us_1.vhd \
  17763.737.amd64fre.rs5_release_svc_refresh.190906-2324_server_serverdatacentereval_en-us_1.qcow2
Windows Server 2022
qemu-img convert -f vpc -O qcow2 \
  20348.169.amd64fre.fe_release_svc_refresh.210806-2348_server_serverdatacentereval_en-us.vhd \
  20348.169.amd64fre.fe_release_svc_refresh.210806-2348_server_serverdatacentereval_en-us.qcow2

上記では「オジリナルのファイル名はそのままに、拡張子だけ .qcow2 へ変更」しています。 実際に利用する際は win2019.qcow2win2022.qcow2 のように短いファイル名の方が扱いやすいかも知れません。

ノード定義ファイルの作成

CML 用のノード定義ファイルは各々、以下の通りです。 ホストのリソースが余っているようであれば、CPU / メモリ割り当てはもう少し増やした方が使いやすいかもしれません。

Windows_server_2019
win2019.yaml
id: win2019
general:
  description: Windows Server 2019
  nature: server
  read_only: false
device:
  interfaces:
    has_loopback_zero: false
    physical:
      - eth0
    serial_ports: 1
    default_count: 1
ui:
  visible: true
  label_prefix: win2019-
  icon: server
  label: Windows Server 2019
sim:
  linux_native:
    libvirt_domain_driver: kvm
    driver: server
    disk_driver: sata
    ram: 16384
    cpus: 4
    cpu_limit: 100
    nic_driver: e1000
    boot_disk_size: 64
    video:
      model: cirrus
      memory: 16
boot:
  timeout: 300
inherited:
  image:
    ram: true
    cpus: true
    cpu_limit: true
    data_volume: true
    boot_disk_size: true
  node:
    ram: true
    cpus: true
    cpu_limit: true
    data_volume: true
    boot_disk_size: true
configuration:
  generator:
    driver: server
schema_version: 0.0.1
Windows_server_2022
win2022.yaml
id: win2022
general:
  description: Windows Server 2022
  nature: server
  read_only: false
device:
  interfaces:
    has_loopback_zero: false
    physical:
      - eth0
    serial_ports: 1
    default_count: 1
ui:
  visible: true
  label_prefix: win2022-
  icon: server
  label: Windows Server 2022
sim:
  linux_native:
    libvirt_domain_driver: kvm
    driver: server
    disk_driver: sata
    ram: 16384
    cpus: 4
    cpu_limit: 100
    nic_driver: e1000
    boot_disk_size: 64
    video:
      model: cirrus
      memory: 16
boot:
  timeout: 300
inherited:
  image:
    ram: true
    cpus: true
    cpu_limit: true
    data_volume: true
    boot_disk_size: true
  node:
    ram: true
    cpus: true
    cpu_limit: true
    data_volume: true
    boot_disk_size: true
configuration:
  generator:
    driver: server
schema_version: 0.0.1

ノード定義ファイルのインポート

cmlutils (virlutils) を使って CLI からノード定義ファイルを CML へインポートする場合は以下のように実行します。

Windows Server 2019
cml definitions nodes import -f win2019.yaml
Windows Server 2022
cml definitions nodes import -f win2022.yaml

.qcow2 ファイルのインポート

cmlutils を使って CML から .qcow2 ファイルを CML へインポートする場合は以下のように実行します。

Windows Server 2019
cml definitions images import image-file -f 17763.737.amd64fre.rs5_release_svc_refresh.190906-2324_server_serverdatacentereval_en-us_1.qcow2
Windows Server 2022
cml definitions images import image-file -f 20348.169.amd64fre.fe_release_svc_refresh.210806-2348_server_serverdatacentereval_en-us.qcow2

イメージ定義ファイルの作成

Windows_server_2019
win2019.yaml
id: win2019
node_definition_id: win2019
description: Windows Server 2019
label: Windows Server 2019
disk_image: 17763.737.amd64fre.rs5_release_svc_refresh.190906-2324_server_serverdatacentereval_en-us_1.qcow2
read_only: false
disk_subfolder: win2019
schema_version: 0.0.1
Windows_server_2022
win2022.yaml
id: win2022
node_definition_id: win2022
description: Windows Server 2022
label: Windows Server 2022
disk_image: 20348.169.amd64fre.fe_release_svc_refresh.210806-2348_server_serverdatacentereval_en-us.qcow2
read_only: false
disk_subfolder: win2022
schema_version: 0.0.1

イメージ定義ファイルのインポート

cmlutils を使って CLI からイメージ定義ファイルを CML へインポートする場合は以下のように実行します。

Windows Server 2019
cml definitions images import definition -f win2019.yaml
Windows Server 2022
cml definitions images import definition -f win2022.yaml

CML 上の Windows Server へ Ctrl + Alt + Del を送信する

グループポリシー設定がデフォルトのままであれば、Windows Server は ログイン時に Ctrl + Alt + Del の入力を要求します。 CML 上の Windows Server へこのシーケンスを送信する手順は以下の通りです。

Step.1

CML 上で Windows Server を起動して VNC 接続すると、やがて初期セットアップが開始されます。

file

Step.2

初期セットアップが完了すると、初回ログイン時に Press Ctrl + Alt + Delete to unlock. と表示されます。

file

Step.3

VNC 接続しているホストのタブを右クリックし、表示されたメニューから Send CTRL+ALT+DEL をクリックします。

file

Step.4

これで CML 上の Windows Server へキーシーケンスが送信され、Windows Server のパスワード入力画面が表示されました。

file