مشاركة عبر


ترحيل أجهزة VMware الظاهرية إلى Azure (بدون وكيل) - PowerShell

في هذه المقالة، ستتعلم كيفية ترحيل الأجهزة الظاهرية VMware المكتشفة (VMs) باستخدام الأسلوب بدون عامل باستخدام Azure PowerShell للترحيل والتحديث.

ستتعلم كيفية:

  • استرداد أجهزة VMware الظاهرية المكتشفة في مشروع Azure Migrate.
  • بدء النسخ المتماثل VMs.
  • تحديث خصائص النسخ المتماثل للأجهزة الظاهرية.
  • مراقبة النسخ المتماثل.
  • قم بإجراء ترحيل تجريبي للتأكد من أن كل شيء يعمل كما هو متوقع.
  • تشغيل ترحيل VM كامل.

ملاحظة

توضح لك البرامج التعليمية أبسط مسار نشر لسيناريو بحيث يمكنك إعداد إثبات المبدأ بسرعة. تستخدم البرامج التعليمية الخيارات الافتراضية حيثما أمكن، ولا تعرض كافة الإعدادات والمسارات الممكنة.

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

المتطلبات الأساسية

ينبغي عليك قبل أن تبدأ هذا البرنامج التعليمي القيام بما يلي:

تثبيت الوحدة النمطية Azure Migrate PowerShell

تتوفر الوحدة النمطية Azure Migrate PowerShell كجزء من Azure PowerShell (Az). قم بتشغيل أمر Get-InstalledModule -Name Az.Migrate للتحقق مما إذا كانت وحدة Azure Migrate PowerShell مثبتة على جهازك أم لا.

تسجيل الدخول إلى اشتراك Azure الخاص بك

سجل الدخول إلى اشتراك Azure باستخدام أمر cmdletConnect-AzAccount.

Connect-AzAccount

حدد اشتراكك في Azure.

استخدم أمر cmdlet Get-AzSubscription للحصول على قائمة اشتراكات Azure التي يمكنك الوصول إليها. حدد اشتراك Azure الذي يحتوي على مشروع Azure Migrate للعمل به باستخدام الأمر Set-AzContext cmdlet.

Set-AzContext -SubscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e

استرداد مشروع Azure Migrate

يستخدم مشروع Azure Migrate لتخزين بيانات تعريف الاكتشاف والتقييم والترحيل المجمعة من البيئة التي تقوم بتقييمها أو ترحيلها. في مشروع ما، يمكنك تعقب الأصول المكتشفة وتنسيق التقييمات وتنفيذ عمليات الترحيل.

