VMware VM'lerini Azure'a geçirme (aracısız) - PowerShell
Bu makalede, Geçiş ve modernleştirme için Azure PowerShell kullanarak keşfedilen VMware sanal makinelerini (VM) aracısız yöntemle geçirmeyi öğreneceksiniz.
Şunları yapmayı öğreneceksiniz:
- Azure Geçişi projesinde bulunan VMware VM'lerini alma.
- VM'leri çoğaltmaya başlayın.
- VM'leri çoğaltmaya yönelik özellikleri güncelleştirin.
- Çoğaltmayı izleme.
- Her şeyin beklendiği gibi çalıştığından emin olmak için bir test geçişi çalıştırın.
- Tam vm geçişi çalıştırın.
Not
Öğreticiler, hızlı bir şekilde kavram kanıtı ayarlayabilmeniz için bir senaryo için en basit dağıtım yolunu gösterir. Öğreticiler mümkün olduğunda varsayılan seçenekleri kullanır ve tüm olası ayarları ve yolları göstermez.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
Bu öğreticiye başlamadan önce karşılamanız gereken ön koşullar şunlardır:
- Öğreticiyi tamamlayın: Azure ve VMware'i geçişe hazırlamak için Sunucu Değerlendirmesi ile VMware VM'lerini keşfedin.
- Öğreticiyi tamamlayın: VMware VM'lerini Azure'a geçirmeden önce Azure VM'lerine geçiş için değerlendirme.
- Az PowerShell modülünü yükleyin.
Azure Geçişi PowerShell modülünü yükleme
Azure Geçişi PowerShell modülü, Azure PowerShell' in (Az
) bir parçası olarak kullanılabilir. Get-InstalledModule -Name Az.Migrate
Azure Geçişi PowerShell modülünün makinenizde yüklü olup olmadığını denetlemek için komutunu çalıştırın.
Azure aboneliğinizde oturum açın
Connect-AzAccount cmdlet'iyle Azure aboneliğinizde oturum açın.
Connect-AzAccount
Azure aboneliğinizi seçin
Erişiminiz olan Azure aboneliklerinin listesini almak için Get-AzSubscription cmdlet'ini kullanın. Set-AzContext cmdlet'ini kullanarak çalışmak üzere Azure Geçişi projenizin yer aldığı Azure aboneliğini seçin.
Set-AzContext -SubscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
Azure Geçişi projesini alma
Azure Geçişi projesi, değerlendirdiğiniz veya geçiş yaptığınız ortamdan toplanan bulma, değerlendirme ve geçiş meta verilerini depolamak için kullanılır. Bir projede bulunan varlıkları izleyebilir, değerlendirmeleri düzenleyebilir ve geçişleri gerçekleştirebilirsiniz.
Önkoşulların bir parçası olarak zaten bir Azure Geçişi projesi oluşturdunuz. Azure Geçişi projesinin ayrıntılarını almak için Get-AzMigrateProject cmdlet'ini kullanın. Azure Geçişi projesinin () adını ve Azure Geçişi projesinin (Name
ResourceGroupName
) kaynak grubunun adını belirtmeniz gerekir.
# 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
Azure Geçişi projesinde bulunan VM'leri alma
Azure Geçişi ve Modernize basit bir Azure Geçişi aleti kullanır. Önkoşulların bir parçası olarak Azure Geçişi aletini VMware VM olarak dağıttınız.
Bir Azure Geçişi projesindeki belirli bir VMware VM'sini almak için Azure Geçişi projesinin adını (ProjectName
), Azure Geçişi projesinin kaynak grubunu ()ResourceGroupName
ve VM adını (DisplayName
) belirtin.
# 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
Bu sanal makineyi bu öğreticinin bir parçası olarak geçiririz.
Ve parametrelerini kullanarak bir Azure Geçişi projesindeki tüm VMware VM'lerini ProjectName
ResourceGroupName
de alabilirsiniz.
# Get all VMware VMs in an Azure Migrate project
$DiscoveredServers = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName
Azure Geçişi projesinde birden çok gereç varsa, belirli bir Azure Geçişi aletini kullanarak bulunan tüm VM'leri almak için , ResourceGroupName
ve ApplianceName
parametrelerini kullanabilirsinizProjectName
.
# 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
Çoğaltma altyapısını başlatma
Geçiş ve modernleştirme , VM'leri geçirmek için birden çok Azure kaynağı kullanır. Geçiş ve modernleştirme, projeyle aynı kaynak grubunda aşağıdaki kaynakları sağlar.
- Service bus: Geçiş ve modernleştirme, alete çoğaltma düzenleme iletileri göndermek için service bus kullanır.
- Ağ geçidi depolama hesabı: Geçiş ve modernleştirme, çoğaltılan VM'lerle ilgili durum bilgilerini depolamak için ağ geçidi depolama hesabını kullanır.
- Günlük depolama hesabı: Azure Geçişi aleti, VM'ler için çoğaltma günlüklerini bir günlük depolama hesabına yükler. Azure Geçişi, çoğaltma bilgilerini çoğaltmayla yönetilen disklere uygular.
- Anahtar kasası: Azure Geçişi aleti, hizmet veri yolunun bağlantı dizesi yönetmek için anahtar kasasını ve çoğaltmada kullanılan depolama hesaplarının erişim anahtarlarını kullanır.
Azure Geçişi projesindeki ilk VM'yi çoğaltmadan önce aşağıdaki komutu çalıştırarak çoğaltma altyapısını sağlayın. Bu komut, VMware VM'lerinizi geçirmeyi başlatabilmeniz için önceki kaynakları sağlar ve yapılandırılır.
Not
Bir Azure Geçişi projesi yalnızca bir Azure bölgesine geçişleri destekler. Bu betiği çalıştırdıktan sonra, VMware VM'lerinizi geçirmek istediğiniz hedef bölgeyi değiştiremezsiniz.
Azure Geçişi projenizde yeni bir alet yapılandırdığınızda komutunu çalıştırmanız Initialize-AzMigrateReplicationInfrastructure
gerekir.
Bu makalede, VM'lerimizi bölgeye geçirebilmemiz için çoğaltma altyapısını Central US
başlatacağız.
# Initialize replication infrastructure for the current Migrate project
Initialize-AzMigrateReplicationInfrastructure -ResourceGroupName $ResourceGroup.ResourceGroupName -ProjectName $MigrateProject. Name -Scenario agentlessVMware -TargetRegion "CentralUS"
Sanal makineleri çoğaltma
Bulmayı tamamladıktan ve çoğaltma altyapısını başlatdıktan sonra VMware VM'lerini Azure'a çoğaltmaya başlayabilirsiniz. Aynı anda en fazla 500 çoğaltma çalıştırabilirsiniz.
Çoğaltma özelliklerini belirtmek için aşağıdaki tabloyu kullanın.
Parametre | Tür | Açıklama |
---|---|---|
Hedef abonelik ve kaynak grubu | Zorunlu | parametresini kullanarak TargetResourceGroupId kaynak grubu kimliğini sağlayarak VM'nin geçirilmesi gereken aboneliği ve kaynak grubunu belirtin. |
Hedef sanal ağ ve alt ağ | Zorunlu | Azure Sanal Ağ örneğinin kimliğini ve sırasıyla ve TargetSubnetName parametreleri kullanılarak VM'nin geçirileceği alt ağın TargetNetworkId adını belirtin. |
Makine Kimliği | Zorunlu | Çoğaltılması ve geçirilmesi gereken bulunan makinenin kimliğini belirtin. Çoğaltma için bulunan VM nesnesini belirtmek için kullanın InputObject . |
Hedef VM adı | Zorunlu | parametresini kullanarak oluşturulacak Azure VM'nin TargetVMName adını belirtin. |
Hedef VM boyutu | Zorunlu | parametresini kullanarak TargetVMSize çoğaltılan VM için kullanılacak Azure VM boyutunu belirtin. Örneğin, vm'yi Azure'daki D2_v2 VM'ye geçirmek için değerini TargetVMSize olarak Standard_D2_v2 belirtin. |
Lisans | Zorunlu | Etkin Yazılım Güvencesi veya Windows Server abonelikleriyle kapsanan Windows Server makinelerinizde Azure Hibrit Avantajı kullanmak için, parametrenin LicenseType değerini WindowsServer olarak belirtin. Aksi takdirde, değeri NoLicenseType olarak belirtin. |
İşletim sistemi diski | Zorunlu | İşletim sistemi önyükleme yükleyicisi ve yükleyicisi olan diskin benzersiz tanımlayıcısını belirtin. Kullanılacak disk kimliği, Get-AzMigrateDiscoveredServer cmdlet'i kullanılarak alınan disk için benzersiz tanımlayıcı (UUID) özelliğidir. |
Disk türü | Zorunlu | Kullanılacak disk türünü belirtin. |
Altyapı yedekliliği | İsteğe bağlı | Altyapı yedekliliği seçeneğini aşağıdaki gibi belirtin: - Kullanılabilirlik alanı: Geçirilen makineyi bölgedeki belirli bir kullanılabilirlik alanına sabitler. Çok düğümlü uygulama katmanı oluşturan sunucuları kullanılabilirlik alanları arasında dağıtmak için bu seçeneği kullanın. Bu seçenek yalnızca geçiş için seçilen hedef bölge kullanılabilirlik alanlarını destekliyorsa kullanılabilir. Kullanılabilirlik alanlarını kullanmak için TargetAvailabilityZone parametresinin kullanılabilirlik alanı değerini belirtin. - Kullanılabilirlik kümesi: Geçirilen makineyi bir kullanılabilirlik kümesine yerleştirir. Seçilen hedef kaynak grubunun bu seçeneği kullanabilmesi için bir veya daha fazla kullanılabilirlik kümesi olmalıdır. Kullanılabilirlik kümesi kullanmak için TargetAvailabilitySet parametresinin kullanılabilirlik kümesi kimliğini belirtin. |
Önyükleme Tanılama Depolama Hesabı | İsteğe bağlı | Önyükleme tanılama depolama hesabı kullanmak için parametresinin TargetBootDiagnosticStorageAccount kimliğini belirtin. - Önyükleme tanılaması için kullanılan depolama hesabı, VM'lerinizi geçirmekte olduğunuz abonelikte olmalıdır. - Varsayılan olarak, bu parametre için hiçbir değer ayarlanmadı. |
Etiketler | İsteğe bağlı | Geçirilen VM'lerinize, disklerinize ve NIC'lerinize etiketler ekleyin. VM'lere, disklere ve NIC'lere etiket eklemek için kullanın Tag veya: - Geçirilen VM'lerinize etiket eklemek için kullanın VMTag .- Disklere etiket eklemek için kullanın DiskTag . - Ağ arabirimlerine etiket eklemek için kullanın NicTag . Örneğin, değişkene $tags gerekli etiketleri ekleyin ve değişkenini gerekli parametreye geçirin: $tags = @{Organization=”Contoso”} . |
VM'leri tüm disklerle çoğaltma
Bu öğreticide, bulunan VM'nin tüm disklerini çoğaltıp Azure'da VM için yeni bir ad belirteceğiz. Bulunan sunucunun ilk diskini işletim sistemi diski olarak belirtir ve tüm diskleri Standart HDD olarak geçiririz. İşletim Sistemi diski, işletim sistemi önyükleyiciye ve yükleyiciye sahip disktir. Cmdlet, işlemin durumunu izlemek için izleyebileceğiniz bir iş döndürür.
# 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
VM'leri belirli disklerle çoğaltma
Ayrıca New-AzMigrateDiskMapping cmdlet'ini kullanarak ve bunu New-AzMigrateServerReplication cmdlet'indeki parametreye DiskToInclude
giriş olarak sağlayarak bulunan VM'nin disklerini seçmeli olarak çoğaltabilirsiniz. Çoğaltılacak her disk için farklı hedef disk türleri belirtmek için New-AzMigrateDiskMapping cmdlet'ini de kullanabilirsiniz.
New-AzMigrateDiskMapping cmdlet'inin aşağıdaki parametreleri için değerleri belirtin:
- Disk Kimliği: Geçirilecek disk için benzersiz tanımlayıcıyı belirtin. Kullanılacak disk kimliği, Get-AzMigrateDiscoveredServer cmdlet'i kullanılarak alınan diskin UUID özelliğidir.
- IsOSDisk: Geçirilecek diskin VM'nin işletim sistemi diski olup olmadığını belirtin
true
. Aksi takdirde belirtinfalse
. - DiskType: Azure'da kullanılacak disk türünü belirtin.
Aşağıdaki örnekte, bulunan VM'nin yalnızca iki diskini çoğaltıyoruz. İşletim sistemi diskini belirtir ve çoğaltılacak her disk için farklı disk türleri kullanırız. Cmdlet, işlemin durumunu izlemek için izleyebileceğiniz bir iş döndürür.
# 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
Çoğaltmayı izleme
Çoğaltma aşağıdaki durumlarda gerçekleşir:
- Çoğaltmayı Başlat işi başarıyla tamamlandığında, makineler Azure'a ilk çoğaltmalarını başlatır.
- İlk çoğaltma sırasında bir VM anlık görüntüsü oluşturulur. Anlık görüntüdeki disk verileri Azure'da çoğaltmayla yönetilen disklere çoğaltılır.
- İlk çoğaltma tamamlandıktan sonra değişiklik çoğaltması başlar. Şirket içi disklerde yapılan artımlı değişiklikler düzenli aralıklarla Azure'daki çoğaltma disklerine çoğaltılır.
Get-AzMigrateServerReplication cmdlet'ini kullanarak çoğaltmanın durumunu izleyin.
# 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
Çıkıştaki Geçiş Durumu ve Geçiş Durumu Açıklaması özelliklerini izleyebilirsiniz.
- İlk çoğaltma için Geçiş Durumu ve Geçiş Durumu Açıklaması özelliklerinin değerleri sırasıyla ve
Initial replication
şeklindedirInitialSeedingInProgress
. - Değişim çoğaltması sırasında, Geçiş Durumu ve Geçiş Durumu Açıklaması özelliklerinin değerleri sırasıyla ve
Ready to migrate
şeklindedirReplicating
. - Geçişi tamamladıktan sonra, Geçiş Durumu ve Geçiş Durumu Açıklaması özelliklerinin değerleri sırasıyla ve
Migrated
şeklindedirMigration succeeded
.
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
Çoğaltma ilerleme durumuyla ilgili ayrıntılar için aşağıdaki cmdlet'i çalıştırın:
Write-Output $replicatingserver.ProviderSpecificDetail
Çıktıdaki İlk Tohumlama İlerleme Yüzdesi özelliklerini kullanarak ilk çoğaltma ilerleme durumunu izleyebilirsiniz.
"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",
Çoğaltma aşağıdaki durumlarda gerçekleşir:
- Çoğaltmayı Başlat işi başarıyla tamamlandığında, makineler Azure'a ilk çoğaltmalarını başlatır.
- İlk çoğaltma sırasında bir VM anlık görüntüsü oluşturulur. Anlık görüntüdeki disk verileri Azure'da çoğaltmayla yönetilen disklere çoğaltılır.
- İlk çoğaltma tamamlandıktan sonra değişiklik çoğaltması başlar. Şirket içi disklerde yapılan artımlı değişiklikler düzenli aralıklarla Azure'daki çoğaltma disklerine çoğaltılır.
İşin durumunu alma
Get-AzMigrateJob cmdlet'ini kullanarak işin durumunu izleyebilirsiniz.
# Retrieve the updated status for a job
$job = Get-AzMigrateJob -InputObject $job
Çoğaltma VM'sinin özelliklerini güncelleştirme
Geçiş ve modernleştirme , çoğaltma vm'leri için ad, boyut, kaynak grubu, NIC yapılandırması gibi hedef özellikleri değiştirmenize olanak tanır.
Bir VM için aşağıdaki özellikler güncelleştirilebilir.
Parametre | Tür | Açıklama |
---|---|---|
VM adı | İsteğe bağlı | parametresini kullanarak oluşturulacak Azure VM'nin TargetVMName adını belirtin. |
VM boyutu | İsteğe bağlı | parametresini kullanarak TargetVMSize çoğaltılan VM için kullanılacak Azure VM boyutunu belirtin. Örneğin, vm'yi Azure'daki D2_v2 VM'ye geçirmek için değerini TargetVMSize olarak Standard_D2_v2 belirtin. |
Sanal ağ | İsteğe bağlı | parametresini kullanarak TargetNetworkId VM'nin geçirilmesi gereken Azure sanal ağının kimliğini belirtin. |
Kaynak grubu | İsteğe bağlı | IC yapılandırması New-AzMigrateNicMapping cmdlet'i kullanılarak belirtilebilir. Nesne daha sonra Set-AzMigrateServerReplication cmdlet'indeki parametresine bir giriş NicToUpdate geçirilir. - IP ayırmayı değiştirme: Bir NIC için statik IP belirtmek için parametresini kullanarak TargetNicIP VM için statik IP olarak kullanılacak IPv4 adresini sağlayın. Bir NIC'ye dinamik olarak IP atamak için parametresinin TargetNicIP değerini belirtinauto . - NIC'nin Secondary birincil, ikincil veya DoNotCreate geçirilen VM'de oluşturulmaması gerektiğini belirtmek için TargetNicSelectionType veya parametresi için değerlerini Primary kullanın. VM için birincil NIC olarak yalnızca bir NIC belirtilebilir. - Bir NIC'yi birincil yapmak için, ikincil yapılması gereken veya geçirilen VM'de oluşturulmayacak diğer NIC'leri de belirtmeniz gerekir. - NIC için alt ağı değiştirmek için parametresini kullanarak alt ağın TargetNicSubnet adını belirtin. |
Ağ arabirimi | İsteğe bağlı | parametresini kullanarak oluşturulacak Azure VM'nin TargetVMName adını belirtin. |
Availability zone | İsteğe bağlı | Kullanılabilirlik alanlarını kullanmak için TargetAvailabilityZone parametresinin kullanılabilirlik alanı değerini belirtin. |
Kullanılabilirlik kümesi | İsteğe bağlı | Kullanılabilirlik kümelerini kullanmak için parametresinin TargetAvailabilitySet kullanılabilirlik kümesi kimliğini belirtin. |
Etiketler | İsteğe bağlı | Etiketleri güncelleştirmek için şu parametreleri kullanın: veya , , ve güncelleştirme etiketi işleminin UpdateTagOperation türü veya UpdateVMTagOperation , UpdateDiskTagOperation . UpdateNicTagOperation UpdateNicTag UpdateDiskTag UpdateVMTag UpdateTag Güncelleştirme etiketi işlemi şu değerleri alır: Birleştir, Sil ve Değiştir. VM'ler, diskler ve NIC'ler genelindeki tüm etiketleri güncelleştirmek için kullanın UpdateTag . VM etiketlerini güncelleştirmek için kullanın UpdateVMTag . Disk etiketlerini güncelleştirmek için kullanın UpdateDiskTag . NIC etiketlerini güncelleştirmek için kullanın UpdateNicTag . VM'ler, diskler ve NIC'ler genelindeki tüm etiketlerin işlemini güncelleştirmek için kullanın UpdateTagOperation . VM etiketlerini güncelleştirmek için kullanın UpdateVMTagOperation . Disk etiketlerini güncelleştirmek için kullanın UpdateDiskTagOperation . NIC etiketlerini güncelleştirmek için kullanın UpdateNicTagOperation . Değiştir seçeneği, mevcut etiketlerin tamamını yeni bir kümeyle değiştirir. Birleştirme seçeneği, yeni adlarla etiket eklemeye ve etiketlerin değerlerini mevcut adlarla güncelleştirmeye olanak tanır. Silme seçeneği, etiketleri belirli adlara veya ad/değer çiftlerine göre seçmeli olarak silmeye olanak tanır. |
Diskler | İsteğe bağlı | İşletim sistemi diski için: - parametresini kullanarak işletim sistemi diskinin adını güncelleştirin TargetDiskName . Birden çok diski güncelleştirmek için: - Disk adlarını bir değişken $DiskMapping olarak ayarlamak için Set-AzMigrateDiskMapping kullanın. Ardından parametresini DiskToUpdate kullanın ve değişkenini geçirin. Set-AzMigrateDiskMapping içinde kullanılacak disk kimliği, Get-AzMigrateDiscoveredServer cmdlet'i kullanılarak alınan diskin UUID özelliğidir. |
NIC'nin adı | İsteğe bağlı | NIC adlarını bir değişken $NICMapping olarak ayarlamak için New-AzMigrateNicMapping kullanın. Ardından parametresini NICToUpdate kullanın ve değişkenini geçirin. |
Get-AzMigrateServerReplication cmdlet'i, işlemin durumunu izlemek için izleyebileceğiniz bir iş döndürür.
# 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
Aşağıdaki örnekte, ilk NIC'yi birincil NIC yaparak ve buna statik bir IP atayarak NIC yapılandırmasını güncelleştireceğiz. Geçiş için ikinci NIC'yi atıyoruz, hedef VM adını ve boyutunu güncelleştiriyoruz ve NIC adlarını özelleştiriyoruz.
# 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
Aşağıdaki örnekte disk adını özelleştireceğiz.
# 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
Aşağıdaki örnekte, çoğaltan VM'lere etiketler ekleyeceğiz.
# 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
İş durumunu izlemek için aşağıdaki örneği kullanın.
# 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
Geçiş testi çalıştırma
Delta çoğaltma başladığında, Azure'a tam geçiş çalıştırmadan önce VM'ler için bir test geçişi çalıştırabilirsiniz. Geçirmeden önce her makine için en az bir kez test geçişi yapmanızı kesinlikle öneririz. Cmdlet, işlemin durumunu izlemek için izleyebileceğiniz bir iş döndürür.
- Test geçişi çalıştırmak, geçişin beklendiği gibi çalışıp çalışmadığını denetler. Test geçişi, çalışır durumda kalan ve çoğaltmaya devam eden şirket içi makineyi etkilemez.
- Test geçişi, çoğaltılan verileri kullanarak bir Azure VM oluşturarak geçişin benzetimini oluşturur. Test genellikle Azure aboneliğinizdeki üretim dışı bir sanal ağa geçirilebilir.
- Geçişi doğrulamak, uygulama testi gerçekleştirmek ve tam geçiş öncesinde sorunları gidermek için çoğaltılmış test Azure VM'sini kullanabilirsiniz.
parametresini kullanarak sanal ağın kimliğini belirterek test için kullanılacak Azure sanal ağını TestNetworkID
seçin.
# 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
Test tamamlandıktan sonra Start-AzMigrateTestMigrationCleanup cmdlet'ini kullanarak test geçişini temizleyin. Cmdlet, işlemin durumunu izlemek için izleyebileceğiniz bir iş döndürür.
# 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
VM’leri geçirme
Test geçişinin beklendiği gibi çalıştığını doğruladıktan sonra, aşağıdaki cmdlet'i kullanarak çoğaltma sunucusunu geçirebilirsiniz. Cmdlet, işlemin durumunu izlemek için izleyebileceğiniz bir iş döndürür.
Kaynak sunucuyu kapatmak istemiyorsanız parametresini TurnOffSourceServer
kullanmayın.
# 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
Geçişi tamamlama
Geçiş tamamlandıktan sonra, şirket içi makine için çoğaltmayı durdurun ve aşağıdaki cmdlet'i kullanarak VM için çoğaltma durumu bilgilerini temizleyin. Cmdlet, işlemin durumunu izlemek için izleyebileceğiniz bir iş döndürür.
# 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
Veritabanı bağlantısı dizelerini ve web sunucusu yapılandırmalarını güncelleştirme gibi herhangi bir geçiş sonrası uygulama ayarı gerçekleştirin.
Geçirilen uygulamada son uygulama ve geçiş kabul testi gerçekleştirme işlemi şimdi Azure’da çalıştırılmaktadır.
Geçirilen Azure VM örneğine gelen trafiği kesin.
Yerel sanal makine envanterinizden şirket içi sanal makineleri kaldırın.
Yerel yedeklemelerden şirket içi sanal makineleri kaldırın.
Azure sanal makinelerinin yeni konumunu ve IP adresini göstermek için herhangi bir iç belgeyi güncelleştirin.
Geçiş sonrası en iyi yöntemler
- Daha fazla dayanıklılık için:
- Azure Backup kullanarak Azure VM'lerini yedekleyerek verilerin güvenliğini sağlayın. Daha fazla bilgi edinin.
- Azure Site Recovery ile Azure VM'lerini ikincil bir bölgeye çoğaltarak iş yüklerini çalışır durumda ve sürekli kullanılabilir durumda tutun. Daha fazla bilgi edinin.
- Daha fazla güvenlik için:
- Bulut için Microsoft Defender - Tam zamanında yönetim ile gelen trafik erişimini kilitleyin ve sınırlayın.
- Azure Update Manager ile Windows ve Linux makinelerindeki güncelleştirmeleri yönetin ve yönetin.
- Ağ güvenlik gruplarıyla ağ trafiğini yönetim uç noktalarıyla kısıtlayın.
- Disklerin güvenliğini sağlamaya yardımcı olmak ve verilerin hırsızlıktan ve yetkisiz erişimden korunmasına yardımcı olmak için Azure Disk Şifrelemesi dağıtın.
- IaaS kaynaklarının ve Bulut için Microsoft Defender güvenliğini sağlama hakkında daha fazla bilgi edinin.
- İzleme ve yönetim için:
- Kaynak kullanımını ve harcamayı izlemek için Microsoft Maliyet Yönetimi'nin dağıtımlarını göz önünde bulundurun.