نسخ الأجهزة الظاهرية التي تعمل في Azure Public MEC إلى منطقة Azure
هام
وظيفة Azure Site Recovery ل Public MEC في حالة المعاينة.
توضح هذه المقالة كيفية النسخ المتماثل وتجاوز الفشل وإرجاع الموارد إلى أجهزة Azure الظاهرية (VMs) التي تعمل على Azure Public MEC إلى منطقة Azure الأصل حيث Azure Public MEC هو ملحق.
الإصلاح بعد كارثة في Azure Public MEC
يضمن Site Recovery استمرارية الأعمال من خلال الحفاظ على تشغيل أحمال العمل أثناء الانقطاعات عن طريق نسخ حمل العمل باستمرار من الموقع الأساسي إلى الموقع الثانوي. وظيفة ASR ل MEC قيد المعاينة.
هنا الموقع الأساسي هو Azure Public MEC والموقع الثانوي هو المنطقة الأصل التي يتصل بها Azure Public MEC.
إعداد الإصلاح بعد كارثة للأجهزة الظاهرية في Azure Public MEC باستخدام PowerShell
المتطلبات الأساسية
تأكد من تثبيت وحدة Azure Az PowerShell النمطية. للحصول على معلومات حول كيفية التثبيت، راجع تثبيت الوحدة النمطية Azure Az PowerShell.
يجب أن يكون الحد الأدنى لإصدار Azure Az PowerShell هو 4.1.0. استخدم الأمر التالي لمشاهدة الإصدار الحالي:
Get-InstalledModule -Name Az
تأكد من دعم إصدار توزيعة Linux والنواة بواسطة Azure Site Recovery. لمزيد من المعلومات، راجع مصفوفة الدعم.
نسخ الأجهزة الظاهرية التي تعمل في Azure Public MEC إلى منطقة Azure
لنسخ الأجهزة الظاهرية التي تعمل في Azure Public MEC إلى منطقة Azure، اتبع الخطوات التالية:
ملاحظة
على سبيل المثال، الموقع الأساسي هو Azure Public MEC، وموقع الثانوي/الاسترداد هو منطقة Azure Public MEC.
سجل الدخول إلى حساب Azure الخاص بك.
Connect-AzAccount
حدد Right subscription.
$subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" Set-AzContext $subscription.Id
احصل على تفاصيل الجهاز الظاهري الذي تخطط لنسخه نسخا متماثلا.
$VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>" Write-Output $VM
إنشاء مجموعة موارد لمخزن خدمات الاسترداد في منطقة Azure الثانوية.
New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<EdgeZoneRegion>"
إنشاء مخزن جديد لخدمات الاسترداد في المنطقة الثانوية.
$vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" - ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>" Write-Output $vault
اضبط سياق المخزن.
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
إنشاء نسيج استرداد الموقع الأساسي.
$TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<EdgeZoneRegion>” - Name "EdgeZoneFabric"
تعقب حالة المهمة للتحقق من اكتمالها.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
إذا لم تكتمل المهمة، فانام لمدة 10 ثوان قبل التحقق من حالة الوظيفة مرة أخرى.
sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
عند الانتهاء بنجاح، يجب أن تكون حالة الوظيفة ناجحة.
Write-Output $TempASRJob.State $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
استخدم النسيج الأساسي لإنشاء حاويات حماية أساسية واسترداد.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject $PrimaryFabric -Name "EdgeZoneProtectionContainer"
تعقب حالة المهمة للتحقق من اكتمالها.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob } Write-Output $TempASRJob.State
يتم إنشاء حاويات الحماية الأساسية والاسترداد في المنطقة الأساسية (داخل النسيج الأساسي).
$PrimaryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer" $RecoveryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer-t"
إنشاء سياسة نسخ متماثل.
$TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name "ReplicationPolicy" -RecoveryPointRetentionInHours 24 - ApplicationConsistentSnapshotFrequencyInHours 4
تعقب حالة المهمة للتحقق من اكتمالها.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
عند الانتهاء بنجاح، يجب أن تكون حالة الوظيفة ناجحة.
Write-Output $TempASRJob.State $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
إنشاء تعيين حاوية حماية بين حاويات الحماية الأساسية وحاويات الحماية للاسترداد باستخدام نهج النسخ المتماثل.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer $PrimaryProtectionContainer -RecoveryProtectionContainer $RecoveryProtectionContainer
تعقب حالة المهمة للتحقق من اكتمالها.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
عند الانتهاء بنجاح، يجب أن تكون حالة الوظيفة ناجحة.
Write-Output $TempASRJob.State $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
إنشاء تعيين حاوية حماية لإرجاع الموارد، بين حاويات الاسترداد والحماية الأساسية باستخدام نهج النسخ المتماثل.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer $RecoveryProtectionContainer -RecoveryProtectionContainer $PrimaryProtectionContainer
تعقب حالة المهمة للتحقق من اكتمالها.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
عند الانتهاء بنجاح، يجب أن تكون حالة الوظيفة ناجحة.
Write-Output $TempASRJob.State $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
إنشاء حساب تخزين ذاكرة التخزين المؤقت لسجلات النسخ المتماثل في المنطقة الأساسية. يتم إنشاء حساب تخزين ذاكرة التخزين المؤقت في المنطقة الأساسية.
$CacheStorageAccount = New-AzStorageAccount -Name "cachestorage" -ResourceGroupName "<primary ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName Standard_LRS - Kind Storage
تأكد من إنشاء شبكة ظاهرية في الموقع الهدف. إنشاء شبكة استرداد في منطقة الاسترداد.
$recoveryVnet = New-AzVirtualNetwork -Name "recoveryvnet" -ResourceGroupName "recoveryrg" -Location '<EdgeZoneRegion>' -AddressPrefix "10.0.0.0/16" Add-AzVirtualNetworkSubnetConfig -Name "defaultsubnetconf" -VirtualNetwork $recoveryVnet -AddressPrefix "10.0.0.0/24" | Set-AzVirtualNetwork $recoveryNetwork = $recoveryVnet.Id
استخدم PowerShell cmdlet التالي لنسخ جهاز Azure الظاهري Azure Public MEC Azure مع أقراص مدارة. قد تستغرق هذه الخطوة حوالي 20 دقيقة لإكمالها.
احصل على مجموعة الموارد التي يجب إنشاء الجهاز الظاهري فيها عند تجاوز الفشل.
$RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location " <EdgeZoneRegion>"
الحصول على الجهاز الظاهري وعرض المحتويات.
$vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
حدد خصائص النسخ المتماثل لكل قرص من الجهاز الظاهري الذي يجب نسخه نسخا متماثلا (إنشاء تكوين النسخ المتماثل للقرص).
#OsDisk $OSdiskId = $vm.StorageProfile.OsDisk.ManagedDisk.Id $RecoveryOSDiskAccountType = $vm.StorageProfile.OsDisk.ManagedDisk.StorageAccountType $RecoveryReplicaDiskAccountType = $vm.StorageProfile.OsDisk.ManagedDisk.StorageAccountType $OSDiskReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig - ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id ` -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRG.ResourceId - RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType ` -RecoveryTargetDiskAccountType $RecoveryOSDiskAccountType
قرص البيانات
إذا كان الجهاز الظاهري يحتوي على قرص بيانات، فاستخدم الأمر التالي لإنشاء تكوين القرص. إذا لم يكن الأمر كذلك، يمكنك تخطي هذا القسم. من
$datadiskId
إلى$DataDisk1ReplicationConfig $datadiskId = $vm.StorageProfile.OSDisk.ManagedDisk.Id
.بدلا
$RecoveryReplicaDiskAccountType = "Premium_LRS" $RecoveryTargetDiskAccountType = "Premium_LRS" $RecoveryRGId = $RecoveryRG.ResourceId $DataDisk1ReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig -ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id ` -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRGId - RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType ` -RecoveryTargetDiskAccountType $RecoveryTargetDiskAccountType
إنشاء عنصر محمي بالنسخ المتماثل لبدء النسخ المتماثل. استخدم GUID لاسم العنصر المحمي بالنسخ المتماثل لضمان تفرد الاسم. إذا كنت لا تتعافى إلى منطقة توفر، فلا تقم بتوفير المعلمة
-RecoveryAvailabilityZone
.$TempASRJob = New-AzRecoveryServicesAsrReplicationProtectedItem -AzureToAzure -AzureVmId $VM.Id -Name $vm.Name -ProtectionContainerMapping $EdgeZoneToAzurePCMapping - AzureToAzureDiskReplicationConfiguration $DataDisk1ReplicationConfig - RecoveryResourceGroupId $RecoveryRGId -RecoveryAvailabilityZone “1” - RecoveryAzureNetworkId $recoveryVnet.Id -RecoveryAzureSubnetName “defaultsubnetconf”
تعقب حالة المهمة للتحقق من اكتمالها.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
تحقق مما إذا كانت المهمة قد اكتملت بنجاح. يجب أن تكون حالة المهمة المحدثة لوظيفة مكتملة بنجاح ناجحة.
Write-Output $TempASRJob.State
بعد نجاح عملية بدء النسخ المتماثل، يتم نسخ بيانات الجهاز الظاهري إلى منطقة الاستعادة.
في البداية، عند بدء عملية النسخ المتماثل، فإنه ينشئ نسخة من أقراص النسخ المتماثل للجهاز الظاهري في منطقة الاسترداد. وتُسمى هذه المرحلة مرحلة النسخ المتماثل الأولي. تستغرق هذه الخطوة حوالي 20 دقيقة. راجع حالة النسخ المتماثل في شفرة Vault ضمن العناصر المنسوخة نسخا متماثلا.
عند اكتمال النسخ المتماثل، ستظهر عناصر النسخ المتماثل Vault كما يلي:
الآن الجهاز الظاهري محمي، ويمكنك إجراء عملية اختبار تجاوز الفشل. تنتقل حالة النسخ المتماثل للعنصر المنسوخ نسخا متماثلا الذي يمثل الجهاز الظاهري إلى الحالة المحمية بعد اكتمال النسخ المتماثل الأولي.
راقب حالة النسخ المتماثل وصحة النسخ المتماثل للجهاز الظاهري من خلال الحصول على تفاصيل العنصر المحمي من النسخ المتماثل الذي يتوافق معه:
$PE = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $PrimaryProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth $PE
إذا رأيت محميا في ProtectionState، فأنت مستعد للمتابعة لاختبار تجاوز الفشل.
إجراء اختبار تجاوز الفشل والتحقق منه وتنظيفه . يمكنك تخطي اختبار تجاوز الفشل. ومع ذلك، نوصي بتنفيذ اختبار تجاوز الفشل للتأكد من ظهور منطقتك الثانوية كما هو متوقع.
إنشاء شبكة منفصلة لاختبار تجاوز الفشل (غير متصل بشبكة الإصلاح بعد كارثة).
$TFOVnet = New-AzVirtualNetwork -Name "TFOvnet" -ResourceGroupName "edgezonerecoveryrg" -Location '<EdgeZoneRegion>' -AddressPrefix "10.3.0.0/26" Add-AzVirtualNetworkSubnetConfig -Name "default" -VirtualNetwork $TFOVnet -AddressPrefix "10.3.0.0/26" | Set-AzVirtualNetwork $TFONetwork= $TFOVnet.Id
قم بإجراء اختبار تجاوز الفشل.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
انتظر حتى تنتهي المهمة.
while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq "NotStarted")){ sleep 10; $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob }
انتظر حتى يكتمل اختبار تجاوز الفشل.
Get-AzRecoveryServicesAsrJob -Job $TFOJob
ملاحظة
يمكنك أيضا التحقق من تقدم المهمة عن طريق الانتقال إلى المدخل، وتحديد Vault ثم تحديد Site Recovery Jobs.
بعد اكتمال مهمة اختبار تجاوز الفشل بنجاح، يمكنك الاتصال بالاختبار الذي فشل عبر الجهاز الظاهري والتحقق من صحة تجاوز فشل الاختبار. بمجرد التحقق من صحة تجاوز فشل الاختبار عبر الجهاز الظاهري، قم بتنظيف نسخة الاختبار عن طريق بدء عملية تنظيف تجاوز فشل الاختبار. تقوم هذه العملية بحذف نسخة الاختبار من الجهاز الظاهري الذي تم إنشاؤه بواسطة تجاوز فشل الاختبار. تحقق من أن جميع الإعدادات الهدف صحيحة في اختبار تجاوز الفشل VM بما في ذلك الموقع وإعداد الشبكة وعدم تلف البيانات وعدم فقدان أي بيانات في الجهاز الظاهري الهدف. الآن يمكنك حذف اختبار تجاوز الفشل وبدء تجاوز الفشل.
$Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob - ReplicationProtectedItem $ReplicationProtectedItem Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select State
ستكون الخطوة التالية هي الفشل عبر الجهاز الظاهري. ستقوم هذه الخطوة بإنشاء الجهاز الظاهري باستخدام الأقراص المنسوخة نسخا متماثلا في منطقة الاسترداد.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $RecoveryPoints = Get-AzRecoveryServicesAsrRecoveryPoint -ReplicationProtectedItem $ReplicationProtectedItem
قد لا يتم فرز قائمة نقاط الاسترداد التي تم إرجاعها زمنيا. تحتاج إلى فرز هذه أولا للعثور على أقدم أو أحدث نقاط الاسترداد للجهاز الظاهري.
"{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[- 1].RecoveryPointTime
بدء مهمة تجاوز الفشل.
$Job_Failover = Start-AzRecoveryServicesAsrUnplannedFailoverJob - ReplicationProtectedItem $ReplicationProtectedItem -Direction PrimaryToRecovery - RecoveryPoint $RecoveryPoints[-1] do { $Job_Failover = Get-AzRecoveryServicesAsrJob -Job $Job_Failover; sleep 30; } while (($Job_Failover.State -eq "InProgress") -or ($JobFailover.State -eq "NotStarted")) $Job_Failover.State
عند نجاح مهمة تجاوز الفشل، يمكنك تنفيذ تجاوز الفشل.
$CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob - ReplicationProtectedItem $ReplicationProtectedItem
انتظر حتى تنتهي مهمة تجاوز فشل التثبيت.
while (($CommitFailoverJob.State -eq "InProgress") -or ($CommitFailoverJob.State -eq "NotStarted")){ sleep 10; $CommitFailoverJob = Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJob } Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJOb
بعد تجاوز الفشل، عندما تكون مستعدا للعودة إلى المنطقة الأصلية، ابدأ النسخ المتماثل العكسي للعنصر المحمي بالنسخ المتماثل باستخدام cmdlet
Update-AzRecoveryServicesAsrProtectionDirection
.إنشاء حساب تخزين ذاكرة التخزين المؤقت لسجلات النسخ المتماثل في منطقة الاسترداد.
$EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" - ResourceGroupName "<ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName Standard_LRS -Kind Storage
استخدم حاوية حماية الاسترداد وحساب تخزين ذاكرة التخزين المؤقت الجديد في منطقة Azure Public MEC ومجموعة موارد الجهاز الظاهري للمنطقة المصدر.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName $vm.name -ProtectionContainer $PrimaryProtectionContainer $sourceVMResourcegroupId = $(Get-AzResourceGroup -Name $vm.ResourceGroupName). ResourceId Update-ASRProtectionDirection -ReplicationProtectedItem $ReplicationProtectedItem ` -AzureToAzure ` -ProtectionContainerMapping $AzureToEdgeZonePCMapping ` -LogStorageAccountId $EdgeZoneCacheStorageAccount.Id ` -RecoveryResourceGroupID $sourceVMResourcegroupId
تستغرق هذه الخطوة حوالي 20 دقيقة وستنتقل الحالة من قيد التقدم إلى ناجح.
تعطيل النسخ المتماثل.
Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem $ReplicationProtectedItem
تنظيف البيئة. هذه الخطوة اختيارية ويمكن استخدامها لإزالة مجموعة الموارد.
Remove-AzResourceGroup -Name $Name -Force