Migración de máquinas virtuales de VMware a Azure (sin agente): PowerShell
En este artículo, aprenderá a migrar máquinas virtuales (VM) de VMware detectadas con el método sin agente mediante Azure PowerShell para Migración y modernización.
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.
Aprenderá a:
- Recuperar máquinas virtuales de VMware detectadas en un proyecto de Azure Migrate.
- Iniciar la replicación de las máquinas virtuales.
- Actualizar las propiedades para replicar máquinas virtuales.
- Supervisar la replicación.
- Ejecute una migración de prueba para asegurarse de que todo funciona de la forma esperada.
- Ejecutar una migración completa de la máquina virtual.
Nota:
En los tutoriales se muestra la ruta de implementación más sencilla para un escenario, de modo que pueda configurar rápidamente una prueba de concepto. En ellos se usan las opciones predeterminadas siempre que es posible y no muestran todos los valores y rutas de acceso posibles.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Requisitos previos
Antes de comenzar este tutorial, debe:
- Complete el Tutorial: Detección de máquinas virtuales de VMware con Server Assessment para preparar Azure y VMware para la migración.
- Complete Tutorial: Evaluación de máquinas virtuales de VMware para la migración a máquinas virtuales de Azure antes de migrarlas a Azure.
- Instale el módulo de PowerShell.
Instalación del módulo de PowerShell de Azure Migrate
El módulo de PowerShell de Azure Migrate está disponible como parte de Azure PowerShell (Az
). Ejecute el comando Get-InstalledModule -Name Az.Migrate
para comprobar si el módulo Azure Migrate de PowerShell está instalado en la máquina.
Inicie sesión en la suscripción de Azure
Inicie sesión en su suscripción de Azure con el cmdlet Connect-AzAccount.
Connect-AzAccount
Selección de su suscripción a Azure
Use el cmdlet Get-AzSubscription para obtener la lista de suscripciones de Azure a las que tiene acceso. Seleccione la suscripción de Azure donde trabajará con el proyecto de Azure Migrate mediante el cmdlet Set-AzContext.
Set-AzContext -SubscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
Recuperación del proyecto de Azure Migrate
El proyecto de Azure Migrate se usa para almacenar los metadatos de detección, valoración y migración recopilados del entorno que se va a evaluar o migrar. En un proyecto, puede realizar un seguimiento de los recursos detectados, coordinar valoraciones y realizar migraciones.
Como parte de los requisitos previos, ya ha creado un proyecto de Azure Migrate. Con el cmdlet Get-AzMigrateProject puede recuperar los detalles de un proyecto de Azure Migrate. Debe especificar el nombre del proyecto de Azure Migrate (Name
) y el del grupo de recursos de ese proyecto (ResourceGroupName
).
# Get resource group of the Azure Migrate project
$ResourceGroup = Get-AzResourceGroup -Name MyResourceGroup
# Get details of the Azure Migrate project
$MigrateProject = Get-AzMigrateProject -Name MyMigrateProject -ResourceGroupName $ResourceGroup.ResourceGroupName
# View Azure Migrate project details
Write-Output $MigrateProject
Recuperación de las máquinas virtuales detectadas en un proyecto de Azure Migrate
Azure Migrate and Modernize usa un dispositivo de Azure Migrate ligero. Como parte de los requisitos previos, ya ha implementado el dispositivo de Azure Migrate como una máquina virtual de VMware.
Para recuperar una máquina virtual de VMware específica en un proyecto de Azure Migrate, especifique el nombre del proyecto de Azure Migrate (ProjectName
), el grupo de recursos del proyecto (ResourceGroupName
) y el nombre de la máquina virtual (DisplayName
).
# Get a specific VMware VM in an Azure Migrate project
$DiscoveredServer = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -DisplayName MyTestVM | Format-Table DisplayName, Name, Type
# View discovered server details
Write-Output $DiscoveredServer
En este tutorial, vamos a migrar esta máquina virtual.
También puede recuperar todas las máquinas virtuales de VMware en un proyecto Azure Migrate mediante los parámetros ProjectName
y ResourceGroupName
.
# Get all VMware VMs in an Azure Migrate project
$DiscoveredServers = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName
Si tiene varios dispositivos en un proyecto de Azure Migrate, puede usar los parámetros ProjectName
, ResourceGroupName
y ApplianceName
para recuperar todas las máquinas virtuales detectadas mediante un dispositivo de Azure Migrate específico.
# Get all VMware VMs discovered by an Azure Migrate Appliance in an Azure Migrate project
$DiscoveredServers = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -ApplianceName MyMigrateAppliance
Inicialización de la infraestructura de replicación
Migración y modernización usa varios recursos de Azure para migrar máquinas virtuales. Migración y modernización aprovisiona los recursos siguientes en el mismo grupo de recursos que el proyecto.
- Service Bus: la herramienta Migración y modernización usa Service Bus para enviar mensajes de orquestación de replicación al dispositivo.
- Cuenta de almacenamiento de puerta de enlace: la herramienta Migración y modernización usa la cuenta de almacenamiento de puerta de enlace para almacenar información del estado de las máquinas virtuales que se replican.
- Cuenta de almacenamiento de registros: el dispositivo con Azure Migrate carga los registros de replicación de las máquinas virtuales en una cuenta de almacenamiento de registros. Azure Migrate aplica la información de replicación a los discos administrados de réplica.
- Almacén de claves: el dispositivo de Azure Migrate usa el almacén de claves para administrar las cadenas de conexión de Service Bus y las claves de acceso de las cuentas de almacenamiento utilizadas en la replicación.
Antes de replicar la primera máquina virtual en el proyecto de Azure Migrate, ejecute el comando siguiente para aprovisionar la infraestructura de replicación. Este comando aprovisiona y configura los recursos anteriores para que pueda empezar a realizar la migración de las máquinas virtuales de VMware.
Nota:
Un proyecto de Azure Migrate solo admite migraciones a una región de Azure. Una vez ejecutado este script, no se puede cambiar la región de destino a la que quiere migrar las máquinas virtuales de VMware.
Si configura un nuevo dispositivo en el proyecto de Azure Migrate, debe ejecutar el comando Initialize-AzMigrateReplicationInfrastructure
.
En el artículo, inicializamos la infraestructura de replicación para poder migrar nuestras máquinas virtuales a la región Central US
.
# Initialize replication infrastructure for the current Migrate project
Initialize-AzMigrateReplicationInfrastructure -ResourceGroupName $ResourceGroup.ResourceGroupName -ProjectName $MigrateProject. Name -Scenario agentlessVMware -TargetRegion "CentralUS"
Replicación de máquinas virtuales
Una vez terminadas la detección y la inicialización de la infraestructura de replicación, puede empezar la replicación de las máquinas virtuales de VMware en Azure. Puede ejecutar hasta 500 replicaciones simultáneamente.
Para especificar las propiedades de replicación, use la tabla siguiente.
Parámetro | Tipo | Descripción |
---|---|---|
Suscripción y grupo de recursos de destino | Mandatory | Especifique la suscripción y el grupo de recursos a los que se debe migrar la máquina virtual; para ello, proporcione el identificador del grupo de recursos mediante el parámetro TargetResourceGroupId . |
Red virtual y subred de destino | Mandatory | Especifique el identificador de la instancia de Azure Virtual Network y el nombre de la subred donde se debe migrar la máquina virtual mediante los parámetros TargetNetworkId y TargetSubnetName respectivamente. |
Identificador de la máquina | Mandatory | Especifique el identificador de la máquina detectada que debe replicarse y migrarse. Use InputObject para especificar el objeto de máquina virtual detectada para la replicación. |
Nombre de máquina virtual de destino | Mandatory | Especifique el nombre de la máquina virtual de Azure que se va a crear mediante el parámetro TargetVMName . |
Tamaño de la máquina virtual de destino | Mandatory | Especifique el tamaño de máquina virtual de Azure que se usará en la máquina virtual de replicación con el parámetro TargetVMSize . Por ejemplo, para realizar la migración de una máquina virtual a una máquina virtual D2_v2 de Azure, especifique el valor de TargetVMSize como Standard_D2_v2 . |
Licencia | Mandatory | Para usar la Ventaja híbrida de Azure en las máquinas con Windows Server que se incluyen en las suscripciones activas de Software Assurance o Windows Server, especifique el valor del parámetro LicenseType como WindowsServer. En otros casos, especifique el valor NoLicenseType. |
Disco del sistema operativo | Mandatory | Especifique el identificador único del disco que tiene el cargador de arranque y el instalador del sistema operativo. El identificador de disco que se va a usar es la propiedad de identificador único (UUID) del disco recuperado mediante el cmdlet Get-AzMigrateDiscoveredServer. |
Tipo de disco | Mandatory | Especifique el tipo de disco que se va a usar. |
Redundancia de la infraestructura | Opcionales | Especifique la opción de redundancia de infraestructura de la siguiente manera: - Zona de disponibilidad: ancla la máquina migrada a una zona de disponibilidad específica de la región. Use esta opción para distribuir los servidores que forman una capa de aplicación de varios nodos entre zonas de disponibilidad. Esta opción solo está disponible si la región de destino seleccionada para la migración admite zonas de disponibilidad. Para usar zonas de disponibilidad, especifique el valor de la zona de disponibilidad en el parámetro TargetAvailabilityZone . - Conjunto de disponibilidad: coloca la máquina migrada en un conjunto de disponibilidad. Para usar esta opción, el grupo de recursos de destino seleccionado debe tener uno o varios conjuntos de disponibilidad. Para usar un conjunto de disponibilidad, especifique el identificador del conjunto de disponibilidad en el parámetro TargetAvailabilitySet . |
Cuenta de almacenamiento de diagnóstico de arranque | Opcionales | Para usar una cuenta de almacenamiento de diagnóstico de arranque, especifique el identificador en el parámetro TargetBootDiagnosticStorageAccount . - La cuenta de almacenamiento que se usa para el diagnóstico de arranque debe estar en la misma suscripción a la que se van a migrar las máquinas virtuales. - De forma predeterminada, no se establece ningún valor para este parámetro. |
Etiquetas | Opcionales | Agregue etiquetas a las máquinas virtuales, las NIC y los discos migrados. Utilice Tag para agregar etiquetas a las máquinas virtuales, los discos y las NIC o: - Use VMTag para agregar etiquetas a las máquinas virtuales migradas.- Use DiskTag para agregar etiquetas a los discos. Utilice NicTag para agregar etiquetas a las interfaces de red. Por ejemplo, agregue las etiquetas necesarias a la variable $tags y pase la variable en el parámetro requerido: $tags = @{Organization=”Contoso”} . |
Replicación de máquinas virtuales con todos los discos
En este tutorial, replicamos todos los discos de la máquina virtual detectada y se especifica un nombre nuevo para la máquina virtual en Azure. Especificamos el primer disco del servidor detectado como disco del sistema operativo y migramos todos los discos como HDD estándar. Este es el disco que tiene el cargador de arranque y el instalador del sistema operativo. El cmdlet devuelve un trabajo cuyo seguimiento se puede realizar para supervisar el estado de la operación.
# Retrieve the resource group that you want to migrate to
$TargetResourceGroup = Get-AzResourceGroup -Name MyTargetResourceGroup
# Retrieve the Azure virtual network and subnet that you want to migrate to
$TargetVirtualNetwork = Get-AzVirtualNetwork -Name MyVirtualNetwork
# Start replication for a discovered VM in an Azure Migrate project
$MigrateJob = New-AzMigrateServerReplication -InputObject $DiscoveredServer -TargetResourceGroupId $TargetResourceGroup.ResourceId -TargetNetworkId $TargetVirtualNetwork.Id -LicenseType NoLicenseType -OSDiskID $DiscoveredServer.Disk[0].Uuid -TargetSubnetName $TargetVirtualNetwork.Subnets[0].Name -DiskType Standard_LRS -TargetVMName MyMigratedTestVM -TargetVMSize Standard_DS2_v2
# Track job status to check for completion
while (($MigrateJob.State -eq 'InProgress') -or ($MigrateJob.State -eq 'NotStarted')){
#If the job hasn't completed, sleep for 10 seconds before checking the job status again
sleep 10;
$MigrateJob = Get-AzMigrateJob -InputObject $MigrateJob
}
#Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $MigrateJob.State
Replicación de máquinas virtuales con discos seleccionados
También puede replicar de forma selectiva los discos de la máquina virtual detectada mediante el cmdlet New-AzMigrateDiskMapping y proporcionar esto como entrada para el parámetro DiskToInclude
en el cmdlet New-AzMigrateServerReplication. También puede usar el cmdlet New-AzMigrateDiskMapping para especificar otros tipos de discos de destino para cada disco que se va a replicar.
Especifique valores para los siguientes parámetros del cmdlet New-AzMigrateDiskMapping:
- DiskId: especifique el identificador único del disco que se va a migrar. El identificador de disco que se va a usar es la propiedad UUID del disco recuperado mediante el cmdlet Get-AzMigrateDiscoveredServer.
- IsOSDisk: especifique
true
si el disco que se va a migrar es el disco del sistema operativo de la máquina virtual. De lo contrario, especifiquefalse
. - DiskType: especifique el tipo de disco que se va a usar en Azure.
En el ejemplo siguiente, replicamos solo dos discos de la máquina virtual detectada. Especificamos el disco del sistema operativo y usamos tipos de disco diferentes para cada disco que se va a replicar. El cmdlet devuelve un trabajo cuyo seguimiento se puede realizar para supervisar el estado de la operación.
# View disk details of the discovered server
Write-Output $DiscoveredServer.Disk
# Create a new disk mapping for the disks to be replicated
$DisksToReplicate = @()
$OSDisk = New-AzMigrateDiskMapping -DiskID $DiscoveredServer.Disk[0].Uuid -DiskType StandardSSD_LRS -IsOSDisk true
$DataDisk = New-AzMigrateDiskMapping -DiskID $DiscoveredServer.Disk[1].Uuid -DiskType Premium_LRS -IsOSDisk false
$DisksToReplicate += $OSDisk
$DisksToReplicate += $DataDisk
# Retrieve the resource group that you want to migrate to
$TargetResourceGroup = Get-AzResourceGroup -Name MyTargetResourceGroup
# Retrieve the Azure virtual network and subnet that you want to migrate to
$TargetVirtualNetwork = Get-AzVirtualNetwork -Name MyVirtualNetwork
# Start replication for the VM
$MigrateJob = New-AzMigrateServerReplication -InputObject $DiscoveredServer -TargetResourceGroupId $TargetResourceGroup.ResourceId -TargetNetworkId $TargetVirtualNetwork.Id -LicenseType NoLicenseType -DiskToInclude $DisksToReplicate -TargetSubnetName $TargetVirtualNetwork.Subnets[0].Name -TargetVMName MyMigratedTestVM -TargetVMSize Standard_DS2_v2
# Track job status to check for completion
while (($MigrateJob.State -eq 'InProgress') -or ($MigrateJob.State -eq 'NotStarted')){
#If the job hasn't completed, sleep for 10 seconds before checking the job status again
sleep 10;
$MigrateJob = Get-AzMigrateJob -InputObject $MigrateJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $MigrateJob.State
Supervisión de la replicación
La replicación se produce en los casos siguientes:
- Cuando el trabajo de inicio de replicación finaliza correctamente, las máquinas comienzan su replicación inicial en Azure.
- Durante la replicación inicial, se crea una instantánea de la máquina virtual. Los datos de disco de la instantánea se replican en los discos administrados de réplica en Azure.
- Cuando finaliza esta replicación inicial, comienza la replicación diferencial. Los cambios incrementales de los discos locales se replican periódicamente en los discos de réplica de Azure.
Realice el seguimiento de la replicación mediante el cmdlet Get-AzMigrateServerReplication.
# List replicating VMs and filter the result for selecting a replicating VM. This cmdlet will not return all properties of the replicating VM.
$ReplicatingServer = Get-AzMigrateServerReplication -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -MachineName MyTestVM
# Retrieve all properties of a replicating VM
$ReplicatingServer = Get-AzMigrateServerReplication -TargetObjectID $ReplicatingServer.Id
Puede realizar un seguimiento de las propiedades Migration State y Migration State Description en la salida.
- En la replicación inicial, los valores de las propiedades Migration State y Migration State Description son
InitialSeedingInProgress
eInitial replication
, respectivamente. - En la replicación diferencial, los valores de las propiedades Migration State y Migration State Description son
Replicating
yReady to migrate
, respectivamente. - Una vez terminada la migración, los valores de las propiedades Migration State y Migration State Description son
Migration succeeded
yMigrated
, respectivamente.
AllowedOperation : {DisableMigration, TestMigrate, Migrate}
CurrentJobId : /Subscriptions/xxx/resourceGroups/xxx/providers/Micr
osoft.RecoveryServices/vaults/xxx/replicationJobs/None
CurrentJobName : None
CurrentJobStartTime : 1/1/1753 1:01:01 AM
EventCorrelationId : 9d435c55-4660-41a5-a8ed-dd74213d85fa
Health : Normal
HealthError : {}
Id : /Subscriptions/xxx/resourceGroups/xxx/providers/Micr
osoft.RecoveryServices/vaults/xxx/replicationFabrics/xxx/replicationProtectionContainers/xxx/
replicationMigrationItems/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_5009e941-3e40-
39b2-1e14-f90584522703
LastTestMigrationStatus :
LastTestMigrationTime :
Location :
MachineName : MyTestVM
MigrationState : InitialSeedingInProgress
MigrationStateDescription : Initial replication
Name : 10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_5009e941-3e40-39b2-1e14-f90584522703
PolicyFriendlyName : xxx
PolicyId : /Subscriptions/xxx/resourceGroups/xxx/providers/Micr
osoft.RecoveryServices/vaults/xxx/replicationPolicies/xxx
ProviderSpecificDetail : Microsoft.Azure.PowerShell.Cmdlets.Migrate.Models.Api20180110.VMwareCbtMigrationDetails
TestMigrateState : None
TestMigrateStateDescription : None
Type : Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems
Para obtener más información sobre el progreso de la replicación, ejecute el siguiente cmdlet:
Write-Output $replicatingserver.ProviderSpecificDetail
Puede realizar un seguimiento del progreso de la replicación inicial mediante las propiedades Initial Seeding Progress Percentage en la salida.
"DataMoverRunAsAccountId": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.OffAzure/VMwareSites/xxx/runasaccounts/xxx",
"FirmwareType": "BIOS",
"InitialSeedingProgressPercentage": 20,
"InstanceType": "VMwareCbt",
"LastRecoveryPointReceived": "\/Date(1601733591427)\/",
"LicenseType": "NoLicenseType",
"MigrationProgressPercentage": null,
"MigrationRecoveryPointId": null,
"OSType": "Windows",
"PerformAutoResync": "true",
La replicación se produce en los casos siguientes:
- Cuando el trabajo de inicio de replicación finaliza correctamente, las máquinas comienzan su replicación inicial en Azure.
- Durante la replicación inicial, se crea una instantánea de la máquina virtual. Los datos de disco de la instantánea se replican en los discos administrados de réplica en Azure.
- Cuando finaliza esta replicación inicial, comienza la replicación diferencial. Los cambios incrementales de los discos locales se replican periódicamente en los discos de réplica de Azure.
Recuperación del estado de un trabajo
Puede supervisar el estado de un trabajo mediante el cmdlet Get-AzMigrateJob.
# Retrieve the updated status for a job
$job = Get-AzMigrateJob -InputObject $job
Actualización de las propiedades de una máquina virtual de replicación
Migración y modernización permite cambiar las propiedades de destino, como el nombre, el tamaño, el grupo de recursos, la configuración de NIC, etc., para una máquina virtual de replicación.
Para una máquina virtual se pueden actualizar las propiedades siguientes.
Parámetro | Tipo | Descripción |
---|---|---|
Nombre de la máquina virtual | Opcionales | Especifique el nombre de la máquina virtual de Azure que se va a crear mediante el parámetro TargetVMName . |
Tamaño de VM | Opcionales | Especifique el tamaño de máquina virtual de Azure que se usará en la máquina virtual de replicación con el parámetro TargetVMSize . Por ejemplo, para realizar la migración de una máquina virtual a una máquina virtual D2_v2 de Azure, especifique el valor de TargetVMSize como Standard_D2_v2 . |
Red virtual | Opcionales | Especifique el identificador de la red virtual de Azure a la que se debe migrar la máquina virtual mediante el parámetro TargetNetworkId . |
Resource group | Opcionales | La configuración de la NIC se puede especificar mediante el cmdlet New-AzMigrateNicMapping. Después, el objeto se pasa como entrada al parámetro NicToUpdate del cmdlet Set-AzMigrateServerReplication. - Cambiar asignación de IP: para especificar una dirección IP estática para una NIC, proporcione la dirección IPv4 que se usará como IP estática para la máquina virtual mediante el parámetro TargetNicIP . Para asignar dinámicamente una dirección IP para una NIC, proporcione auto como valor del parámetro TargetNicIP . -Use los valores Primary , Secondary o DoNotCreate para el parámetro TargetNicSelectionType con el fin de especificar si la NIC debe ser principal, secundaria o no se debe crear en la máquina virtual migrada. Solo se puede especificar una NIC como principal de la máquina virtual. -Para que una NIC sea principal, también debe especificar las otras NIC que se deben convertir en secundarias o que no se deben crear en la máquina virtual migrada. -Para cambiar la subred de la NIC, especifique el nombre de la subred mediante el parámetro TargetNicSubnet . |
Interfaz de red | Opcionales | Especifique el nombre de la máquina virtual de Azure que se va a crear mediante el parámetro TargetVMName . |
Zona de disponibilidad | Opcionales | Para usar zonas de disponibilidad, especifique el valor de la zona de disponibilidad en el parámetro TargetAvailabilityZone . |
El conjunto de disponibilidad | Opcionales | Para usar conjuntos de disponibilidad, especifique el identificador del conjunto de disponibilidad en el parámetro TargetAvailabilitySet . |
Etiquetas | Opcionales | Para actualizar las etiquetas, utilice los siguientes parámetros: UpdateTag , UpdateVMTag , UpdateDiskTag o UpdateNicTag , y el tipo de operación de actualización de etiqueta: UpdateTagOperation , UpdateVMTagOperation , UpdateDiskTagOperation o UpdateNicTagOperation . La operación de actualización de etiqueta toma los siguientes valores: Merge, Delete y Replace. Utilice UpdateTag para actualizar todas las etiquetas de las máquinas virtuales, los discos y las NIC. Use UpdateVMTag para actualizar las etiquetas de máquina virtual. Use UpdateDiskTag para actualizar las etiquetas de disco. Use UpdateNicTag para actualizar etiquetas de NIC. Utilice UpdateTagOperation para actualizar la operación de todas las etiquetas de las máquinas virtuales, los discos y las NIC. Use UpdateVMTagOperation para actualizar las etiquetas de máquina virtual. Use UpdateDiskTagOperation para actualizar las etiquetas de disco. Use UpdateNicTagOperation para actualizar etiquetas de NIC. La opción replace reemplaza todo el conjunto de etiquetas por otro nuevo. La opción merge permite agregar etiquetas con nuevos nombres y actualizar los valores de las que tienen nombres que ya existen. La opción delete permite eliminar etiquetas de forma selectiva en función de nombres o pares nombre-valor específicos. |
Discos | Opcionales | En el disco del sistema operativo: Actualice el nombre del disco del sistema operativo utilizando el parámetro TargetDiskName . Para actualizar varios discos: - Use Set-AzMigrateDiskMapping para establecer los nombres de disco en una variable $DiskMapping . A continuación, use el parámetro DiskToUpdate y pase la variable. El identificador de disco que se va a usar en Set-AzMigrateDiskMapping es la propiedad UUID del disco recuperado mediante el cmdlet Get-AzMigrateDiscoveredServer. |
Nombre de la NIC | Opcionales | Use New-AzMigrateNicMapping para establecer los nombres de NIC en una variable $NICMapping . A continuación, use el parámetro NICToUpdate y pase la variable. |
El cmdlet Get-AzMigrateServerReplication devuelve un trabajo cuyo seguimiento se puede realizar para supervisar el estado de la operación.
# List replicating VMs and filter the result for selecting a replicating VM. This cmdlet will not return all properties of the replicating VM.
$ReplicatingServer = Get-AzMigrateServerReplication -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName -MachineName MyTestVM
# Retrieve all properties of a replicating VM
$ReplicatingServer = Get-AzMigrateServerReplication -TargetObjectID $ReplicatingServer.Id
# View NIC details of the replicating server
Write-Output $ReplicatingServer.ProviderSpecificDetail.VMNic
En el ejemplo siguiente, actualizamos la configuración de la NIC; convertimos la primera NIC en principal y le asignamos una dirección IP estática. Descartamos la segunda NIC para la migración, actualizamos el nombre y el tamaño de la máquina virtual de destino, y personalizamos los nombres de NIC.
# Specify the NIC properties to be updated for a replicating VM.
$NicMapping = @()
$NicMapping1 = New-AzMigrateNicMapping -NicId $ReplicatingServer.ProviderSpecificDetail.VMNic[0].NicId -TargetNicIP ###.###.###.### -TargetNicSelectionType Primary TargetNicName "ContosoNic_1"
$NicMapping2 = New-AzMigrateNicMapping -NicId $ReplicatingServer.ProviderSpecificDetail.VMNic[1].NicId -TargetNicSelectionType DoNotCreate - TargetNicName "ContosoNic_2"
$NicMapping += $NicMapping1
$NicMapping += $NicMapping2
# Update the name, size and NIC configuration of a replicating server
$UpdateJob = Set-AzMigrateServerReplication -InputObject $ReplicatingServer -TargetVMSize Standard_DS13_v2 -TargetVMName MyMigratedVM -NicToUpdate $NicMapping
En el ejemplo siguiente, personalizamos el nombre del disco.
# Customize the Disk names for a replicating VM
$OSDisk = Set-AzMigrateDiskMapping -DiskID "6000C294-1217-dec3-bc18-81f117220424" -DiskName "ContosoDisk_1"
$DataDisk1= Set-AzMigrateDiskMapping -DiskID "6000C292-79b9-bbdc-fb8a-f1fa8dbeff84" -DiskName "ContosoDisk_2"
$DiskMapping = $OSDisk, $DataDisk1
# Update the disk names for a replicating server
$UpdateJob = Set-AzMigrateServerReplication InputObject $ReplicatingServer DiskToUpdate $DiskMapping
En el ejemplo siguiente, agregamos etiquetas a las máquinas virtuales de replicación.
# Update all tags across virtual machines, disks, and NICs.
Set-azmigrateserverreplication UpdateTag $UpdateTag UpdateTagOperation Merge/Replace/Delete
# Update virtual machines tags
Set-azmigrateserverreplication UpdateVMTag $UpdateVMTag UpdateVMTagOperation Merge/Replace/Delete
Utilice el ejemplo siguiente para seguir el estado del trabajo.
# Track job status to check for completion
while (($UpdateJob.State -eq 'InProgress') -or ($UpdateJob.State -eq 'NotStarted')){
#If the job hasn't completed, sleep for 10 seconds before checking the job status again
sleep 10;
$UpdateJob = Get-AzMigrateJob -InputObject $UpdateJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $UpdateJob.State
Ejecutar una migración de prueba
Cuando comienza la replicación diferencial, puede ejecutar una migración de prueba para las máquinas virtuales antes de ejecutar una migración completa a Azure. Se recomienda encarecidamente al menos una migración de prueba en cada máquina antes de migrarla. El cmdlet devuelve un trabajo cuyo seguimiento se puede realizar para supervisar el estado de la operación.
- Durante la ejecución de la migración de prueba, se comprueba que funciona según lo previsto. La migración de prueba no afecta a la máquina local, que sigue operativa y continúa la replicación.
- La migración de prueba simula la migración mediante la creación de una máquina virtual de Azure con datos replicados. La prueba normalmente realiza una migración a una red virtual de Azure que no es de producción de la suscripción de Azure.
- Puede usar la máquina virtual de Azure de prueba replicada para validar la migración, realizar pruebas de aplicaciones y resolver los problemas antes de la migración completa.
Seleccione la red virtual de Azure que se va a usar para las pruebas; para ello, especifique el identificador de la red virtual mediante el parámetro TestNetworkID
.
# Retrieve the Azure virtual network created for testing
$TestVirtualNetwork = Get-AzVirtualNetwork -Name MyTestVirtualNetwork
# Start test migration for a replicating server
$TestMigrationJob = Start-AzMigrateTestMigration -InputObject $ReplicatingServer -TestNetworkID $TestVirtualNetwork.Id
# Track job status to check for completion
while (($TestMigrationJob.State -eq 'InProgress') -or ($TestMigrationJob.State -eq 'NotStarted')){
#If the job hasn't completed, sleep for 10 seconds before checking the job status again
sleep 10;
$TestMigrationJob = Get-AzMigrateJob -InputObject $TestMigrationJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $TestMigrationJob.State
Una vez completadas las pruebas, limpie la migración de prueba con el cmdlet Start-AzMigrateTestMigrationCleanup. El cmdlet devuelve un trabajo cuyo seguimiento se puede realizar para supervisar el estado de la operación.
# Clean-up test migration for a replicating server
$CleanupTestMigrationJob = Start-AzMigrateTestMigrationCleanup -InputObject $ReplicatingServer
# Track job status to check for completion
while (($CleanupTestMigrationJob.State -eq "InProgress") -or ($CleanupTestMigrationJob.State -eq "NotStarted")){
#If the job hasn't completed, sleep for 10 seconds before checking the job status again
sleep 10;
$CleanupTestMigrationJob = Get-AzMigrateJob -InputObject $CleanupTestMigrationJob
}
# Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $CleanupTestMigrationJob.State
Migración de máquinas virtuales
Después de comprobar que la migración de prueba funciona según lo previsto, puede migrar el servidor de replicación con el cmdlet siguiente. El cmdlet devuelve un trabajo cuyo seguimiento se puede realizar para supervisar el estado de la operación.
Si no quiere apagar el servidor de origen, no utilice el parámetro TurnOffSourceServer
.
# Start migration for a replicating server and turn off source server as part of migration
$MigrateJob = Start-AzMigrateServerMigration -InputObject $ReplicatingServer -TurnOffSourceServer
# Track job status to check for completion
while (($MigrateJob.State -eq 'InProgress') -or ($MigrateJob.State -eq 'NotStarted')){
#If the job hasn't completed, sleep for 10 seconds before checking the job status again
sleep 10;
$MigrateJob = Get-AzMigrateJob -InputObject $MigrateJob
}
#Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded".
Write-Output $MigrateJob.State
Completar la migración
Una vez finalizada la migración, detenga la replicación de la máquina local y limpie la información del estado de replicación de la máquina virtual con el siguiente cmdlet. El cmdlet devuelve un trabajo cuyo seguimiento se puede realizar para supervisar el estado de la operación.
# Stop replication for a migrated server $StopReplicationJob = Remove-AzMigrateServerReplication -InputObject $ReplicatingServer
# Track job status to check for completion while (($StopReplicationJob.State -eq 'InProgress') -or ($StopReplicationJob.State -eq 'NotStarted')){ #If the job hasn't completed, sleep for 10 seconds before checking the job status again sleep 10; $StopReplicationJob = Get-AzMigrateJob -InputObject $StopReplicationJob } # Check if the Job completed successfully. The updated job state of a successfully completed job should be "Succeeded". Write-Output $StopReplicationJob.State
Realice los ajustes de la aplicación posteriores a la migración, como actualizar las cadenas de conexión de la base de datos y las configuraciones del servidor web.
Realice las pruebas finales de la aplicación y la aceptación de la migración en la aplicación migrada que ahora se ejecuta en Azure.
Pase el tráfico a la instancia de máquina virtual de Azure migrada.
Quite las máquinas virtuales locales del inventario de máquinas virtuales local.
Quite las máquinas virtuales locales de las copias de seguridad locales.
Actualice la documentación interna para mostrar la nueva ubicación y la dirección IP las máquinas virtuales de Azure.
Procedimientos recomendados después de la migración
- Para aumentar la resistencia:
- Proteja los datos mediante la copia de seguridad de máquinas virtuales de Azure con Azure Backup. Más información.
- Mantenga las cargas de trabajo en ejecución y disponibles continuamente mediante la replicación de máquinas virtuales de Azure en una región secundaria con Azure Site Recovery. Más información.
- Para aumentar la seguridad:
- Bloquea y limita el acceso del tráfico entrante con Microsoft Defender for Cloud: administración Just-In-Time.
- Administre y controle las actualizaciones en máquinas Windows y Linux con el Administrador de actualizaciones de Azure.
- Restrinja el tráfico a los puntos de conexión de administración con grupos de seguridad de red.
- Implemente Azure Disk Encryption para ayudar a proteger discos y datos frente al robo y al acceso no autorizado.
- Obtenga más información sobre la protección de recursos IaaS y Microsoft Defender for Cloud.
- Para supervisión y administración:
- Considere la posibilidad de implementar Microsoft Cost Management para supervisar el gasto y el uso de recursos.