Creación de una imagen personalizada de Windows®

Puede crear su propia imagen personalizada basada en Windows® para importar la imagen personalizada a IBM Cloud® Virtual Private Cloud. A continuación, puede utilizar la imagen personalizada para implementar un servidor virtual o un servidor físico en su IBM Cloud® Virtual Private Cloud infraestructura.

Antes de empezar

Puede empezar con una plantilla de imagen de la infraestructura clásica de IBM Cloud. Para obtener más información, consulte Migración de un servidor virtual desde la infraestructura clásica. También puedes crear una imagen personalizada de un volumen de arranque que esté conectado a un servidor en el momento de la importación. Para obtener más información, consulte Acerca de la creación de una imagen desde un volumen. Tenga en cuenta que las imágenes personalizadas de Windows® no son compatibles con LinuxONE (s390x).

Todas las imágenes personalizadas deben cumplir los siguientes requisitos:

  • Contener un solo archivo o volumen.
  • Debe estar en formato « qcow2 » o «vhd».
  • El tamaño no supera los 250 GB.
  • Asegúrese de que cloud-init(Linux ) o cloudbase-init(Windows) está instalado y activo en la imagen qcow2.
  • El tamaño mínimo es de 10 GB. Para cualquier imagen que sea inferior a 10 GB, el tamaño se redondea a 10 GB.

No es posible crear una imagen a partir de un volumen de arranque cifrado que no tenga 100 GB.

Utilice los siguientes pasos para crear una imagen personalizada de Windows® para desplegar en el entorno de infraestructura IBM Cloud VPC. El procedimiento abarca las siguientes tareas de alto nivel.

  • Utiliza VirtualBox para crear una imagen de Windows® en formato VHD.
  • Personalice la imagen con controladores de virtIO y Cloudbase-init.

Tenga en cuenta los siguientes requisitos antes de crear una imagen personalizada de Windows®.

Los controladores Virtio-win deben estar instalados. Microsoft® recomienda obtener los controladores de una instancia RHEL versión 8 o 9 con licencia. Red Hat utiliza controladores certificados por Microsoft. La versión mínima recomendada del paquete Red Hat virtio-win es virtio-win-1.9.24. Sin embargo, es mejor utilizar el paquete más reciente.

El ISO Red Hat virtio-win-1.9.24 contiene las siguientes versiones de controlador específicas.

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. Creación de la imagen personalizada de Windows

