Traslado de una máquina virtual de Azure a Azure Stack Hub

Puede cargar un disco duro virtual desde una máquina virtual creada en Azure a la instancia de Azure Stack Hub.

Preparación y descarga del disco duro virtual desde Azure

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

  • Siga los pasos del artículo Creación de una VM de Windows desde un disco especializado mediante PowerShell para preparar el disco duro virtual.
  • Para implementar extensiones de máquinas virtuales, asegúrese de que el agente de máquina virtual .msi esté disponible.
    Para más información e indicaciones, consulte Información general sobre el agente de la máquina virtual de Azure. Asegúrese de que la extensión está instalada en la máquina virtual antes de trasladar esta. Si el agente de máquina virtual no está presente en el disco duro virtual, se producirá un error en la implementación de la extensión. No es necesario establecer el perfil del sistema operativo durante el aprovisionamiento ni establecer $vm.OSProfile.AllowExtensionOperations = $true.

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 máquina virtual

Las imágenes personalizadas presentan dos formas: especializada y generalizada.

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

    Si es un operador de nube que va a crear un disco 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 usuario, seleccione Todos los servicios>Discos>Agregar.

  3. En Crear disco administrado:

    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 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.
    6. Seleccione Storage Blob como Tipo de origen. Ha creado un disco a partir de un blob de una cuenta de almacenamiento.

    7. Para la selección del origen del disco duro virtual:

      1. La suscripción de origen donde se encuentra la cuenta de almacenamiento.
      2. Seleccione Examinar y, después, vaya a la cuenta de almacenamiento, el contenedor y el disco duro virtual. Elija Seleccionar.
      3. Seleccione el tipo de sistema operativo que coincida con el disco duro virtual.
    8. Seleccione un tamaño de disco (GiB) igual o mayor que el del disco duro virtual.

    9. Seleccione Crear.

  4. Una vez creado el disco, puede usarlo para crear una nueva máquina virtual.

Pasos siguientes

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