كجزء من المتطلبات الأساسية، قمت بالفعل بإنشاء مشروع Azure Migrate. استخدم أمر cmdlet Get-AzMigrateProject لاسترداد تفاصيل مشروع Azure Migrate. تحتاج إلى تحديد اسم مشروع Azure Migrate (Name) واسم مجموعة الموارد لمشروع Azure Migrate (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

استرداد الأجهزة الظاهرية المكتشفة في مشروع Azure Migrate

يستخدم Azure Migrate and Modernize جهاز Azure Migrate خفيف الوزن. كجزء من المتطلبات الأساسية، قمت بنشر جهاز Azure Migrate ك VMware VM.

لاسترداد VMware VM معين في مشروع Azure Migrate، حدد اسم مشروع Azure Migrate (ProjectName)، ومجموعة الموارد لمشروع Azure Migrate (ResourceGroupName)، واسم الجهاز الظاهري (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

نقوم بترحيل هذا الجهاز الظاهري كجزء من هذا البرنامج التعليمي.

يمكنك أيضا استرداد جميع أجهزة VMware الظاهرية في مشروع Azure Migrate باستخدام ProjectName المعلمتين و ResourceGroupName .

# Get all VMware VMs in an Azure Migrate project
$DiscoveredServers = Get-AzMigrateDiscoveredServer -ProjectName $MigrateProject.Name -ResourceGroupName $ResourceGroup.ResourceGroupName

إذا كان لديك أجهزة متعددة في مشروع Azure Migrate، يمكنك استخدام ProjectNameResourceGroupNameالمعلمات و و ApplianceName لاسترداد جميع الأجهزة الظاهرية المكتشفة باستخدام جهاز Azure Migrate محدد.

# 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

تهيئة البنية الأساسية للنسخ المتماثل

يستخدم الترحيل والتحديث موارد Azure متعددة لترحيل الأجهزة الظاهرية. يقوم الترحيل والتحديث بتوفير الموارد التالية، في نفس مجموعة الموارد مثل المشروع.

  • ناقل الخدمة: يستخدم الترحيل والتحديث ناقل الخدمة لإرسال رسائل تزامن النسخ المتماثل إلى الجهاز.
  • حساب تخزين البوابة: يستخدم الترحيل والتحديث حساب تخزين البوابة لتخزين معلومات الحالة حول الأجهزة الظاهرية التي يتم نسخها نسخا متماثلا.
  • حساب تخزين السجل: يقوم جهاز Azure Migrate بتحميل سجلات النسخ المتماثل للأجهزة الظاهرية إلى حساب تخزين سجل. يقوم Azure Migrate بتطبيق معلومات النسخ المتماثل على الأقراص المدارة بواسطة النسخ المتماثل.
  • Key vault: يستخدم جهاز Azure Migrate مخزن المفاتيح لإدارة سلسلة الاتصال لناقل الخدمة ومفاتيح الوصول لحسابات التخزين المستخدمة في النسخ المتماثل.

قبل نسخ الجهاز الظاهري الأول نسخا متماثلا في مشروع Azure Migrate، قم بتشغيل الأمر التالي لتوفير البنية الأساسية للنسخ المتماثل. يقوم هذا الأمر بتوفير الموارد السابقة وتكوينها بحيث يمكنك البدء في ترحيل VMware VMs.

ملاحظة

يدعم مشروع Azure Migrate واحد عمليات الترحيل إلى منطقة Azure واحدة فقط. بعد تشغيل هذا البرنامج النصي، لا يمكنك تغيير المنطقة المستهدفة التي تريد ترحيل VMware VMs إليها. تحتاج إلى تشغيل Initialize-AzMigrateReplicationInfrastructure الأمر إذا قمت بتكوين جهاز جديد في مشروع Azure Migrate.

في هذه المقالة، نقوم بتهيئة البنية الأساسية للنسخ المتماثل حتى نتمكن من ترحيل الأجهزة الظاهرية Central US الخاصة بنا إلى المنطقة.

# Initialize replication infrastructure for the current Migrate project
Initialize-AzMigrateReplicationInfrastructure -ResourceGroupName $ResourceGroup.ResourceGroupName -ProjectName $MigrateProject. Name -Scenario agentlessVMware -TargetRegion "CentralUS" 

النسخ المتماثل للأجهزة الظاهرية

بعد الانتهاء من اكتشاف البنية الأساسية للنسخ المتماثل وتهيئتها، يمكنك بدء النسخ المتماثل لأجهزة VMware الظاهرية إلى Azure. يمكنك تشغيل النسخ المتماثل حتى 500 في نفس الوقت.

لتحديد خصائص النسخ المتماثل، استخدم الجدول التالي.

المعلمة النوع الوصف
الاشتراك ومجموعة الموارد الهدف إلزامي حدد الاشتراك ومجموعة الموارد التي يجب ترحيل الجهاز الظاهري إليها عن طريق توفير معرف مجموعة الموارد باستخدام المعلمة TargetResourceGroupId .
الشبكة الظاهرية والشبكة الفرعية الهدف إلزامي حدد معرف مثيل شبكة Azure الظاهرية واسم الشبكة الفرعية التي يجب ترحيل الجهاز الظاهري إليها باستخدام TargetNetworkId المعلمتين و TargetSubnetName ، على التوالي.
معرف الجهاز إلزامي حدد معرف الجهاز المكتشف الذي يحتاج إلى النسخ المتماثل والترحيل. استخدم InputObject لتحديد كائن الجهاز الظاهري المكتشف للنسخ المتماثل.
اسم الجهاز الظاهري الهدف إلزامي حدد اسم جهاز Azure الظاهري الذي سيتم إنشاؤه باستخدام المعلمة TargetVMName .
حجم الجهاز الظاهري الهدف إلزامي حدد حجم Azure VM لاستخدامه في النسخ المتماثل للجهاز الظاهري باستخدام المعلمة TargetVMSize . على سبيل المثال، لترحيل جهاز ظاهري إلى D2_v2 VM في Azure، حدد قيمة TargetVMSize ك Standard_D2_v2.
ترخيص إلزامي لاستخدام Azure Hybrid Benefit لأجهزة Windows Server المغطاة بضمان البرنامج النشط أو اشتراكات Windows Server، حدد قيمة المعلمة LicenseType ك WindowsServer. وخلاف ذلك، حدد القيمة كـNoLicenseType.
قرص نظام التشغيل إلزامي حدد المعرف الفريد للقرص الذي يحتوي على مثبت ومحمل تمهيد نظام التشغيل. معرف القرص الذي سيتم استخدامه هو خاصية المعرف الفريد (UUID) للقرص الذي تم استرداده باستخدام Get-AzMigrateDiscoveredServer cmdlet.
نوع القرص إلزامي حدد نوع القرص الذي سيتم استخدامه.
تكرار البنية الأساسية اختياري حدد خيار تكرار البنية الأساسية كما يلي:

- منطقة التوفر: تثبيت الجهاز الذي تم ترحيله إلى منطقة توفر معينة في المنطقة. استخدم هذا الخيار لتوزيع الخوادم التي تشكل طبقة تطبيق متعددة العقد عبر مناطق التوفر. يتوفر هذا الخيار فقط إذا كانت المنطقة المستهدفة المحددة للترحيل تدعم مناطق التوفر. لاستخدام مناطق التوفر، حدد قيمة منطقة التوفر للمعلمة TargetAvailabilityZone .
- مجموعة التوفر: يضع الجهاز الذي تم ترحيله في مجموعة توفر. يجب أن تحتوي مجموعة الموارد المستهدفة التي تم تحديدها على مجموعة توفر واحدة أو أكثر لاستخدام هذا الخيار. لاستخدام مجموعة توفر، حدد معرف مجموعة التوفر للمعلمة TargetAvailabilitySet .
حساب تخزين تشخيص التمهيد اختياري لاستخدام حساب تخزين تشخيص التمهيد، حدد معرف المعلمة TargetBootDiagnosticStorageAccount .
- يجب أن يكون حساب التخزين المستخدم لتشخيص التمهيد في نفس الاشتراك الذي تقوم بترحيل الأجهزة الظاهرية إليه.
- افتراضيًا، لا يتم تعيين أي قيمة لهذه المعلمة.
العلامات اختياري أضف علامات إلى الأجهزة الظاهرية والأقراص وNIC التي تم ترحيلها.
يستخدم Tag لإضافة علامات إلى الأجهزة الظاهرية والأقراص وNIC أو:
- استخدم VMTag لإضافة علامات إلى الأجهزة الظاهرية التي تم ترحيلها.
- استخدم DiskTag لإضافة علامات إلى الأقراص.
- استخدم NicTag لإضافة علامات إلى واجهات الشبكة.
على سبيل المثال، أضف العلامات المطلوبة إلى المتغير $tags ومرر المتغير في المعلمة المطلوبة: $tags = @{Organization=”Contoso”}.

النسخ المتماثل للأجهزة الظاهرية مع كافة الأقراص

في هذا البرنامج التعليمي، نقوم بنسخ جميع أقراص الجهاز الظاهري المكتشف وتحديد اسم جديد للجهاز الظاهري في Azure. نحدد القرص الأول للخادم المكتشف كقرصنظام التشغيل ونرحل جميع الأقراص ك Standard HDD. قرص نظام التشغيل هو القرص الذي يحتوي على محمل التمهيد والمثبت لنظام التشغيل. يقوم أمر cmdlet بإرجاع مهمة يمكن تعقبها لمراقبة حالة العملية.

# 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

النسخ المتماثل للأجهزة الظاهرية مع أقراص محددة

يمكنك أيضا نسخ أقراص الجهاز الظاهري المكتشف بشكل انتقائي باستخدام الأمر cmdlet New-AzMigrateDiskMapping وتوفير ذلك كإدخال للمعلمة DiskToInclude في الأمر Cmdlet New-AzMigrateServerReplication . يمكنك أيضا استخدام New-AzMigrateDiskMapping cmdlet لتحديد أنواع مختلفة من الأقراص الهدف لكل قرص فردي ليتم نسخه نسخا متماثلا.

حدد قيم المعلمات التالية ل New-AzMigrateDiskMapping cmdlet:

  • DiskId: حدد المعرف الفريد للقرص المراد ترحيله. معرف القرص الذي سيتم استخدامه هو خاصية UUID للقرص الذي تم استرداده باستخدام Cmdlet Get-AzMigrateDiscoveredServer .
  • IsOSDisk: حدد true ما إذا كان القرص المراد ترحيله هو قرص نظام التشغيل للجهاز الظاهري. وإلا، حدد false.
  • DiskType: حدد نوع القرص الذي سيتم استخدامه في Azure.

في المثال التالي، نقوم بنسخ قرصين فقط من الجهاز الظاهري المكتشف. نحدد قرص نظام التشغيل ونستخدم أنواع أقراص مختلفة لكل قرص ليتم نسخه نسخا متماثلا. يقوم أمر cmdlet بإرجاع مهمة يمكن تعقبها لمراقبة حالة العملية.

# 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

مراقبة النسخ المتماثل

يحدث النسخ المتماثل في الحالات التالية:

  • عند انتهاء مهمة بدء النسخ المتماثل بنجاح، تبدأ الأجهزة بإجراء النسخ المتماثل الأولي إلى Azure.
  • في أثناء النسخ المتماثل الأولي، يتم إنشاء لقطة الجهاز الظاهري. يتم إجراء النسخ المتماثل لبيانات القرص من اللقطة إلى أقراص مدارة بواسطة النسخ المتماثل في Azure.
  • بعد انتهاء عملية النسخ المتماثل الأولية، يبدأ النسخ المتماثل "دلتا". يتم نسخ التغييرات المتزايدة إلى الأقراص المحلية بشكل دوري إلى أقراص النسخ المتماثلة في Azure.

تعقب حالة النسخ المتماثل باستخدام أمر 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

يمكنك تعقب خصائص حالة الترحيل ووصف حالة الترحيل في الإخراج.

  • للنسخ المتماثل الأولي، قيم خصائص حالة الترحيل ووصف حالة الترحيل هي InitialSeedingInProgress وInitial replication، على التوالي.
  • أثناء النسخ المتماثل دلتا، قيم خصائص حالة الترحيل ووصف حالة الترحيل هي Replicating وReady to migrate، على التوالي.
  • بعد الانتهاء من الترحيل، تكون قيم خصائص حالة الترحيل ووصفحالة الترحيل وMigration succeeded، Migratedعلى التوالي.
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

للحصول على تفاصيل حول تقدم النسخ المتماثل، قم بتشغيل cmdlet التالي:

Write-Output $replicatingserver.ProviderSpecificDetail

يمكنك تتبع تقدم النسخ المتماثل الأولي باستخدام خصائص النسبة المئوية لتقدم البذر الأولي في الإخراج.

    "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",

يحدث النسخ المتماثل في الحالات التالية:

  • عند انتهاء مهمة بدء النسخ المتماثل بنجاح، تبدأ الأجهزة بإجراء النسخ المتماثل الأولي إلى Azure.
  • في أثناء النسخ المتماثل الأولي، يتم إنشاء لقطة الجهاز الظاهري. يتم إجراء النسخ المتماثل لبيانات القرص من اللقطة إلى أقراص مدارة بواسطة النسخ المتماثل في Azure.
  • بعد انتهاء عملية النسخ المتماثل الأولية، يبدأ النسخ المتماثل "دلتا". يتم نسخ التغييرات المتزايدة إلى الأقراص المحلية بشكل دوري إلى أقراص النسخ المتماثلة في Azure.

استرداد حالة الوظيفة

يمكنك مراقبة حالة المهمة باستخدام أمر cmdlet Get-AzMigrateJob.

# Retrieve the updated status for a job
$job = Get-AzMigrateJob -InputObject $job

تحديث خصائص الجهاز الظاهري المنسوخ نسخا متماثلا

يسمح لك الترحيل والتحديث بتغيير الخصائص المستهدفة، مثل الاسم والحجم ومجموعة الموارد وتكوين NIC وما إلى ذلك، للجهاز الظاهري المتماثل.

يمكن تحديث الخصائص التالية لجهاز ظاهري.

المعلمة النوع الوصف
اسم VM اختياري حدد اسم جهاز Azure الظاهري الذي سيتم إنشاؤه باستخدام المعلمة TargetVMName .
حجم الجهاز الظاهري اختياري حدد حجم Azure VM لاستخدامه في النسخ المتماثل للجهاز الظاهري باستخدام المعلمة TargetVMSize . على سبيل المثال، لترحيل جهاز ظاهري إلى D2_v2 VM في Azure، حدد قيمة TargetVMSize ك Standard_D2_v2.
الشبكة الظاهرية اختياري حدد معرف شبكة Azure الظاهرية التي يجب ترحيل الجهاز الظاهري إليها باستخدام المعلمة TargetNetworkId .
مجموعة الموارد اختياري يمكن تحديد تكوين IC باستخدام الأمر New-AzMigrateNicMapping cmdlet. ثم يتم تمرير الكائن إدخال إلى المعلمة NicToUpdate في الأمر Cmdlet Set-AzMigrateServerReplication .

- تغيير تخصيص IP: لتحديد IP ثابت ل NIC، قم بتوفير عنوان IPv4 لاستخدامه ك IP ثابت للجهاز الظاهري باستخدام المعلمة TargetNicIP . لتعيين IP ل NIC بشكل ديناميكي، قم بتوفير auto كقيمة للمعلمة TargetNicIP .
- استخدم القيم Primary، Secondary أو DoNotCreate للمعلمة TargetNicSelectionType لتحديد ما إذا كان يجب أن تكون NIC أساسية أو ثانوية أو لا يجب إنشاؤها على الجهاز الظاهري الذي تم ترحيله. يمكن تحديد بطاقة NIC واحدة فقط كبطاقة NIC الأساسية للجهاز الظاهري.
- لجعل NIC أساسيا، تحتاج أيضا إلى تحديد بطاقات NIC الأخرى التي يجب أن تكون ثانوية أو لا يتم إنشاؤها على الجهاز الظاهري الذي تم ترحيله.
- لتغيير الشبكة الفرعية ل NIC، حدد اسم الشبكة الفرعية باستخدام المعلمة TargetNicSubnet .
واجهة الشبكة اختياري حدد اسم جهاز Azure الظاهري الذي سيتم إنشاؤه باستخدام المعلمة TargetVMName .
مناطق التوفّر اختياري لاستخدام مناطق التوفر، حدد قيمة منطقة التوفر للمعلمة TargetAvailabilityZone .
مجموعة التوفّر اختياري لاستخدام مجموعات التوفر، حدد معرف مجموعة التوفر للمعلمة TargetAvailabilitySet .
العلامات اختياري لتحديث العلامات، استخدم المعلمات التالية: UpdateTag أو UpdateVMTagUpdateDiskTagUpdateNicTag، ونوع عملية UpdateTagOperation علامة التحديث أو UpdateVMTagOperation، UpdateDiskTagOperation، . UpdateNicTagOperation تأخذ عملية علامة التحديث القيم التالية: دمج وحذف واستبدال.
استخدم UpdateTag لتحديث جميع العلامات عبر الأجهزة الظاهرية والأقراص وNIC.
يستخدم UpdateVMTag لتحديث علامات الجهاز الظاهري.
استخدم UpdateDiskTag لتحديث علامات القرص.
يستخدم UpdateNicTag لتحديث علامات NIC.
استخدم UpdateTagOperation لتحديث العملية لكافة العلامات عبر الأجهزة الظاهرية والأقراص وNIC.
يستخدم UpdateVMTagOperation لتحديث علامات الجهاز الظاهري.
استخدم UpdateDiskTagOperation لتحديث علامات القرص.
يستخدم UpdateNicTagOperation لتحديث علامات NIC.

يستبدل خيار استبدال مجموعة العلامات الموجودة بأكملها بمجموعة جديدة.
يسمح خيار دمج بإضافة علامات بأسماء جديدة وتحديث قيم العلامات بأسماء موجودة.
يسمح خيار الحذف بحذف العلامات بشكل انتقائي استنادا إلى أسماء أو أزواج أسماء/قيم معينة.
الأقراص اختياري لقرص نظام التشغيل:
- تحديث اسم قرص نظام التشغيل باستخدام المعلمة TargetDiskName .

لتحديث أقراص متعددة:
- استخدم Set-AzMigrateDiskMapping لتعيين أسماء الأقراص إلى متغير $DiskMapping. ثم استخدم المعلمة DiskToUpdate ومرر على طول المتغير.

معرف القرص الذي سيتم استخدامه في Set-AzMigrateDiskMapping هو خاصية UUID للقرص الذي تم استرداده باستخدام Get-AzMigrateDiscoveredServer cmdlet.
اسم NIC اختياري استخدم New-AzMigrateNicMapping لتعيين أسماء NIC إلى متغير $NICMapping. ثم استخدم المعلمة NICToUpdate وقم بتمرير المتغير.

يقوم الأمر 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

# View NIC details of the replicating server
Write-Output $ReplicatingServer.ProviderSpecificDetail.VMNic

في المثال التالي، نقوم بتحديث تكوين NIC عن طريق جعل NIC الأول أساسيا وتعيين IP ثابت له. نتجاهل بطاقة NIC الثانية للترحيل، ونحدث اسم الجهاز الظاهري المستهدف وحجمه، ونخصم أسماء 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

في المثال التالي، نقوم بتخصيص اسم القرص.

# 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 

في المثال التالي، نضيف علامات إلى الأجهزة الظاهرية المنسوخة نسخا متماثلا.

# 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 

استخدم المثال التالي لتعقب حالة الوظيفة.

# 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

تشغيل الترحيل الاختباري

عند بدء النسخ المتماثل دلتا، يمكنك تشغيل ترحيل اختبار للأجهزة الظاهرية قبل تشغيل ترحيل كامل إلى Azure. نوصي بشدة أن تقوم بإجراء ترحيل تجريبي مرة واحدة على الأقل لكل جهاز قبل ترحيله. يقوم أمر cmdlet بإرجاع مهمة يمكن تعقبها لمراقبة حالة العملية.

  • يتحقق تشغيل ترحيل اختباري من أن الترحيل يعمل كما هو متوقع. لا يؤثر ترحيل الاختبار على الجهاز المحلي، والذي يظل قيد التشغيل ويستمر في النسخ المتماثل.
  • يحاكي اختبار الترحيل الترحيل عن طريق إنشاء جهاز Azure ظاهري باستخدام البيانات المنسوخة نسخا متماثلا. عادة ما يتم ترحيل الاختبار إلى شبكة ظاهرية غير إنتاجية في اشتراك Azure الخاص بك.
  • يمكنك استخدام اختبار النسخ المتماثل على الأجهزة الظاهرية لـ Azure للتحقق من صحة الترحيل وإجراء اختبار التطبيق ومعالجة أي مشكلات قبل الترحيل الكامل.

حدد شبكة Azure الظاهرية لاستخدامها للاختبار عن طريق تحديد معرف الشبكة الظاهرية باستخدام المعلمة 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

بعد اكتمال الاختبار، قم بتنظيف ترحيل الاختبار باستخدام Start-AzMigrateTestMigrationCleanup cmdlet. يقوم أمر cmdlet بإرجاع مهمة يمكن تعقبها لمراقبة حالة العملية.

# 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

ترحيل الأجهزة الظاهرية

بعد التحقق من أن ترحيل الاختبار يعمل كما هو متوقع، يمكنك ترحيل خادم النسخ المتماثل باستخدام cmdlet التالي. يقوم أمر cmdlet بإرجاع مهمة يمكن تعقبها لمراقبة حالة العملية.

إذا كنت لا تريد إيقاف تشغيل الخادم المصدر، فلا تستخدم المعلمة 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

إكمال الترحيل

  1. بعد الانتهاء من الترحيل، أوقف النسخ المتماثل للجهاز المحلي وقم بتنظيف معلومات حالة النسخ المتماثل للجهاز الظاهري باستخدام cmdlet التالي. يقوم أمر cmdlet بإرجاع مهمة يمكن تعقبها لمراقبة حالة العملية.

    # 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
    
  2. قم بإجراء أي تعديلات لتطبيق ما بعد الترحيل، مثل تحديث سلاسل اتصال قاعدة البيانات وتكوينات خادم الويب.

  3. تنفيذ التطبيق النهائي واختبار قبول الترحيل على التطبيق الذي تم ترحيله وهو قيد التشغيل الآن في Azure.

  4. اقطع نسبة استخدام الشبكة إلى مثيل جهاز Azure الظاهري المرحل.

  5. قم بإزالة الأجهزة الظاهرية المحلية من مخزون جهازك الظاهري المحلي.

  6. إزالة VMs المحلية من النسخ الاحتياطية المحلية.

  7. حدث أي وثائق داخلية لإظهار الموقع الجديد وعنوان IP لأجهزة Azure الظاهرية.

أفضل الممارسات بعد الترحيل

  • لزيادة المرونة:
    • حافظ على أمان البيانات عن طريق النسخ الاحتياطي لأجهزة Azure الظاهرية باستخدام Azure Backup. اعرف المزيد.
    • حافظ على تشغيل أحمال العمل ومتاحة باستمرار عن طريق النسخ المتماثل لأجهزة Azure الظاهرية إلى منطقة ثانوية باستخدام Azure Site Recovery. اعرف المزيد.
  • لزيادة الأمان:
    • تأمين وصول حركة المرور الواردة والحد من الوصول إليها باستخدام Microsoft Defender for Cloud - الإدارة في الوقت المناسب.
    • إدارة التحديثات وإدارتها على أجهزة Windows وLinux باستخدام Azure Update Manager.
    • تقييد حركة مرور الشبكة إلى نقاط نهاية الإدارة باستخدام مجموعات أمان الشبكة.
    • انشر تشفير قرص Azure للمساعدة في تأمين الأقراص والحفاظ على البيانات آمنة من السرقة والوصول غير المصرح به.
    • اقرأ المزيد حول تأمين موارد IaaS وMicrosoft Defender for Cloud.
  • للمراقبة والإدارة:
    • ضع في اعتبارك نشر إدارة التكلفة من Microsoft لمراقبة استخدام الموارد والإنفاق.