Migrace prostředků IaaS z modelu Classic do Azure Resource Manageru pomocí PowerShellu
Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️
Důležité
V současnosti používá Azure Resource Manager přibližně 90 % virtuálních počítačů IaaS. Od 28. února 2020 byly klasické virtuální počítače zastaralé a 6. září 2023 budou plně vyřazeny. Přečtěte si další informace o tomto vyřazení a o tom, jak vás ovlivňuje.
Tyto kroky ukazují, jak pomocí příkazů Azure PowerShellu migrovat prostředky infrastruktury jako služby (IaaS) z modelu nasazení Classic do modelu nasazení Azure Resource Manager.
Pokud chcete, můžete prostředky migrovat také pomocí Azure CLI.
- Základní informace o podporovaných scénářích migrace najdete v tématu Migrace prostředků IaaS s podporou platformy z modelu Classic na Azure Resource Manager.
- Podrobné pokyny a názorný postup migrace najdete v tématu Technické podrobné informace o migraci podporované platformou z modelu Classic na Azure Resource Manager.
- Projděte si nejběžnější chyby migrace.
Tady je vývojový diagram pro identifikaci pořadí, ve kterém je potřeba provést kroky během procesu migrace.
Krok 1: Plánování migrace
Tady je několik osvědčených postupů, které doporučujeme při vyhodnocování, jestli se mají migrovat prostředky IaaS z modelu Classic na Resource Manager:
- Přečtěte si podporované a nepodporované funkce a konfigurace. Pokud máte virtuální počítače, které používají nepodporované konfigurace nebo funkce, počkejte na oznámení podpory konfigurace nebo funkcí. Případně pokud to vyhovuje vašim potřebám, odeberte tuto funkci nebo se z této konfigurace přesuňte, abyste povolili migraci.
- Pokud máte automatizované skripty, které dnes nasazují infrastrukturu a aplikace, zkuste vytvořit podobné testovací nastavení pomocí těchto skriptů pro migraci. Ukázková prostředí můžete také nastavit pomocí webu Azure Portal.
Důležité
Služby Application Gateway se v současné době nepodporují pro migraci z modelu Classic na Resource Manager. Pokud chcete migrovat virtuální síť se službou Application Gateway, odeberte bránu před spuštěním operace Příprava pro přesunutí sítě. Po dokončení migrace znovu připojte bránu v Azure Resource Manageru.
Brány Azure ExpressRoute, které se připojují k okruhům ExpressRoute v jiném předplatném, se nedají migrovat automaticky. V takových případech odeberte bránu ExpressRoute, migrujte virtuální síť a znovu vytvořte bránu. Další informace najdete v tématu Migrace okruhů ExpressRoute a přidružených virtuálních sítí z modelu nasazení Classic do modelu nasazení Resource Manager.
Krok 2: Instalace nejnovější verze PowerShellu
Existují dvě hlavní možnosti instalace Azure PowerShellu: Galerie prostředí PowerShell nebo Instalační program webové platformy (WebPI). WebPI přijímá měsíční aktualizace. Galerie prostředí PowerShell průběžně dostává aktualizace. Tento článek je založený na Azure PowerShellu verze 2.1.0.
Pokyny k instalaci najdete v tématu Postup instalace a konfigurace Azure PowerShellu.
Krok 3: Ujistěte se, že jste správcem předplatného
Chcete-li provést tuto migraci, musíte být přidáni jako spolusprávce předplatného na webu Azure Portal.
- Přihlaste se k portálu Azure.
- V nabídce centra vyberte Předplatné. Pokud ho nevidíte, vyberte Všechny služby.
- Vyhledejte příslušnou položku předplatného a podívejte se na pole MOJE ROLE . Pro spolusprávce by hodnota měla být správce účtu.
Pokud nemůžete přidat spolusprávce, požádejte o přidání předplatného správce služeb nebo spolusprávce.
Krok 4: Nastavení předplatného a registrace k migraci
Nejprve spusťte příkazový řádek PowerShellu. Pro migraci nastavte prostředí pro Classic i Resource Manager.
Přihlaste se ke svému účtu pro model Resource Manageru.
Connect-AzAccount
Pomocí následujícího příkazu získejte dostupná předplatná:
Get-AzSubscription | Sort Name | Select Name
Nastavte své předplatné Azure pro aktuální relaci. Tento příklad nastaví výchozí název předplatného na Moje předplatné Azure. Nahraďte ukázkový název předplatného vlastním názvem.
Select-AzSubscription –SubscriptionName "My Azure Subscription"
Poznámka:
Registrace je jednorázový krok, ale musíte to udělat jednou, než se pokusíte o migraci. Bez registrace se zobrazí následující chybová zpráva:
BadRequest: Předplatné není zaregistrované k migraci.
Pomocí následujícího příkazu se zaregistrujte u poskytovatele prostředků migrace:
Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
Počkejte pět minut, než se registrace dokončí. Pomocí následujícího příkazu zkontrolujte stav schválení:
Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
Než budete pokračovat, ujistěte se, že je Registered
stav RegistrationState.
Před přepnutím na model nasazení Classic se ujistěte, že máte dostatek virtuálních procesorů virtuálního počítače Azure Resource Manageru v oblasti Azure vašeho aktuálního nasazení nebo virtuální sítě. Pomocí následujícího příkazu PowerShellu můžete zkontrolovat aktuální počet virtuálních procesorů, které máte v Azure Resource Manageru. Další informace o kvótách vCPU najdete v tématu Limity a Azure Resource Manager.
Tento příklad zkontroluje dostupnost v oblasti USA – západ. Nahraďte název ukázkové oblasti vlastním názvem.
Get-AzVMUsage -Location "West US"
Teď se přihlaste ke svému účtu pro model nasazení Classic.
Add-AzureAccount
Pomocí následujícího příkazu získejte dostupná předplatná:
Get-AzureSubscription | Sort SubscriptionName | Select SubscriptionName
Nastavte své předplatné Azure pro aktuální relaci. Tento příklad nastaví výchozí předplatné na Moje předplatné Azure. Nahraďte ukázkový název předplatného vlastním názvem.
Select-AzureSubscription –SubscriptionName "My Azure Subscription"
Krok 5: Spuštění příkazů pro migraci prostředků IaaS
- Migrace virtuálních počítačů v cloudové službě (ne ve virtuální síti)
- Migrace virtuálních počítačů ve virtuální síti
- Migrace účtu úložiště
Poznámka:
Všechny zde popsané operace jsou idempotentní. Pokud máte jiný problém než nepodporovaná funkce nebo chyba konfigurace, doporučujeme zopakovat operaci přípravy, přerušení nebo potvrzení. Platforma pak akci zkusí znovu.
Krok 5a: Možnost 1 – Migrace virtuálních počítačů v cloudové službě (ne ve virtuální síti)
Seznam cloudových služeb získáte pomocí následujícího příkazu. Pak vyberte cloudovou službu, kterou chcete migrovat. Pokud jsou virtuální počítače v cloudové službě ve virtuální síti nebo pokud mají webové role nebo role pracovního procesu, příkaz vrátí chybovou zprávu.
Get-AzureService | ft Servicename
Získejte název nasazení cloudové služby. V tomto příkladu je název služby Moje služba. Nahraďte ukázkový název služby vlastním názvem služby.
$serviceName = "My Service"
$deployment = Get-AzureDeployment -ServiceName $serviceName
$deploymentName = $deployment.DeploymentName
Připravte virtuální počítače v cloudové službě na migraci. Máte dvě možnosti, ze kterých si můžete vybrat.
Možnost 1: Migrace virtuálních počítačů do virtuální sítě vytvořené platformou
Nejprve pomocí následujících příkazů ověřte, že můžete migrovat cloudovou službu:
$validate = Move-AzureService -Validate -ServiceName $serviceName ` -DeploymentName $deploymentName -CreateNewVirtualNetwork $validate.ValidationMessages
Následující příkaz zobrazí všechna upozornění a chyby, které blokují migraci. Pokud ověřovací zprávy neobsahují zprávu o chybě typu, můžete přejít k kroku Příprava.
Move-AzureService -Prepare -ServiceName $serviceName ` -DeploymentName $deploymentName -CreateNewVirtualNetwork
Možnost 2: Migrace do existující virtuální sítě v modelu nasazení Resource Manager
Tento příklad nastaví název skupiny prostředků na myResourceGroup, název virtuální sítě na myVirtualNetwork a název podsítě na mySubNet. Názvy v příkladu nahraďte názvy vlastních prostředků.
$existingVnetRGName = "myResourceGroup" $vnetName = "myVirtualNetwork" $subnetName = "mySubNet"
Nejprve pomocí následujícího příkazu ověřte, že můžete migrovat virtuální síť:
$validate = Move-AzureService -Validate -ServiceName $serviceName ` -DeploymentName $deploymentName -UseExistingVirtualNetwork -VirtualNetworkResourceGroupName $existingVnetRGName -VirtualNetworkName $vnetName -SubnetName $subnetName $validate.ValidationMessages
Následující příkaz zobrazí všechna upozornění a chyby, které blokují migraci. Pokud ověřovací zprávy neobsahují chyby, můžete pokračovat v následujícím kroku přípravy:
Move-AzureService -Prepare -ServiceName $serviceName -DeploymentName $deploymentName ` -UseExistingVirtualNetwork -VirtualNetworkResourceGroupName $existingVnetRGName ` -VirtualNetworkName $vnetName -SubnetName $subnetName
Po úspěšném provedení operace Přípravy s některou z předchozích možností zadejte dotaz na stav migrace virtuálních počítačů. Ujistěte se, že jsou ve Prepared
stavu.
Tento příklad nastaví název virtuálního počítače na myVM. Nahraďte ukázkový název vlastním názvem virtuálního počítače.
$vmName = "myVM"
$vm = Get-AzureVM -ServiceName $serviceName -Name $vmName
$vm.VM.MigrationState
Pomocí PowerShellu nebo webu Azure Portal zkontrolujte konfiguraci připravených prostředků. Pokud nejste připraveni na migraci a chcete se vrátit ke starému stavu, použijte následující příkaz:
Move-AzureService -Abort -ServiceName $serviceName -DeploymentName $deploymentName
Pokud připravená konfigurace vypadá dobře, můžete prostředky přesunout dopředu a potvrdit pomocí následujícího příkazu:
Move-AzureService -Commit -ServiceName $serviceName -DeploymentName $deploymentName
Krok 5a: Možnost 2 – Migrace virtuálních počítačů ve virtuální síti
Pokud chcete migrovat virtuální počítače ve virtuální síti, provedete migraci virtuální sítě. Virtuální počítače se automaticky migrují s virtuální sítí. Vyberte virtuální síť, kterou chcete migrovat.
Poznámka:
Migrace jednoho virtuálního počítače vytvořeného pomocí modelu nasazení Classic vytvořením nového virtuálního počítače Resource Manageru s Spravované disky pomocí souborů VHD (OS a dat) virtuálního počítače.
Poznámka:
Název virtuální sítě se může lišit od názvu, který se zobrazuje na novém portálu. Nový web Azure Portal zobrazí název jako [vnet-name]
, ale skutečný název virtuální sítě je typu Group [resource-group-name] [vnet-name]
. Před zahájením migrace vyhledejte skutečný název virtuální sítě pomocí příkazu Get-AzureVnetSite | Select -Property Name
nebo ho zobrazte na starém webu Azure Portal.
Následující příklad nastaví název virtuální sítě na Group [resource-group-name] [vnet-name]. Nahraďte ukázkový název virtuální sítě názvem, který byl vrácen spuštěním příkazu v části Poznámka výše..
$vnetName = "Group [resource-group-name] [vnet-name]"
Poznámka:
Pokud virtuální síť obsahuje webové role nebo role pracovního procesu nebo virtuální počítače s nepodporovanými konfiguracemi, zobrazí se chybová zpráva ověření.
Nejprve pomocí následujícího příkazu ověřte, že můžete migrovat virtuální síť:
Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
Následující příkaz zobrazí všechna upozornění a chyby, které blokují migraci. Pokud je ověření úspěšné, můžete pokračovat v následujícím kroku přípravy:
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
Pomocí Azure PowerShellu nebo webu Azure Portal zkontrolujte konfiguraci připravených virtuálních počítačů. Pokud nejste připraveni na migraci a chcete se vrátit ke starému stavu, použijte následující příkaz:
Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName
Pokud připravená konfigurace vypadá dobře, můžete prostředky přesunout dopředu a potvrdit pomocí následujícího příkazu:
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
Krok 5b: Migrace účtu úložiště
Po dokončení migrace virtuálních počítačů proveďte následující kontroly předpokladů před migrací účtů úložiště.
Poznámka:
Pokud váš účet úložiště nemá žádné přidružené disky nebo data virtuálního počítače, můžete přejít přímo do části Ověření účtů úložiště a zahájit migraci. Všimněte si také, že odstranění klasických disků, imagí virtuálních počítačů nebo imagí operačního systému neodebere zdrojové soubory VHD v účtu úložiště. Zapůjčení těchto souborů VHD však přeruší, aby je bylo možné znovu použít k vytvoření disků NEBO imagí ARM po migraci.
Kontroly předpokladů, pokud jste migrovali nějaké virtuální počítače nebo váš účet úložiště obsahuje diskové prostředky:
Migrujte virtuální počítače, jejichž disky jsou uložené v účtu úložiště.
Následující příkaz vrátí vlastnosti RoleName a DiskName všech disků virtuálních počítačů v účtu úložiště. RoleName je název virtuálního počítače, ke kterému je připojený disk. Pokud tento příkaz vrátí disky, před migrací účtu úložiště se ujistěte, že se migrují virtuální počítače, ke kterým jsou tyto disky připojené.
$storageAccountName = 'yourStorageAccountName' Get-AzureDisk | where-Object {$_.MediaLink.Host.Contains($storageAccountName)} | Select-Object -ExpandProperty AttachedTo -Property ` DiskName | Format-List -Property RoleName, DiskName
Odstraňte nepřipojené disky virtuálních počítačů uložené v účtu úložiště.
K vyhledání nepřipojených disků virtuálních počítačů v účtu úložiště použijte následující příkaz:
$storageAccountName = 'yourStorageAccountName' Get-AzureDisk | where-Object {$_.MediaLink.Host.Contains($storageAccountName)} | Where-Object -Property AttachedTo -EQ $null | Format-List -Property DiskName
Pokud předchozí příkaz vrátí disky, odstraňte tyto disky pomocí následujícího příkazu:
Remove-AzureDisk -DiskName 'yourDiskName'
Odstraňte image virtuálních počítačů uložené v účtu úložiště.
Následující příkaz vrátí všechny image virtuálních počítačů s disky s operačním systémem uloženými v účtu úložiště.
Get-AzureVmImage | Where-Object { $_.OSDiskConfiguration.MediaLink -ne $null -and $_.OSDiskConfiguration.MediaLink.Host.Contains($storageAccountName)` } | Select-Object -Property ImageName, ImageLabel
Následující příkaz vrátí všechny image virtuálních počítačů s datovými disky uloženými v účtu úložiště.
Get-AzureVmImage | Where-Object {$_.DataDiskConfigurations -ne $null ` -and ($_.DataDiskConfigurations | Where-Object {$_.MediaLink -ne $null -and $_.MediaLink.Host.Contains($storageAccountName)}).Count -gt 0 ` } | Select-Object -Property ImageName, ImageLabel
Pomocí tohoto příkazu odstraňte všechny image virtuálních počítačů vrácené předchozími příkazy:
Remove-AzureVMImage -ImageName 'yourImageName'
Ověřte účty úložiště a spusťte migraci.
Pomocí následujícího příkazu ověřte každý účet úložiště pro migraci. V tomto příkladu je název účtu úložiště myStorageAccount. Nahraďte ukázkový název názvem vlastního účtu úložiště.
$storageAccountName = "myStorageAccount" Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName
Dalším krokem je příprava účtu úložiště na migraci.
$storageAccountName = "myStorageAccount" Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName
Pomocí Azure PowerShellu nebo webu Azure Portal zkontrolujte konfiguraci připraveného účtu úložiště. Pokud nejste připraveni na migraci a chcete se vrátit ke starému stavu, použijte následující příkaz:
Move-AzureStorageAccount -Abort -StorageAccountName $storageAccountName
Pokud připravená konfigurace vypadá dobře, můžete prostředky přesunout dopředu a potvrdit pomocí následujícího příkazu:
Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName
Další kroky
- Přehled migrace prostředků IaaS podporovaných platformou z modelu Classic na Azure Resource Manager
- Podrobné technické informace o platformou podporované migraci z modelu Classic na Azure Resource Manager
- Plánování migrace prostředků IaaS z nasazení Classic do Azure Resource Manageru
- Použití rozhraní příkazového řádku k migraci prostředků IaaS z modelu Classic na Azure Resource Manager
- Komunitní nástroje pro pomoc s migrací prostředků IaaS z modelu Classic na Azure Resource Manager
- Běžné chyby při migraci
- Projděte si nejčastější dotazy týkající se migrace prostředků IaaS z modelu Classic na Azure Resource Manager.