Compartir a través de


Traslado de una máquina virtual generalizada desde un entorno local a Azure Stack Hub

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca del estado Fin de vida (EOL). Tenga en cuenta su uso y plan según corresponda. Para obtener más información, consulte la guía de fin de vida de CentOS.

Puede agregar una imagen de máquina virtual desde el entorno local. Puede crear su imagen personalizada como disco duro virtual y cargar la imagen en una cuenta de almacenamiento en la instancia de Azure Stack Hub. Después, puede crear una máquina virtual desde el disco duro virtual.

Una imagen de disco generalizada es aquella que se ha preparado con Sysprep para quitar cualquier información exclusiva (como cuentas de usuario), lo que permite que se pueda volver a usar para crear varias máquinas virtuales. Los VHD generalizados son idóneos para cuando se crean imágenes que el operador de nube de Azure Stack Hub planea usar como elementos de Marketplace.

Traslado de una imagen

Busque la sección que se adapte mejor a sus necesidades al preparar el disco duro virtual.

Siga los pasos descritos en Preparación de un VHD o un VHDX de Windows antes de cargarlo en Azure para generalizar correctamente el disco duro virtual antes de la carga. Debe usar un disco duro virtual para Azure Stack Hub.

Comprobación del disco duro virtual

Antes de cargar el disco duro virtual, debe comprobar que este reúne los requisitos. Los discos duros virtuales que no cumplan los requisitos no se cargarán en Azure Stack Hub.

  1. Usará los módulos de PowerShell que se encuentran con Hyper-V. Al activar Hyper-V, se instalan los módulos de PowerShell. Para comprobar que tiene el módulo, abra PowerShell con un símbolo del sistema con privilegios elevados y ejecute el siguiente cmdlet:

    Get-Command -Module hyper-v
    

    Si no tiene los comandos de Hyper-V, consulte Trabajar con Hyper-V y Windows PowerShell.

  2. Obtenga la ruta de acceso al disco duro virtual de su máquina. Ejecute el siguiente cmdlet:

    get-vhd <path-to-your-VHD>
    

    El cmdlet devolverá el objeto VHD y mostrará los atributos, como:

    ComputerName            : YOURMACHINENAME
    Path                    : <path-to-your-VHD>
    VhdFormat               : VHD
    VhdType                 : Fixed
    FileSize                : 68719477248
    Size                    : 68719476736
    MinimumSize             : 32212254720
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 0
    ParentPath              :
    DiskIdentifier          : 3C084D21-652A-4C0E-B2D1-63A8E8E64C0C
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsPMEMCompatible        : False
    AddressAbstractionType  : None
    Number                  :
    
  3. Con el objeto VHD, compruebe que cumple los requisitos de Azure Stack Hub.

    Ademas, Azure Stack Hub solo admite imágenes de máquinas virtuales de la generación uno (1).

  4. Si el disco duro virtual no es compatible con Azure Stack Hub, tendrá que volver a la imagen de origen y a Hyper-V, crear un disco duro virtual que cumpla los requisitos y cargarlo. Para minimizar los posibles daños en el proceso de carga, use AzCopy.

Corrección del disco duro virtual

Se deben cumplir los siguientes requisitos para la compatibilidad del disco duro virtual con Azure Stack Hub.

El disco duro virtual es de tipo fijo.

Identifique: Use el cmdlet get-vhd para obtener el objeto VHD.
Corrección: Puede convertir un archivo VHDX en VHD y también convertir un disco de expansión dinámica en un disco de tamaño fijo, pero no puede cambiar la generación de una máquina virtual. Use el administrador de Hyper-V o PowerShell para convertir el disco.

El disco duro virtual tiene un tamaño mínimo de 20 MB.

Identifique: Use el cmdlet get-vhd para obtener el objeto VHD.
Corrección: Use el administrador de Hyper-V o PowerShell para cambiar el tamaño del disco.

El VHD está alineado.

Identifique: Use el cmdlet get-vhd para obtener el objeto VHD.
Corrección: El tamaño virtual debe ser un múltiplo de uno (1) MB.

Los discos deben tener un tamaño virtual alineado a 1 MiB. Si el disco duro virtual es una fracción de 1 MiB, deberá cambiar el tamaño del disco a un múltiplo de 1 MiB. Los discos que son fracciones de 1 MiB provocan errores al crear imágenes a partir del disco duro virtual cargado. Para comprobar el tamaño, puede usar el cmdlet Get-VHD de PowerShell para mostrar el valor de "Size", que debe ser un múltiplo de 1 MiB en Azure y "FileSize", que será igual al valor de "Size" más 512 bytes para el pie de página del VHD.

Use el administrador de Hyper-V o PowerShell para cambiar el tamaño del disco.

Longitud de blob del disco duro virtual

Identifique: Use el cmdlet get-vhd para mostrar Size
Corrección: La longitud del blob del disco duro virtual = tamaño virtual + longitud de pie de página del disco duro virtual (512). Un breve pie de página al final del blob describe las propiedades del disco duro virtual. Size debe ser un múltiplo de 1 MiB en Azure y FileSize, será igual a Size + 512 bytes para el pie de página del disco duro virtual.