Siga estos pasos para crear una imagen personalizada de Windows®.

  1. Puede descargar la versión de evaluación de los ISO del sistema operativo Windows 2016, Windows 2019o Windows 2022.

  2. Con la utilidad qemu-img, crea una imagen VHD donde quieras instalar Windows. Descargue el programa de utilidad qemu-img y extráigalo en el cliente portátil de Windows. En la carpeta donde ha extraído el programa de utilidad qemu-img, cree la imagen VHD.

    qemu-img.exe create -f vpc Windows-2019.vhd 100G
    

    IBM Cloud® Admite la importación de imágenes personalizadas en formato VHD o qcow2. Sin embargo, VirtualBox no es compatible con el formato « qcow2 ».

  3. Obtenga los controladores virtio-win necesarios suministrando o accediendo a un servidor RHEL existente en IBM Cloud VPC.

    1. En el servidor RHEL en IBM Cloud VPC, instale el paquete virtio-win ejecutando el mandato siguiente.
       yum install virtio-win
    

    En este ejemplo, el paquete virtio-win se instala en RHEL versión 8. El resultado que obtienes es similar al del siguiente ejemplo.

    Installed:
      virtio-win-1.9.24-2.el8_5.noarch
    
    1. Acceda a la ISO de virtio-win en el directorio /usr/share/virtio-win.
       cd /usr/share/virtio-win/
    
    1. Utiliza una copia segura para copiar el archivo ISO de virtio-win, por ejemplo, virtio-win-1.9.24.iso, que podrás utilizar para tu imagen personalizada de Windows®.

      • Utilice winSCP para copiar el archivo ISO en un cliente ®.
      • Utiliza SmartCloud Provisioning para copiar el archivo ISO en un cliente Linux o macOS.
    2. Monte y abra el archivo ISO.

    3. Copie todos los controladores virtio relevantes del archivo virtio-win.iso para el sistema operativo respectivo, coloque los controladores en una carpeta denominada Drivers y, a continuación, copie la carpeta Drivers en la carpeta ISO del sistema operativo.

    4. Descargue el kit de herramientas de despliegue y evaluación de Windows(ADK). Para obtener el programa de utilidad oscdimg.exe, instale sólo las herramientas de despliegue.

    5. Cree un ISO de Windows arrancable que incorpore todos los controladores virtio en la carpeta Drivers utilizando el mandato oscdimg.exe.

       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
    
  4. Utilice VirtualBox para crear un servidor virtual con la imagen VHD que creó en el paso 2 utilizando la ISO de arranque de Windows® que creó en el paso 3. Para obtener más información, consulta Oracle, VM y VirtualBox, «Manual del usuario ».

    Si deseas utilizar un método distinto de VirtualBox para crear la imagen personalizada, como por ejemplo VMware, debes eliminar de la imagen personalizada todos los controladores específicos de ese hipervisor.

  5. En Configuración de almacenamiento, añada la ISO de arranque de instalación de Windows® que creó en el paso 3.

  6. Inicia el servidor y comienza la instalación de Windows®.

  7. Seleccione la Edición (Estándar / Data Center) del sistema operativo y Experiencia de escritorio (con Experiencia de escritorio o sin Experiencia de escritorio).

  8. Seleccione Unidad 0 y continúe con la instalación.

  9. Cuando finalice la instalación, concluya el servidor virtual y elimine el ISO de instalación. Puedes ignorar las advertencias sobre la eliminación de la imagen ISO de instalación.

  10. Utiliza el programa de actualización predeterminado de Windows® para descargar e instalar las actualizaciones de Windows. Repita el proceso de descarga e instalación de actualizaciones hasta que no haya actualizaciones disponibles.

Hacer que los controladores virtio-win estén disponibles en la imagen de recuperación

Una vez creada la imagen de Windows®, asegúrese de que los controladores virtio-win están disponibles en la imagen de recuperación. Este paso garantiza que pueda utilizar la imagen de recuperación para solucionar cualquier problema o para utilizar la imagen en modo de rescate.

Después de descargar los controladores virtio necesarios vioscsi.inf y viostor.inf, siga los siguientes pasos para que los controladores estén disponibles en la imagen de recuperación.

  1. Busque la imagen de recuperación mediante el comando reagentc /info.

    • Si la imagen de recuperación se encuentra en una partición de recuperación independiente, utilice la utilidad diskpart para asignar una letra de unidad y desocultar la unidad. Estos pasos no son necesarios si no existen particiones de recuperación independientes. El siguiente ejemplo es para la partición 3, con la unidad R, y utiliza la configuración id=07.
       diskpart
       select disk 0
       list part
       select part 3
       assign letter R
       set id=07
       exit
    
  2. Para modificar la imagen de recuperación, utiliza reagentc /disable para desactivar el modo de recuperación.

  3. Cree un directorio para montar la imagen de recuperación.

    md C:\mount\winre
    
  4. Copie la imagen de recuperación en el directorio de montaje.

    xcopy /h R:\Recovery\WindowsRE\Winre.wim C:\mount\
    
  5. Haga visible la imagen de recuperación utilizando attrib -s -h -r C:\mount\Winre.wim.

  6. Monte el contenido de la imagen de recuperación mediante dism /Mount-Image /ImageFile:c:\mount\Winre.wim /index:1 /MountDir:c:\mount\winre.

  7. Añade los controladores vioscsi y viostor a la imagen de recuperación. El siguiente ejemplo supone que los controladores virtio están en la unidad E. Seleccione la versión de Windows® correspondiente para los controladores vioscsi y viostor.

    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"
    

    Los volúmenes de almacenamiento auxiliares se presentan como dispositivos de bloque virtio. Tu volumen de arranque es se presenta como un dispositivo SCSI, salvo en dos casos. Si tu volumen de arranque se encuentra en un disco de segunda generación volumen de almacenamiento, se presenta como un dispositivo de bloque virtio. Además, si tu instancia si se ejecuta con arranque seguro y con un sistema operativo Windows Server 2022 o posterior, tu El volumen de arranque se presenta como un dispositivo de bloque virtio.

  8. Después de añadir todos los controladores, estará listo para crear la imagen de recuperación.

    Dism /Image:c:\mount\winre /Cleanup-Image /StartComponentCleanup
    Dism /Unmount-Image /MountDir:c:\mount\winre /Commit
    
  9. Optimizar la imagen de recuperación.

    Dism /Export-Image /SourceImageFile:c:\mount\WinRE.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim
    
  10. Copie la imagen de recuperación en su ubicación original, como se indica en el paso 1, con sus atributos originales.

    xcopy C:\mount\winre-optimized.wim  R:\Recovery\WindowsRE\WinEe.wim /h /r
    
    • Si la imagen de recuperación se encuentra en una partición de recuperación independiente, utilice la utilidad diskpart para eliminar la letra de unidad asignada y ocultar la unidad. Estos pasos no son necesarios si no existen particiones de recuperación independientes. El siguiente ejemplo es para la partición 3 con la unidad R.
       diskpart
       select disk 0
       list part
       select part 3
       remove letter R
       set id=27
       exit
    
  11. Habilita la imagen de recuperación mediante reagentc /enable.

  12. Comprueba si el modo de recuperación está activado mediante reagentc /info.

