HowTo: Windows Server installation mit eigener ISO

In OpenStack-Umgebungen besteht die Möglichkeit, eigene ISO-Dateien als Installationsmedien zu verwenden – etwa für individuell angepasste Betriebssysteme, Appliances oder Spezialdistributionen. Dieser Artikel beschreibt die Voraussetzungen, Konfigurationsmöglichkeiten und Besonderheiten bei der Verwendung eigener ISOs.

Damit eine eigene ISO-Datei innerhalb von OpenStack als Installationsmedium genutzt werden kann, müssen folgende Voraussetzungen erfüllt sein:

❗️

Vorraussetzungen:

  • Gewünschte ISOs müssen in Horizon hochgeladen sein
  • IDs der Images müssen für den CLI Befehl bekannt sein

1. Das Windows ISO Image muss die benötigten Metatags gesetzt haben

Horizon -> Compute -> Images -> Edit Image

Metadata:

  • hw_disk_bus = virtio
  • hw_firmware_type = uefi
  • hw_machine_type = q35
  • hw_qemu_guest_agent = yes
  • hw_scsi_model = virtio-scsi

2. Ein root Volume für die Installation muss erstellt sein

Horizon -> Volume -> create Volume

  • Name: windows_data_volume
  • Size: 64GB (oder gewünschte Größe)

Horizon -> Volume -> Edit Volume -> Bootable = yes

3. Instanz erstellen

In diesem Schritt werden alle Volumes an die VM angehängt und mit den Metadata Tags aus den Images gestartet.

🚧

Images können nur via CLI als device_type=cdrom eingehängt werden. Für den nächsten Schritt muss die Openstack CLI Installiert sein.

Folgende IDs werden benötigt:

  • NETWORK_ID = Das Netzwerk in das der Server installiert werden soll
  • KEY = SSH-Key (RSA)
  • SECURITY_GROUP = gewünschte Security Group
  • WINDOWS_ISO = ID der ISO Datei
  • WINDOWS_DATA_VOLUME = das erstellte windows_data_volume
  • WINDOWS_DRIVER_ISO = ID der ISO Datei für die Treiber

4. Application Credential erstellen

Für den Zugriff via API muss ein Application Credential in Horizon erstellt werden.

Horzon -> Identity -> Application Creadentials -> create Application Credential

  • Name: gewünschter Name
  • Roles: lb_member, member
  • Unrestricted: yes
  • Download openrc file

Im Anschluss kann das openrc-File gesourced werden und mittels Openstack CLI kann nun die VM erstellt werden.

source app-cred-123-maxmustermann.sh

openstack server create \
--flavor SCS-4V-8 \
--network NETWORK_ID \
--key-name KEY \
--security-group SECURITY_GROUP \
--block-device "uuid=WINDOWS_ISO,source_type=image,destination_type=volume,volume_size=8,device_type=cdrom,disk_bus=ide,boot_index=1,delete_on_termination=false" \
--block-device "uuid=WINDOWS_DATA_VOLUME,source_type=volume,destination_type=volume,boot_index=0,delete_on_termination=false" \
--block-device "uuid=WINDOWS_DRIVER_ISO,source_type=image,destination_type=volume,volume_size=1,device_type=cdrom,disk_bus=ide,boot_index=2,delete_on_termination=false" \
WindowsServer2025Datacenter