Migración de máquinas virtuales de VMware a gran escala
Este artículo lo ayuda a comprender cómo usar scripts para migrar un gran número de máquinas virtuales (VM) de VMware con el método sin agente. Para escalar las migraciones, use el módulo de PowerShell de Azure Migrate.
Nota:
Esta documentación de escenario de migración de VMware de un extremo a otro está actualmente en versión preliminar. Para más información sobre el uso de Azure Migrate, consulte la Documentación del producto de Azure Migrate.
Los scripts de automatización de la migración de VMware de Azure Migrate están disponibles para su descarga en el repositorio de ejemplos de Azure PowerShell en GitHub. Los scripts se pueden usar para migrar máquinas virtuales de VMware a Azure a través del método de migración sin agente. Los comandos de PowerShell para Azure Migrate que se usan en estos scripts están documentados aquí.
Limitaciones actuales
- Estos scripts admiten la migración de máquinas virtuales de VMware con todos sus discos. Puede actualizar los scripts si quiere replicar de manera selectiva los discos conectados a una máquina virtual de VMware.
- Los scripts admiten el uso de recomendaciones de evaluación. Si no se usan recomendaciones de evaluación, todos los discos conectados a la máquina virtual de VMware se migran al mismo tipo de disco administrado (Estándar o Premium). Puede actualizar los scripts si quiere usar varios tipos de discos administrados con la misma máquina virtual.
Requisitos previos
- Complete el tutorial de detección para preparar Azure y VMware para la migración.
- Se recomienda completar el segundo tutorial para evaluar las máquinas virtuales de VMware antes de migrarlas a Azure.
- Debe tener el módulo
Az
de Azure PowerShell. Si necesita instalar o actualizar Azure PowerShell, siga esta guía para instalar y configurar Azure PowerShell.
Instalación del módulo de PowerShell de Azure Migrate
El módulo de PowerShell de Azure Migrate está disponible en versión preliminar. Deberá instalar el módulo de PowerShell mediante el siguiente comando.
Install-Module -Name Az.Migrate
Archivo de entrada CSV
Cuando haya completado todos los requisitos previos, debe crear un archivo CSV que contenga datos de cada máquina virtual de origen que quiera migrar. Todos los scripts están diseñados para funcionar en el mismo archivo CSV. Hay una plantilla de CSV de ejemplo disponible en la carpeta de scripts para su referencia. El archivo .csv se puede configurar para usar las recomendaciones de evaluación e, incluso, especificar si no se deben desencadenar determinadas operaciones para una máquina virtual específica.
Nota:
El mismo archivo .csv se puede usar para migrar máquinas virtuales en varios proyectos de Azure Migrate.
Esquema del archivo .csv
Encabezado de columna | Descripción |
---|---|
AZMIGRATEPROJECT_SUBSCRIPTION_ID | Indique el id. de suscripción del proyecto de Azure Migrate. |
AZMIGRATEPROJECT_RESOURCE_GROUP_NAME | Indique el nombre del grupo de recursos de Azure Migrate. |
AZMIGRATEPROJECT_NAME | Indique el nombre del proyecto de Azure Migrate en el que quiere migrar los servidores. |
SOURCE_MACHINE_NAME | Indique un nombre descriptivo (nombre para mostrar) para la máquina virtual detectada en el proyecto de Azure Migrate. |
AZMIGRATEASSESSMENT_NAME | Indique el nombre de la evaluación que se debe usar para la migración. |
AZMIGRATEGROUP_NAME | Indique el nombre del grupo que se usó para la evaluación de Azure Migrate. |
TARGET_RESOURCE_GROUP_NAME | Indique el nombre del grupo de recursos de Azure al que se debe migrar la máquina virtual. |
TARGET_VNET_NAME | Indique el nombre de la red virtual de Azure que la máquina virtual migrada debe usar. |
TARGET_SUBNET_NAME | Indique el nombre de la subred de la red virtual de destino que la máquina virtual migrada debe usar. Si se deja en blanco, se usará la subred "predeterminada". |
TARGET_MACHINE_NAME | Indique el nombre que la máquina virtual migrada debe usar en Azure. Si se deja en blanco, se usará el nombre de la máquina de origen. |
TARGET_MACHINE_SIZE | Proporcione la referencia de almacén (SKU) que la máquina virtual debe usar en Azure. Para migrar una máquina virtual a una máquina virtual D2_v2 de Azure, especifique el valor de este campo como "Standard_D2_v2". Si usa una evaluación, este valor se obtendrá dependiendo de la recomendación de evaluación. |
LICENSE_TYPE | Especifique si quiere usar Ventaja híbrida de Azure para máquinas virtuales de Windows Server. Use el valor "WindowsServer" para aprovechar la Ventaja híbrida de Azure. De lo contrario, déjelo en blanco o use "NoLicenseType". |
OS_DISK_ID | Proporcione el identificador de disco del sistema operativo para la máquina virtual que se va a migrar. El identificador de disco que se va a usar es la propiedad de identificador único (UUID) del disco recuperado mediante el cmdlet Get-AzMigrateServer. El script usará el primer disco de la máquina virtual como disco del sistema operativo en caso de que no se proporcione ningún valor. |
TARGET_DISKTYPE | Proporcione el tipo de disco que se va a usar para todos los discos de la máquina virtual en Azure. Use "Premium_LRS" para los discos administrados premium, "StandardSSD_LRS" para los discos SSD estándar y "Standard_LRS" para usar discos HDD estándar. Si decide usar una evaluación, el script dará prioridad al uso de los tipos de disco recomendados para cada disco de la máquina virtual. Si no usa la evaluación ni especifica cualquier valor, el script usará los discos HDD estándar de manera predeterminada. |
AVAILABILITYZONE_NUMBER | Especifique el número de zonas de disponibilidad que se usarán para la máquina virtual migrada. Puede dejarlo en blanco si no quiere usar zonas de disponibilidad. |
AVAILABILITYSET_NAME | Especifique el nombre del conjunto de disponibilidad que se va a usar para la máquina virtual migrada. Puede dejarlo en blanco si no quiere usar conjuntos de disponibilidad. |
TURNOFF_SOURCESERVER | Especifique "Y" si quiere apagar la máquina virtual de origen en el momento de la migración. De lo contrario, use "N". Si se deja en blanco, el script supone que el valor es "N". |
TESTMIGRATE_VNET_NAME | Especifique el nombre de la red virtual que se va a usar para la migración de prueba. |
UPDATED_TARGET_RESOURCE_GROUP_NAME | Si quiere actualizar el grupo de recursos que se va a usar en la máquina virtual migrada en Azure, especifique el nombre del grupo de recursos de Azure; de lo contrario, déjelo en blanco. |
UPDATED_TARGET_VNET_NAME | Si quiere actualizar la red virtual que se va a usar en la máquina virtual migrada en Azure, especifique el nombre de la red virtual de Azure; de lo contrario, déjelo en blanco. |
UPDATED_TARGET_MACHINE_NAME | Si quiere actualizar el nombre que se va a usar en la máquina virtual migrada en Azure, especifique el nombre nuevo que se va a usar; de lo contrario, déjelo en blanco. |
UPDATED_TARGET_MACHINE_SIZE | Si quiere actualizar la SKU que se va a usar en la máquina virtual migrada en Azure, especifique la SKU nueva que se va a usar; de lo contrario, déjelo en blanco. |
UPDATED_AVAILABILITYZONE_NUMBER | Si quiere actualizar la zona de disponibilidad que se va a usar en la máquina virtual migrada en Azure, especifique la zona de disponibilidad nueva que se va a usar; de lo contrario, déjelo en blanco. |
UPDATED_AVAILABILITYSET_NAME | Si quiere actualizar el conjunto de disponibilidad que se va a usar en la máquina virtual migrada en Azure, especifique el conjunto de disponibilidad nuevo que se va a usar; de lo contrario, déjelo en blanco. |
UPDATE_NIC1_ID | Especifique el id. de la NIC que se va a actualizar. Si se deja en blanco, el script supone que el valor es la primera NIC de la máquina virtual detectada. Si no quiere actualizar la NIC de la máquina virtual, deje en blanco todos los campos que contienen el nombre de la NIC. |
UPDATED_TARGET_NIC1_SELECTIONTYPE | Especifique el valor que se va a usar para esta NIC. Use "Primary", "Secondary" o "DoNotCreate" para especificar si esta NIC debe ser la NIC principal, secundaria o si no se debe crear en la máquina virtual migrada. Solo se puede especificar una NIC como principal de la máquina virtual. Déjelo en blanco si no quiere actualizar. |
UPDATED_TARGET_NIC1_SUBNET_NAME | Especifique el nombre de la subred que se va a usar para la NIC en la máquina virtual migrada. Déjelo en blanco si no quiere actualizar. |
UPDATED_TARGET_NIC1_IP | Especifique la dirección IPv4 que se va a usar en la NIC de la máquina virtual migrada si quiere usar una IP estática. Use "auto" si quiere asignar automáticamente la IP. Déjelo en blanco si no quiere actualizar. |
UPDATE_NIC2_ID | Especifique el id. de la NIC que se va a actualizar. Si se deja en blanco, el script supone que el valor es la segunda NIC de la máquina virtual detectada. Si no quiere actualizar la NIC de la máquina virtual, deje en blanco todos los campos que contienen el nombre de la NIC. |
UPDATED_TARGET_NIC2_SELECTIONTYPE | Especifique el valor que se va a usar para esta NIC. Use "Primary","Secondary" o "DoNotCreate" para especificar si esta NIC debe ser la NIC principal, secundaria o si no se debe crear en la máquina virtual migrada. Solo se puede especificar una NIC como principal de la máquina virtual. Déjelo en blanco si no quiere actualizar. |
UPDATED_TARGET_NIC2_SUBNET_NAME | Especifique el nombre de la subred que se va a usar para la NIC en la máquina virtual migrada. Déjelo en blanco si no quiere actualizar. |
UPDATED_TARGET_NIC2_IP | Especifique la dirección IPv4 que se va a usar en la NIC de la máquina virtual migrada si quiere usar una IP estática. Use "auto" si quiere asignar automáticamente la IP. Déjelo en blanco si no quiere actualizar. |
OK_TO_UPDATE | Use "Y" para indicar si las propiedades de la máquina virtual se deben actualizar al ejecutar el script AzMigrate_UpdateMachineProperties. De lo contrario, use "N" o déjelo en blanco. |
OK_TO_MIGRATE | Use "Y" para indicar si la máquina virtual se debe migrar al ejecutar el script AzMigrate_StartMigration. Use "N" o déjelo en blanco si no quiere migrar la máquina virtual. |
OK_TO_USE_ASSESSMENT | Use "Y" para indicar si la máquina virtual debe iniciar la replicación mediante el uso de recomendaciones de evaluación al ejecutar el script AzMigrate_StartReplication. Esto invalidará los valores de TARGET_MACHINE_SIZE y TARGET_DISKTYPE del archivo .csv. Use "N" o déjelo en blanco si no quiere usar recomendaciones de evaluación. |
OK_TO_TESTMIGRATE | Use "Y" para indicar si la máquina virtual se debe migrar al ejecutar el script AzMigrate_StartTestMigration. Use "N" o déjelo en blanco si no quiere hacer una migración de prueba de la máquina virtual. |
OK_TO_RETRIEVE_REPLICATIONSTATUS | Use "Y" para indicar si el estado de la replicación de la máquina virtual se debe actualizar al ejecutar el script AzMigrate_ReplicationStatus. Use "N" o déjelo en blanco si no quiere actualizar el estado de la replicación. |
OK_TO_CLEANUP | Use "Y" para indicar si la replicación de la máquina virtual se debe limpiar al ejecutar el script AzMigrate_StopReplication. De lo contrario, use "N" o déjelo en blanco. |
OK_TO_TESTMIGRATE_CLEANUP | Use "Y" para indicar si la migración de prueba de la máquina virtual se debe limpiar al ejecutar el script AzMigrate_CleanUpTestMigration. De lo contrario, use "N" o déjelo en blanco. |
Ejecución de script
Una vez que el archivo CSV esté listo, se pueden llevar a cabo estos pasos para migrar las máquinas virtuales de VMware locales.
Núm. de paso | Nombre del script | Descripción |
---|---|---|
1 | AzMigrate_StartReplication.ps1 | Habilite la replicación para todas las máquinas virtuales que aparecen en el archivo .csv. El script crea una salida .csv y un archivo de registro para solucionar problemas. |
2 | AzMigrate_ReplicationStatus.ps1 | Compruebe el estado de la replicación. El archivo crea una salida .csv con el estado de cada máquina virtual y un archivo de registro para solucionar problemas. |
3 | AzMigrate_UpdateMachineProperties.ps1 | Una vez completada la replicación inicial de las máquinas virtuales, use este script para actualizar las propiedades de destino de la máquina virtual (propiedades de proceso y red). El script crea una salida .csv con los detalles del trabajo para cada máquina virtual. |
4 | AzMigrate_StartTestMigration.ps1 | Inicie la conmutación por error de prueba de todas las máquinas virtuales que aparecen en el archivo .csv y que están configuradas para la migración de prueba. El script crea una salida .csv con los detalles del trabajo para cada máquina virtual. |
5 | AzMigrate_CleanUpTestMigration.ps1 | Una vez que valide manualmente las VM en las que se realizó la conmutación por error de prueba, use este script para limpiar la conmutación por error de prueba de todas las VM que aparecen en el archivo .csv y que están configuradas para la limpieza después de la migración de prueba. El script crea una salida .csv con los detalles del trabajo para cada máquina virtual. |
6 | AzMigrate_StartMigration.ps1 | Inicie la migración de todas las máquinas virtuales que aparecen en el archivo .csv y que están configuradas para la migración. El script crea una salida .csv con los detalles del trabajo para cada máquina virtual. |
7 | AzMigrate_StopReplication.ps1 | Detiene la replicación de la máquina virtual después de que se haya migrado correctamente o si quiere cancelar la replicación por otras razones. El script crea una salida .csv con los detalles del trabajo para cada máquina virtual. |
Otros scripts invocan a los siguientes scripts para todas las operaciones de Azure Migrate, como la habilitación de la replicación, el inicio de la migración de prueba, la actualización de las propiedades de la máquina virtual, entre otras. Asegúrese de que todos los scripts se encuentren en la misma carpeta o ruta de acceso.
Núm. de paso | Nombre del script | Descripción |
---|---|---|
1 | AzMigrate_Shared.ps1 | Script común que contiene funciones para recuperar propiedades de evaluación (a través de la API), máquinas virtuales detectadas y máquinas virtuales de replicación. |
2 | AzMigrate_CSV_Processor.ps1 | Script común que contiene funciones que se usan para las operaciones del archivo .csv, como la carga, lectura e impresión de registros. |
3 | AzMigrate_Logger.ps1 | Script común que se invoca para generar el archivo de registro para las operaciones de automatización de Azure Migrate. El archivo de registro tendrá el formato log.NombreDeScript.FechaYHora.txt. |
Además de lo anterior, la carpeta también incluye AzMigrate_Template.ps1, que contiene el marco básico para crear scripts personalizados para las distintas operaciones de Azure Migrate.
Sintaxis de ejecución de script
Una vez descargados los scripts, se pueden ejecutar como se indica a continuación.
Si quiere ejecutar el script para iniciar la replicación de máquinas virtuales mediante el archivo Input.csv, use la sintaxis siguiente.
".\AzMigrate_StartReplication.ps1" .\Input.csv
Para más información sobre cómo usar Azure PowerShell para migrar máquinas virtuales de VMware con Azure Migrate, siga el tutorial.