Erstellen eines benutzerdefinierten Windows®-Images
Sie können Ihr eigenes benutzerdefiniertes Windows®-basiertes Image erstellen, um das benutzerdefinierte Image 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 außerdem ein benutzerdefiniertes Image eines Startvolumes 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.
- Liegen im Format qcow2 oder vhd vor.
- Die Größe darf 250 GB nicht überschreiten.
- Vergewissern Sie sich, dass cloud-init(Linux ) oder cloudbase-init(Windows) im qcow2 Image installiert und aktiv ist.
- 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.
Es ist nicht möglich, ein Image von einem verschlüsselten Startvolume zu 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®-Image 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 von Microsoft zertifizierte Treiber. Die empfohlene Mindestversion Red
Hat des Pakets „virtio-win“ 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-imgein 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-imgextrahiert haben.qemu-img.exe create -f vpc Windows-2019.vhd 100GIBM Cloud® Unterstützt den Import benutzerdefinierter Images im VHD- oder „ qcow2 “-Format. VirtualBox unterstützt jedoch das Format „ qcow2 “ nicht.
-
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-winIn diesem Beispiel wird das Paket virtio-win unter RHEL Version 8 installiert. Die von Ihnen zurückgegebene Ausgabe entspricht in etwa dem 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-winzu.
cd /usr/share/virtio-win/-
Verwenden Sie „secure copy“, um die virtio-win-ISO-Datei, beispielsweise
virtio-win-1.9.24.iso, für Ihr benutzerdefiniertes Windows®-Image zu kopieren.- Verwenden Sie winSCP, um die ISO-Datei auf einen ®-Client zu kopieren.
- Verwenden Sie „ SmartCloud Provisioning “, um die ISO-Datei auf einen Client unter Linux oder macOS zu kopieren.
-
Hängen Sie die ISO-Datei an und öffnen Sie sie.
-
Kopieren Sie alle relevanten virtio-Treiber aus der Datei
virtio-win.isofür das jeweilige Betriebssystem, stellen Sie die Treiber in einen Ordner namensDriversund kopieren Sie dann den OrdnerDriversin den ISO-Ordner des Betriebssystems. -
Laden Sie Windows Assessment and Deployment Toolkit(ADK)herunter. Installieren Sie nur die Implementierungstools, um das Dienstprogramm
oscdimg.exeabzurufen. -
Erstellen Sie mit dem Befehl
oscdimg.exeeine bootfähige Windows-ISO-Datei, die alle virtio-Treiber im OrdnerDriversenthä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 unter Oracle, VM und VirtualBox im Benutzerhandbuch.
Wenn Sie zum Erstellen des benutzerdefinierten Images eine andere Methode als „ VirtualBox “ verwenden möchten, z. B. „ VMware “, müssen Sie alle für diesen Hypervisor spezifischen Treiber aus dem benutzerdefinierten Image 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 mit der 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 bezüglich der Entfernung der ISO-Installation ignorieren.
-
Verwenden Sie das standardmäßige Windows®-Update-Programm, 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 Partition3mit dem LaufwerkRund verwendet die Einstellungid=07.
diskpart select disk 0 list part select part 3 assign letter R set id=07 exit - Wenn sich das Wiederherstellungsimage in einer separaten Wiederherstellungspartition befindet, verwenden Sie das Dienstprogramm
-
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.wimverwenden. -
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
vioscsiundviostorin 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 Treibervioscsiundviostor.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"Zusätzliche Speichervolumes werden als virtio-Blockgeräte dargestellt. Ihr Startvolume ist wird als SCSI-Gerät dargestellt, außer in zwei Fällen. Wenn sich Ihr Startvolume auf einem Gerät der zweiten Generation befindet Speichervolumen wird als virtio-Blockgerät dargestellt. Außerdem gilt: Wenn Ihre Instanz mit Secure Boot und einem Betriebssystem vom Typ Windows Server 2022 oder neuer läuft, ist Ihr Das Boot-Volume wird als virtio-Blockgerät dargestellt.
-
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 Partition3mit LaufwerkR.
diskpart select disk 0 list part select part 3 remove letter R set id=27 exit - Wenn sich das Wiederherstellungsimage in einer separaten Wiederherstellungspartition befindet, verwenden Sie das Dienstprogramm
-
Aktivieren Sie das Wiederherstellungsimage mit
reagentc /enable. -
Überprüfen Sie mithilfe von
reagentc /info, ob der Wiederherstellungsmodus aktiviert ist.
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.LocalScriptsPluginWenn Sie beabsichtigen, eine eigene Lizenz für Ihr benutzerdefiniertes Image mitzubringen, 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 WertPersistAllDeviceInstallsauffalse. -
Führen Sie
Sysprepaus, 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® “-Speicherbuchs unter Object Storage auf „ Hochladen “. Sie können das Plug-in „ Aspera “ für Hochgeschwindigkeitsübertragungen 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 Ihre benutzerdefinierten Bilder mit einem privaten Katalog verwalten möchten, müssen Sie das Bild zunächst in importieren und anschließend in IBM Cloud VPC einen privaten Katalog aufnehmen.
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'
.