OpenStack Zed : Windows イメージを登録する2023/01/31 |
Glance に Windows イメージの登録をします。
当例では以下のような環境で Openstack システムを構成しています。
------------+-----------------------------+-----------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ dlp.srv.world ] | | [ network.srv.world ] | | [ node01.srv.world ] | | (Control Node) | | (Network Node) | | (Compute Node) | | | | | | | | MariaDB RabbitMQ | | Open vSwitch | | Libvirt | | Memcached Nginx | | Neutron Server | | Nova Compute | | Keystone httpd | | OVN-Northd | | Open vSwitch | | Glance Nova API | | Nginx iSCSI Target | | OVN Metadata Agent | | Cinder API | | Cinder Volume | | OVN-Controller | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | 任意の Compute ノードで Windows のイメージを作成して、Glance へ登録します。 例として、Windows Server 2022 のイメージを作成します。 Windows Server 2022 インストール ISO イメージは事前にダウンロードしておきます。 |
# Windows 用 VirtIO ドライバーダウンロード root@node01:~# wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -O /home/virtio-win.iso
# Windows インストール
root@node01:~# virt-install \
--name Win2k22 \
--ram 6144 \
--disk path=/var/kvm/images/Win2k22.img,size=40,bus=virtio \
--disk path=/home/virtio-win.iso,device=cdrom \
--vcpus 4 \
--os-variant win2k22 \
--network default,model=virtio \
--graphics vnc,listen=0.0.0.0,password=password \
--video vga \
--cdrom /home/Win2022_EN-US_20348.169.210806-2348.fe.iso
# セキュアブートを有効にする場合は以下
root@node01:~# virt-install \
--name Win2k22 \
--ram 6144 \
--disk path=/var/kvm/images/Win2k22.img,size=40,bus=virtio \
--disk path=/home/virtio-win.iso,device=cdrom \
--cpu host-passthrough \
--vcpus=4 \
--os-variant win2k22 \
--network default,model=virtio \
--graphics vnc,listen=0.0.0.0,password=password \
--video virtio \
--cdrom /home/Win2022_EN-US_20348.169.210806-2348.fe.iso \
--features kvm_hidden=on,smm=on \
--boot loader=/usr/share/OVMF/OVMF_CODE.secboot.fd,loader_ro=yes,loader_type=pflash,nvram_template=/usr/share/OVMF/OVMF_VARS.ms.fd
|
[2] | インストール中、以下の画面で、インストール先のディスクを認識させるために VirtIO ドライバーをロードします。 [Load driver] をクリックして次へ進みます。 |
![]() |
[3] | [virtio-win.iso] 配下のフォルダーを指定します。 x64 システムの場合、[amd64] - [2k22] を選択して次へ進めば、適切なドライバーが選択されます。 この後は通常のインストールと同じです。 |
![]() |
![]() |
![]() |
[4] | インストール後、システムにログオンし、ネットワーク デバイス にも VirtIO ドライバーを適用しておきます。 |
![]() |
[5] | PowerShell を管理者権限で起動し、Openstack システムから設定変更できるよう ExecutionPolicy を Unrestricted に変更しておきます。 PS > Set-ExecutionPolicy Unrestricted |
![]() |
[6] | CloudbaseInit をダウンロードしてインストールします。 PS > curl.exe -L https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi -o cloudbaseinit.msi PS > ./cloudbaseinit.msi |
![]() |
![]() |
[7] | Sysprep を実行してシャットダウンするために、全てチェックを入れて [Finish] します。 |
![]() |
[8] | 作成した Windows イメージを Glance に登録します。 |
root@node01:~#
openstack image create "Win2k22" --file /var/kvm/images/Win2k22.img --disk-format qcow2 --container-format bare --public
# セキュアブート有効でインストールした場合は以下 root@node01:~# openstack image create "Win2k22" --file /var/kvm/images/Win2k22.img --disk-format qcow2 --container-format bare --public \ --property hw_firmware_type=uefi --property hw_machine_type=q35 --property os_secure_boot=optional |
[9] | 任意の Openstack ユーザーで Windows インスタンスを作成して起動します。 |
ubuntu@dlp ~(keystone)$ openstack flavor list +----+-----------+------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+-----------+------+------+-----------+-------+-----------+ | 0 | m1.small | 2048 | 10 | 0 | 1 | True | | 1 | m1.medium | 8192 | 45 | 0 | 4 | True | +----+-----------+------+------+-----------+-------+-----------+ubuntu@dlp ~(keystone)$ openstack image list +--------------------------------------+------------+--------+ | ID | Name | Status | +--------------------------------------+------------+--------+ | 126bc335-fc00-478d-b84a-a9e79eba2574 | Ubuntu2204 | active | | f374ad82-8e44-40bf-a93f-b332dd67cc67 | Win2k22 | active | +--------------------------------------+------------+--------+ubuntu@dlp ~(keystone)$ openstack security group list +--------------------------------------+------------+------------------------+----------------------------------+------+ | ID | Name | Description | Project | Tags | +--------------------------------------+------------+------------------------+----------------------------------+------+ | 64ab1a43-1de2-4cf6-a0b3-5e4c8b64aeb0 | default | Default security group | 4dd1e1f6bac441ff9c77002c3ab4c58a | [] | | 8757368a-e07f-494f-9fc3-f3c19d79d1d9 | secgroup01 | secgroup01 | 4dd1e1f6bac441ff9c77002c3ab4c58a | [] | +--------------------------------------+------------+------------------------+----------------------------------+------+ubuntu@dlp ~(keystone)$ openstack network list +--------------------------------------+---------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+--------------------------------------+ | 394ec727-7e9a-473e-8068-45aa841a9ac2 | public | ea6cb6cb-74ed-4007-bd25-b3fb84111e84 | | 7336a271-bec9-4d33-8dc5-e9f3a9892ed7 | private | a454cf3e-fef5-46f6-8468-4a26cbd14983 | +--------------------------------------+---------+--------------------------------------+
ubuntu@dlp ~(keystone)$
netID=$(openstack network list | grep private | awk '{ print $2 }')
# [admin_pass=***] : 任意の Administrator パスワードを設定 ubuntu@dlp ~(keystone)$ openstack server create --flavor m1.medium --image Win2k22 --security-group secgroup01 --nic net-id=$netID --property admin_pass="P@ssw0rd01" Windows-2022
openstack server list +--------------------------------------+--------------+--------+------------------------+---------+-----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+--------------+--------+------------------------+---------+-----------+ | 6df16866-7c4f-45d7-99d7-b06622fbbf47 | Windows-2022 | ACTIVE | private=192.168.100.31 | Win2k22 | m1.medium | +--------------------------------------+--------------+--------+------------------------+---------+-----------+ubuntu@dlp ~(keystone)$ openstack console url show Windows-2022 +----------+-----------------------------------------------------------------------------------------------+ | Field | Value | +----------+-----------------------------------------------------------------------------------------------+ | protocol | vnc | | type | novnc | | url | https://dlp.srv.world:6080/vnc_auto.html?path=%3Ftoken%3D1011c36d-30cd-4931-ae07-aa06a47f74d7 | +----------+-----------------------------------------------------------------------------------------------+ |
[10] | 初回アクセス時はパスワード変更を求められます。 現在のパスワードはインスタンス作成時に指定したパスワードです。 |
![]() |
![]() |
[11] | パスワード変更後、正常にログオンできれば OK です。 |
![]() |
※ セキュアブート有効の場合 |
![]() |
Sponsored Link |