Su imagen se configura con una imagen de recuperación que incluye los controladores virtio necesarios.

2. Personalización de un servidor virtual

Complete los siguientes pasos para personalizar el servidor virtual que creó mediante VirtualBox.

  1. Instale y configure cloudbase-init desde el paquete de instalación Cloudbase-Init

  2. Modifique el archivo cloudbase-init.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf) para que coincida con los valores siguientes. No elimine ningún otro contenido del archivo.

    [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
    

    Si tienes pensado incluir tu propia licencia para tu imagen personalizada, elimina las siguientes líneas del archivo « cloudbase-init.conf ».

    activate_windows=true
    kms_host=kms.adn.networklayer.com:1688
    
  3. Modifique el archivo cloudbase-init-unattend.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf) para que coincida con los valores siguientes. No elimine ningún otro contenido del archivo.

    [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
    
  4. Modifique el archivo Unattend.xml (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml) y establezca el valor PersistAllDeviceInstalls en false.

  5. Ejecute Sysprep utilizando el mandato siguiente desde el indicador de mandatos.

    C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
    
  6. Después de ejecutar sysprep, el servidor virtual se apaga. Luego, puedes continuar con Paso 4: crear una plantilla de imagen de su servidor virtual personalizado

3. Cargar una imagen personalizada

Utilice la información siguiente para cargar una imagen personalizada en IBM Cloud Object Storage.

En la página « Objetos » de tu depósito de IBM Cloud® Object Storage, haz clic en « Subir ». Puedes utilizar el complemento de transferencia de alta velocidad « Aspera » para subir imágenes que superen los 200 MB. Para obtener más información sobre cómo cargar en IBM Cloud Object Storage, consulte Carga de datos.

Próximos pasos

Cuando su imagen personalizada de Windows® esté creada y disponible en IBM Cloud Object Storage, podrá importar la imagen personalizada a VPC y onboardizar una imagen de servidor virtual para VPC. Asegúrese de otorgar acceso a IBM Cloud Object Storage para importar imágenes.

Si planea utilizar un catálogo privado para gestionar sus imágenes personalizadas, primero debe importar esa imagen a IBM Cloud VPC, y luego incorporarla a un catálogo privado.

Después de importar la imagen personalizada, puede utilizarla para desplegar un servidor en la infraestructura de IBM Cloud® Virtual Private Cloud.

Después de crear un nuevo servidor virtual a partir de la imagen importada, detenga y, a continuación, inicie el servidor virtual antes de acceder a él:

  1. En IBM Cloud la consola, haz clic en Menú de navegación icono del menú > Infraestructura icono VPC > Compute > Virtual server instances.
  2. En la página Instancias de servidor virtual, pulse el icono Acciones Icono Más acciones.