Erstellen eines benutzerdefinierten Windows®-Abbilds
Sie können Ihr eigenes benutzerdefiniertes Windows®-basiertes Bild erstellen, um das benutzerdefinierte Bild in IBM Cloud® Virtual Private Cloud zu importieren. Anschließend können Sie das benutzerdefinierte Image verwenden, um einen virtuellen Server oder Bare-Metal-Server in Ihrer IBM Cloud® Virtual Private Cloud-Infrastruktur bereitzustellen.
Vorbereitende Schritte
Es bietet sich an, mit einer Imagevorlage aus der klassischen IBM Cloud-Infrastruktur zu beginnen. Weitere Informationen hierzu finden Sie unter Virtuellen Server aus klassischer Infrastruktur migrieren. Sie können auch ein benutzerdefiniertes Image eines Boot-Volumes erstellen, das zum Zeitpunkt des Imports an einen Server angeschlossen ist. Weitere Informationen finden Sie unter Informationen zum Erstellen eines Image von einem Datenträger. Beachten Sie, dass Windows® Custom Images für LinuxONE (s390x Prozessorarchitektur) nicht unterstützt werden.
Alle benutzerdefinierten Bilder müssen die folgenden Anforderungen erfüllen:
- Sie müssen eine einzelne Datei oder einen Datenträger enthalten.
- Sie müssen im Format qcow2 oder vhd vorliegen.
- Muss Cloud-Init-fähig oder durch ESXi-Kickstart bootfähig sein.
- Die Größe übersteigt nicht 250 GB.
- Die Mindestgröße beträgt 10 GB. Für jedes Image, das kleiner als 10 GB ist, wird die Größe auf 10 GB aufgerundet.
Sie können kein Image von einem verschlüsselten Boot-Volume (Image von einem Volume) erstellen, das nicht 100 GB groß ist.
Gehen Sie wie folgt vor, um ein benutzerdefiniertes Windows®-Image zu erstellen, das in der IBM Cloud VPC-Infrastrukturumgebung bereitgestellt wird. Die Prozedur umfasst die folgenden allgemeinen Aufgaben:
- Verwenden Sie VirtualBox, um ein Windows®-Abbild im VHD-Format zu erstellen.
- Das Image mit virtIO-Treibern und Cloudbase-init anpassen
Beachten Sie die folgenden Anforderungen, bevor Sie ein benutzerdefiniertes Windows®-Image erstellen.
Virtio-win-Treiber müssen installiert sein. Microsoft® empfiehlt, dass Sie die Treiber von einer lizenzierten RHEL-Instanz der Version 8 oder 9 beziehen. Red Hat verwendet Microsoft-zertifizierte Treiber. Die empfohlene Mindestversion des Red
Hat virtio-win-Pakets ist virtio-win-1.9.24
. Die Verwendung des neuesten Pakets ist jedoch am besten.
Das ISO Red Hat virtio-win-1.9.24 enthält die folgenden spezifischen Treiberversionen.
100.84.104.19500 oem10.inf \vioprot.inf_amd64_af0659efdaba9e4b\vioprot.inf
100.90.104.21400 oem11.inf \viofs.inf_amd64_c6f785e21f3f6f80\viofs.inf
100.85.104.20200 oem12.inf \viogpudo.inf_amd64_b19dcf9947e73e5a\viogpudo.inf
100.85.104.19900 oem13.inf \vioinput.inf_amd64_4505a789e17b5f89\vioinput.inf
100.81.104.17500 oem14.inf \viorng.inf_amd64_ef304eab276a3e61\viorng.inf
100.85.104.19900 oem15.inf \vioser.inf_amd64_cb4783c018c10eba\vioser.inf
100.90.104.21500 oem2.inf \vioscsi.inf_amd64_02a46a7a223648d1\vioscsi.inf
100.90.104.21500 oem3.inf \viostor.inf_amd64_520417bbc533faba\viostor.inf
100.85.104.20700 oem4.inf \balloon.inf_amd64_afa8c93081df5458\balloon.inf
100.90.104.21400 oem5.inf \netkvm.inf_amd64_0efff05c07fcee39\netkvm.inf
100.85.104.19900 oem6.inf \pvpanic.inf_amd64_b7028360ef636f8b\pvpanic.inf
10.0.0.21000 oem9.inf \qxldod.inf_amd64_6199f9ecf2339133\qxldod.inf
1. Erstellen des benutzerdefinierten Windows®-Abbilds
Gehen Sie wie folgt vor, um ein benutzerdefiniertes Windows®-Image zu erstellen.
-
Sie können die Testversion von Windows 2016, Windows 2019oder Windows 2022-Betriebssystem-ISOs herunterladen.
-
Erstellen Sie mit dem Dienstprogramm
qemu-img
ein VHD-Image, auf dem Sie Windows installieren möchten. Laden Sie das Dienstprogramm qemu-img herunter und extrahieren Sie es auf Ihrem Windows-Laptop-Client. Erstellen Sie das VHD-Image in dem Ordner, in dem Sie das Dienstprogrammqemu-img
extrahiert haben.qemu-img.exe create -f vpc Windows-2019.vhd 100G
IBM Cloud® unterstützt den Import benutzerdefinierter Images mit VHD oder qcow2. Virtual Box unterstützt jedoch nicht das Format qcow2.
-
Rufen Sie die erforderlichen virtio-win-Treiber für Bereitstellung ab oder greifen Sie auf einen vorhandenen RHEL-Server in IBM Cloud VPCzu.
-
Installieren Sie auf Ihrem RHEL-Server in IBM Cloud VPCdas virtio-win-Paket, indem Sie den folgenden Befehl ausführen.
yum install virtio-win
In diesem Beispiel wird das Paket virtio-win unter RHEL Version 8 installiert. Die zurückgegebene Ausgabe sieht ähnlich aus wie im folgenden Beispiel.
Installed: virtio-win-1.9.24-2.el8_5.noarch
-
Greifen Sie auf das virtio-win-ISO-Image im Verzeichnis
/usr/share/virtio-win
zu.cd /usr/share/virtio-win/
-
Verwenden Sie eine Sicherheitskopie, um die virtio-win-ISO-Datei zu kopieren, zum Beispiel
virtio-win-1.9.24.iso
, die Sie für Ihr benutzerdefiniertes Windows®-Image verwenden möchten.
- Verwenden Sie winSCP, um die ISO-Datei auf einen ®-Client zu kopieren.
- Verwenden Sie SCP, um die ISO-Datei auf einem Linux-oder macOS-Client zu kopieren.
-
Hängen Sie die ISO-Datei an und öffnen Sie sie.
-
Kopieren Sie alle relevanten virtio-Treiber aus der Datei
virtio-win.iso
für das jeweilige Betriebssystem, stellen Sie die Treiber in einen Ordner namensDrivers
und kopieren Sie dann den OrdnerDrivers
in den ISO-Ordner des Betriebssystems. -
Laden Sie Windows Assessment and Deployment Toolkit(ADK)herunter. Installieren Sie nur die Implementierungstools, um das Dienstprogramm
oscdimg.exe
abzurufen. -
Erstellen Sie mit dem Befehl
oscdimg.exe
eine bootfähige Windows-ISO-Datei, die alle virtio-Treiber im OrdnerDrivers
enthält.C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\x86\Oscdimg> oscdimg -m -bC:\..\..\Downloads\<extracted_ISO_folder>\boot\etfsboot.com -u2 C:\..\..\Downloads\extracted_ISO_folder C:\..\..\Downloads\win2019new.iso
-
-
Verwenden Sie VirtualBox, um einen virtuellen Server mit dem VHD-Image zu erstellen, das Sie in Schritt 2 unter Verwendung des in Schritt 3 erstellten bootfähigen Windows®-ISOs erstellt haben. Weitere Informationen finden Sie im Oracle VM VirtualBox Benutzerhandbuch.
Wenn Sie eine andere Methode als VirtualBox zur Erstellung des benutzerdefinierten Abbilds verwenden möchten, z. B. VMware, müssen Sie alle Treiber, die für diesen Hypervisor spezifisch sind, aus dem benutzerdefinierten Abbild entfernen.
-
Fügen Sie in den Speichereinstellungen das bootfähige Windows®-Installations-ISO hinzu, das Sie in Schritt 3 erstellt haben.
-
Starten Sie den Server und beginnen Sie die Windows®-Installation.
-
Wählen Sie die Edition (Standard / Data Center) des Betriebssystems und Desktop Experience (mit Desktop Experience oder ohne Desktop Experience).
-
Wählen Sie Laufwerk 0 aus und fahren Sie mit der Installation fort.
-
Fahren Sie nach Abschluss der Installation den virtuellen Server herunter und entfernen Sie das ISO-Installationsimage. Sie können Warnungen zum Entfernen der Installations-ISO ignorieren.
-
Verwenden Sie den standardmäßigen Windows®-Updater, um Windows-Updates herunterzuladen und zu installieren. Wiederholen Sie den Prozess zum Herunterladen und Installieren von Updates, bis keine Updates mehr verfügbar sind.
Bereitstellung der Virtio-Win-Treiber im Recovery-Image
Nachdem Sie Ihr Windows®-Image erstellt haben, stellen Sie sicher, dass die virtio-win-Treiber im Recovery-Image verfügbar sind. Dieser Schritt stellt sicher, dass Sie das Wiederherstellungsabbild verwenden können, um Probleme zu beheben oder um das Abbild im Rettungsmodus zu verwenden.
Nachdem Sie die erforderlichen Virtio-Treiber vioscsi.inf
und viostor.inf
heruntergeladen haben, führen Sie die folgenden Schritte aus, um die Treiber im Recovery-Image verfügbar zu machen.
-
Suchen Sie das Wiederherstellungsimage mit dem Befehl
reagentc /info
.-
Wenn sich das Wiederherstellungsimage in einer separaten Wiederherstellungspartition befindet, verwenden Sie das Dienstprogramm
diskpart
, um einen Laufwerksbuchstaben zuzuweisen und das Laufwerk freizugeben. Diese Schritte sind nicht erforderlich, wenn keine separaten Wiederherstellungspartitionen vorhanden sind. Das folgende Beispiel bezieht sich auf die Partition3
mit dem LaufwerkR
und verwendet die Einstellungid=07
.diskpart select disk 0 list part select part 3 assign letter R set id=07 exit
-
-
Um das Recovery-Image zu ändern, verwenden Sie
reagentc /disable
, um den Recovery-Modus zu deaktivieren. -
Erstellen Sie ein Verzeichnis, um das Wiederherstellungsimage zu mounten.
md C:\mount\winre
-
Kopieren Sie das Wiederherstellungsimage in das Mount-Verzeichnis.
xcopy /h R:\Recovery\WindowsRE\Winre.wim C:\mount\
-
Machen Sie das Wiederherstellungsbild sichtbar, indem Sie
attrib -s -h -r C:\mount\Winre.wim
verwenden. -
Mounten Sie den Inhalt des Wiederherstellungsimages mit
dism /Mount-Image /ImageFile:c:\mount\Winre.wim /index:1 /MountDir:c:\mount\winre
. -
Fügen Sie die Treiber
vioscsi
undviostor
in das Wiederherstellungsimage ein. Das folgende Beispiel geht davon aus, dass sich die Virtio-Treiber auf Laufwerk E befinden. Wählen Sie die entsprechende Windows®-Version für die Treibervioscsi
undviostor
.Dism /image:c:\mount\winre /Add-Driver /Driver:"E:\vioscsi\2k19\amd64\vioscsi.inf" Dism /image:c:\mount\winre /Add-Driver /Driver:"E:\viostor\2k19\amd64\viostor.inf"
-
Nachdem Sie alle Treiber hinzugefügt haben, können Sie das Wiederherstellungsimage erstellen.
Dism /Image:c:\mount\winre /Cleanup-Image /StartComponentCleanup Dism /Unmount-Image /MountDir:c:\mount\winre /Commit
-
Optimieren Sie das Wiederherstellungsimage.
Dism /Export-Image /SourceImageFile:c:\mount\WinRE.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim
-
Kopieren Sie das Wiederherstellungsabbild mit seinen ursprünglichen Attributen an den in Schritt 1 angegebenen Speicherort.
xcopy C:\mount\winre-optimized.wim R:\Recovery\WindowsRE\WinEe.wim /h /r
-
Wenn sich das Wiederherstellungsimage in einer separaten Wiederherstellungspartition befindet, verwenden Sie das Dienstprogramm
diskpart
, um den zugewiesenen Laufwerksbuchstaben zu entfernen und das Laufwerk zu verbergen. Diese Schritte sind nicht erforderlich, wenn keine separaten Wiederherstellungspartitionen vorhanden sind. Das folgende Beispiel bezieht sich auf Partition3
mit LaufwerkR
.diskpart select disk 0 list part select part 3 remove letter R set id=27 exit
-
-
Aktivieren Sie das Wiederherstellungsimage mit
reagentc /enable
. -
Überprüfen Sie, ob der Wiederherstellungsmodus aktiviert ist, indem Sie
reagentc /info
verwenden.
Ihr Image wird mit einem Wiederherstellungsimage eingerichtet, das die erforderlichen Virtio-Treiber enthält.
2. Anpassen eines virtuellen Servers
Führen Sie die folgenden Schritte aus, um den virtuellen Server anzupassen, den Sie mit VirtualBox erstellt haben.
-
Installieren und konfigurieren Sie cloudbase-init über das Cloudbase-Init-Installationspaket.
-
Ändern Sie die Datei
cloudbase-init.conf
(C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
) so, dass sie den folgenden Werten entspricht. Entfernen Sie keinen weiteren Inhalt aus der Datei.[DEFAULT] # "cloudbase-init.conf" is used for every boot config_drive_types=vfat,iso config_drive_locations=hdd,partition activate_windows=true kms_host=kms.adn.networklayer.com:1688 mtu_use_dhcp_config=false real_time_clock_utc=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin, cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.userdata.UserDataPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
Wenn Sie Ihre eigene Lizenz für Ihr benutzerdefiniertes Bild mitbringen möchten, entfernen Sie die folgenden Zeilen aus der Datei
cloudbase-init.conf
.activate_windows=true kms_host=kms.adn.networklayer.com:1688
-
Ändern Sie die Datei
cloudbase-init-unattend.conf
(C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf
) so, dass sie den folgenden Werten entspricht. Entfernen Sie keinen weiteren Inhalt aus der Datei.[DEFAULT] # "cloudbase-init-unattend.conf" is used during the Sysprep phase username=Administrator inject_user_password=true first_logon_behaviour=no config_drive_types=vfat config_drive_locations=hdd allow_reboot=false stop_service_on_exit=false mtu_use_dhcp_config=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init-unattend.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin, cloudbaseinit.plugins.windows.createuser.CreateUserPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
-
Ändern Sie die Datei
Unattend.xml
(C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml
) und setzen Sie den WertPersistAllDeviceInstalls
auffalse
. -
Führen Sie
Sysprep
aus, indem Sie den folgenden Befehl über die Eingabeaufforderung ausführen:C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
-
Nach der Ausführung von sysprep wird der virtuelle Server heruntergefahren. Dann können Sie fortfahren mit Schritt 4 - Erstellen einer Image-Vorlage Ihres benutzerdefinierten virtuellen Servers
3. Hochladen eines benutzerdefinierten Bildes
Verwenden Sie die folgenden Informationen, um ein angepasstes Image in IBM Cloud Object Storagehochzuladen.
Klicken Sie auf der Seite Objekte Ihres IBM Cloud® Object Storage Buckets auf Hochladen. Sie können das Aspera-Plugin für die Hochgeschwindigkeitsübertragung verwenden, um Bilder hochzuladen, die größer als 200 MB sind. Weitere Informationen zum Hochladen in IBM Cloud Object Storage finden Sie unter Daten hochladen.
Nächste Schritte
Wenn Ihr benutzerdefiniertes Windows®-Image erstellt und in IBM Cloud Object Storage verfügbar ist, können Sie das benutzerdefinierte Image in VPC importieren und ein virtuelles Server-Image für VPC einbinden. Stellen Sie sicher, dass Sie Zugriff auf IBM Cloud Object Storage erteilen, um Images zu importieren.
Wenn Sie einen privaten Katalog für die Verwaltung Ihrer angepassten Images verwenden möchten, müssen Sie dieses Image zuerst in IBM Cloud VPCimportieren und anschließend in einen privaten Katalog integrieren.
Nachdem das angepasste Image importiert wurde, können Sie es verwenden, um einen Server in Ihrer IBM Cloud® Virtual Private Cloud-Infrastruktur bereitzustellen.
Nachdem Sie einen neuen virtuellen Server aus dem importierten Image erstellt haben, stoppen und starten Sie den virtuellen Server, bevor Sie auf ihn zugreifen:
- Klicken Sie in der IBM Cloud Konsole auf Navigationsmenü
> Infrastruktur
> Compute > Virtuelle Serverinstanzen.
- Klicken Sie auf der Seite Virtuelle Serverinstanzen auf das Symbol 'Aktionen'
.