Use el administrador de Hyper-V o PowerShell para cambiar el tamaño del disco.

Máquinas virtuales de generación 1

Identifique: Para confirmar si la máquina virtual es de la generación 1, use el cmdlet Get-VM | Format-Table Name, Generation.
Corrección: Tendrá que volver a crear la máquina virtual en el hipervisor (Hyper-V).

Carga en una cuenta de almacenamiento

Puede cargar el disco duro virtual con el portal, o con el contenedor que creó en el portal, mediante AzCopy.

Uso de Azure Portal para generar la dirección URL de SAS y cargar el disco duro virtual

  1. Inicie sesión en el portal de usuarios de Azure Stack Hub.

  2. Seleccione Cuentas de almacenamiento y seleccione una cuenta de almacenamiento existente o cree una nueva.

  3. Seleccione Blobs en la hoja Cuenta de almacenamiento de la cuenta de almacenamiento. Seleccione Contenedor para crear un nuevo contenedor.

  4. Escriba el nombre del contenedor y, a continuación, seleccione Blob (acceso de lectura anónimo solo para blobs) .

  5. Si va a usar AzCopy para cargar la imagen en lugar del portal, cree un token de SAS. Seleccione Firma de acceso compartido en la cuenta de almacenamiento y, a continuación, seleccione Generar la cadena de conexión y SAS. Copie y anote la URL de SAS de Blob service. Usará esta dirección URL cuando utilice AzCopy para cargar el disco duro virtual.

  6. Seleccione el contenedor y, luego, seleccione Cargar. Cargue el disco duro virtual.

Disco duro virtual de AzCopy

Use Explorador de Azure Storage o AzCopy para reducir la posibilidad de que el disco duro virtual se dañe en el proceso de carga y esta sea más rápida. En los pasos siguientes se usa AzCopy en una máquina con Windows 10. AzCopy es una utilidad de línea de comandos que puede usar para copiar blobs o archivos a una cuenta de almacenamiento o desde una cuenta de almacenamiento.

  1. Si no tiene instalado AzCopy, instálelo. Encontrará instrucciones para descargar y empezar a trabajar con AzCopy en el artículo Introducción a AzCopy. Tome nota de dónde almacena el archivo binario. Puede agregar AzCopy a la ruta de acceso para usarlo desde la línea de comandos de PowerShell.

  2. Abra PowerShell para usar AzCopy desde el shell.

  3. Use AzCopy para cargar el disco duro virtual en el contenedor de la cuenta de almacenamiento.

    set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09
    azcopy cp "/path/to/file.vhd" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS] --blob-type=PageBlob
    

Nota

Cargue el disco duro virtual con una sintaxis similar a la carga de un archivo único en el directorio virtual. Agregue --blob-type=PageBlob para asegurarse de que el disco duro virtual se carga como un blob en páginas, en lugar de como bloque de forma predeterminada.

Para más información sobre el uso de AzCopy y otras herramientas de almacenamiento, consulte Uso de herramientas de transferencia de datos en Azure Stack Hub Storage.

Creación de la imagen en Azure Stack Hub

  1. Inicie sesión en el portal de usuarios de Azure Stack Hub.

    Si es un operador de nube que va a crear una imagen de plataforma, siga las instrucciones de Adición de una imagen de plataforma para agregar el disco duro virtual mediante el portal de administración o con los puntos de conexión del administrador.

  2. En el portal de usuarios, seleccione Todos los servicios>Imágenes>Agregar.

  3. En Crear imagen:

    1. Escriba el nombre de la imagen.

    2. Seleccione su suscripción.

    3. Cree o agregue la imagen a un grupo de recursos.

    4. Seleccione la ubicación, también denominada región, de su ASDK.

    5. Seleccione un tipo de sistema operativo que coincida con la imagen.

    6. Seleccione Examinar y, después, vaya a la cuenta de almacenamiento, el contenedor y el disco duro virtual. Elija Seleccionar.

    7. Seleccione el Tipo de cuenta.

      • Los discos Premium (SSD) están respaldados por unidades de estado sólido y ofrecen coherencia y un rendimiento con baja latencia. Proporcionan el mejor equilibrio entre precio y rendimiento y son ideales para aplicaciones intensivas de E/S y cargas de trabajo de producción.
      • Los discos estándar (HDD) están respaldados por unidades magnéticas y son preferibles para las aplicaciones en la que se accede con poca frecuencia a los datos. Los discos con redundancia de zona tienen el respaldo del almacenamiento con redundancia de zona (ZRS), que replica los datos en varias zonas, por lo que están disponibles aunque si una de las zonas esté inactiva.
    8. Seleccione Lectura/escritura para el almacenamiento en caché del host.

    9. Seleccione Crear.

  4. Una vez creada la imagen, use la imagen para crear una nueva máquina virtual.

Pasos siguientes

Introducción al traslado de una máquina virtual a Azure Stack Hub