قم بإعداد استرداد البيانات بعد الكوارث لـ Azure لأجهزة Hyper-V الظاهرية باستخدام PowerShell وAzure Resource Manager
يساهم Azure Site Recovery في إستراتيجية استمرارية عملك واسترداد البيانات بعد الكوارث (BCDR) من خلال تنظيم النسخ المتماثل وتجاوز الفشل واستعادة أجهزة Azure الظاهرية (VMs) والأجهزة الظاهرية المحلية والخوادم الفعلية.
توضح هذه المقالة كيفية استخدام Windows PowerShell، بجانب Azure Resource Manager، لنسخ أجهزة Hyper-V الظاهرية إلى Azure. يوضح لك المثال المستخدم في هذه المقالة كيفية نسخ جهاز ظاهري واحد يعمل على مضيف Hyper-V إلى Azure.
إشعار
نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
Azure PowerShell
يوفر Azure PowerShell أوامر cmdlets لإدارة Azure باستخدام Windows PowerShell. تساعدك أوامر cmdlets لـ Site Recovery PowerShell، المتوفرة مع Azure PowerShell لـ Azure Resource Manager، على حماية الخوادم واستعادتها في Azure.
لست بحاجة إلى أن تكون خبيرا في PowerShell لاستخدام هذه المقالة، ولكنك تحتاج إلى فهم المفاهيم الأساسية، مثل الوحدات النمطية و cmdlets والجلسات. لمزيد من المعلومات، راجع وثائق PowerShell واستخدام Azure PowerShell مع Azure Resource Manager.
إشعار
يمكن لشركاء Microsoft في برنامج Cloud Solution Provider (CSP) تكوين وإدارة حماية خوادم العملاء لاشتراكات CSP الخاصة بهم (اشتراكات المستأجر).
قبل أن تبدأ
تأكد من توفر المتطلبات الأساسية لديك:
- حساب Microsoft Azure. يُمكنك البدء بإصدار تجريبي مجاني. بالإضافة إلى ذلك، يمكنك القراءة حول أسعار Azure Site Recovery Manager.
- Azure PowerShell. لمزيد من المعلومات حول هذا الإصدار وكيفية تثبيته، راجع تثبيت Azure PowerShell.
بالإضافة إلى ذلك، يحتوي المثال المحدد الموضح في هذه المقالة على المتطلبات الأساسية التالية:
- مضيف Hyper-V يعمل بنظام التشغيل Windows Server 2012 R2 أو Microsoft Hyper-V Server 2012 R2 يحتوي على واحد أو أكثر من الأجهزة الظاهرية. يجب أن تكون خوادم Hyper-V متصلة بالإنترنت، إما مباشرةً أو من خلال وكيل.
- يجب أن تتوافق الأجهزة الظاهرية التي تريد نسخها مع هذه المتطلبات الأساسية.
الخطوة 1: تسجيل الدخول إلى حساب Azure الخاص بك
افتح وحدة تحكم PowerShell وقم بتشغيل هذا الأمر لتسجيل الدخول إلى حساب Azure الخاص بك. يقوم الأمر cmdlet بإحضار صفحة ويب تطالبك ببيانات اعتماد الحساب الخاص بك:
Connect-AzAccount
.- بدلاً من ذلك، يمكنك تضمين بيانات اعتماد الحساب كمعلمة في
Connect-AzAccount
للأمر cmdlet، باستخدام المعلمة -بيانات الاعتماد. - إذا كنت شريك CSP يعمل نيابةً عن مستأجر، حدد العميل كمستأجر، باستخدام معرف المستأجر أو اسم المجال الأساسي للمستأجر. على سبيل المثال:
Connect-AzAccount -Tenant "fabrikam.com"
- بدلاً من ذلك، يمكنك تضمين بيانات اعتماد الحساب كمعلمة في
إقران الاشتراك الذي تريد استخدامه بالحساب، حيث يمكن أن يكون للحساب عدة اشتراكات:
Set-AzContext -Subscription $SubscriptionName
تحقق من تسجيل اشتراكك لاستخدام موفري Azure لـ Recovery Services وSite Recovery باستخدام الأوامر التالية:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
تحقق من أنه في إخراج الأمر، يتم تعيين RegistrationState إلى مسجل، ومن ثَم يمكنك المتابعة إلى الخطوة 2. إذا لم يكن الأمر كذلك، يجب عليك تسجيل الموفر المفقود في اشتراكك عن طريق تشغيل هذه الأوامر:
Register-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
تحقق من تسجيل موفري الخدمة بنجاح، باستخدام الأوامر التالية:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
الخطوة 2: إعداد المخزن
قم بإنشاء مجموعة موارد Azure Resource Manager لإنشاء المخزن أو استخدام مجموعة موارد موجودة. إنشاء مجموعة موارد جديدة على النحو التالي. يحتوي المتغير
$ResourceGroupName
على اسم مجموعة الموارد التي تريد إنشاءها، ويحتوي المتغير $Geo على منطقة Azure التي يتم فيها إنشاء مجموعة الموارد (على سبيل المثال، "جنوب البرازيل").New-AzResourceGroup -Name $ResourceGroupName -Location $Geo
للحصول على قائمة بمجموعات الموارد في اشتراكك، قم بتشغيل
Get-AzResourceGroup
cmdlet.إنشاء مخزن جديد لـ Azure Recovery Services على النحو التالي:
$vault = New-AzRecoveryServicesVault -Name <string> -ResourceGroupName <string> -Location <string>
يمكنك استرداد قائمة بالمخازن الموجودة باستخدام أمر Get-AzRecoveryServicesVault
cmdlet.
الخطوة 3: تعيين سياق مخزن Recovery Services
تعيين سياق المخزن على النحو التالي:
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
الخطوة 4: إنشاء موقع Hyper-V
إنشاء موقع Hyper-V جديد على النحو التالي:
$sitename = "MySite" #Specify site friendly name New-AzRecoveryServicesAsrFabric -Type HyperVSite -Name $sitename
يبدأ أمر cmdlet هذا في مهمة Site Recovery لإنشاء الموقع، ويعيد عنصر مهمة Site Recovery. انتظر حتى تكتمل المهمة وتحقق من اكتمال المهمة بنجاح.
استخدم الأمر
Get-AzRecoveryServicesAsrJob
cmdlet لاسترداد عنصر المهمة، وتحقق من الحالة الحالية للمهمة.إنشاء وتنزيل مفتاح تسجيل للموقع على النحو التالي:
$SiteIdentifier = Get-AzRecoveryServicesAsrFabric -Name $sitename | Select-Object -ExpandProperty SiteIdentifier $path = Get-AzRecoveryServicesVaultSettingsFile -Vault $vault -SiteIdentifier $SiteIdentifier -SiteFriendlyName $sitename
انسخ المفتاح الذي تم تنزيله إلى مضيف Hyper-V. تحتاج إلى المفتاح لتسجيل مضيف Hyper-V إلى الموقع.
الخطوة 5: تثبيت الموفر والوكيل
قم بتنزيل المثبت لأحدث إصدار من الموفر من Microsoft.
قم بتشغيل المثبت على مضيف Hyper-V.
في نهاية التثبيت، تابع إلى خطوة التسجيل.
عند المطالبة، قم بتوفير المفتاح الذي تم تنزيله، وأكمل تسجيل مضيف Hyper-V.
تحقق من تسجيل مضيف Hyper-V في الموقع على النحو التالي:
$server = Get-AzRecoveryServicesAsrFabric -Name $siteName | Get-AzRecoveryServicesAsrServicesProvider -FriendlyName $server-friendlyname
إذا كنت تقوم بتشغيل خادم Hyper-V core، فقم بتنزيل ملف الإعداد واتبع الخطوات التالية:
قم باستخراج الملفات من AzureSiteRecoveryProvider.exe إلى دليل محلي عن طريق تشغيل هذا الأمر:
AzureSiteRecoveryProvider.exe /x:. /q
شغّل الأمر التالي:
.\setupdr.exe /i
يتم تسجيل النتائج في %ProgramData%\ASRLogs\DRASetupWizard.log.
قم بتسجيل الخادم عن طريق تشغيل هذا الأمر:
cd C:\Program Files\Microsoft Azure Site Recovery Provider\DRConfigurator.exe" /r /Friendlyname "FriendlyName of the Server" /Credentials "path to where the credential file is saved"
الخطوة 6: إنشاء نهج نسخ متماثل
قبل البدء، يجب أن يكون حساب التخزين المحدد في نفس منطقة Azure مثل المخزن، ويجب تمكين النسخ المتماثل الجغرافي.
إنشاء نهج النسخ على النحو التالي:
$ReplicationFrequencyInSeconds = "300"; #options are 30,300,900 $PolicyName = “replicapolicy” $Recoverypoints = 6 #specify the number of recovery points $storageaccountID = Get-AzStorageAccount -Name "mystorea" -ResourceGroupName "MyRG" | Select-Object -ExpandProperty Id $PolicyResult = New-AzRecoveryServicesAsrPolicy -Name $PolicyName -ReplicationProvider “HyperVReplicaAzure” -ReplicationFrequencyInSeconds $ReplicationFrequencyInSeconds -NumberOfRecoveryPointsToRetain $Recoverypoints -ApplicationConsistentSnapshotFrequencyInHours 1 -RecoveryAzureStorageAccountId $storageaccountID
تحقق من المهمة التي تم إرجاعها للتأكد من نجاح إنشاء نهج النسخ المتماثل.
استرجاع حاوية الحماية التي تتوافق مع الموقع على النحو التالي:
$protectionContainer = Get-AzRecoveryServicesAsrProtectionContainer
إقران حاوية الحماية بنهج النسخ المتماثل على النحو التالي:
$Policy = Get-AzRecoveryServicesAsrPolicy -FriendlyName $PolicyName $associationJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name $mappingName -Policy $Policy -PrimaryProtectionContainer $protectionContainer[0]
انتظر حتى تكتمل مهمة الاقتران بنجاح.
قم باسترداد تعيين حاوية الحماية.
$ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $protectionContainer
الخطوة 7: تمكين حماية الجهاز الظاهري
استرداد العنصر القابل للحماية الذي يتوافق مع الجهاز الظاهري الذي تريد حمايته على النحو التالي:
$VMFriendlyName = "Fabrikam-app" #Name of the VM $ProtectableItem = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName
حماية الجهاز الظاهري. إذا كان الجهاز الظاهري الذي تقوم بحمايته به أكثر من قرص متصل به، فحدد قرص نظام التشغيل باستخدام المعلمة OSDiskName.
$OSType = "Windows" # "Windows" or "Linux" $DRjob = New-AzRecoveryServicesAsrReplicationProtectedItem -ProtectableItem $VM -Name $VM.Name -ProtectionContainerMapping $ProtectionContainerMapping -RecoveryAzureStorageAccountId $StorageAccountID -OSDiskName $OSDiskNameList[$i] -OS $OSType -RecoveryResourceGroupId $ResourceGroupID
انتظر حتى تصل الأجهزة الظاهرية إلى حالة حماية بعد النسخ المتماثل الأولي. قد يستغرق ذلك بعض الوقت، بناءً على عوامل مثل كمية البيانات المراد نسخها، وعرض النطاق الترددي المصدر المتاح لـ Azure. عند وجود حالة محمية، يتم تحديث حالة الوظيفة وStateDescription على النحو التالي:
PS C:\> $DRjob = Get-AzRecoveryServicesAsrJob -Job $DRjob PS C:\> $DRjob | Select-Object -ExpandProperty State Succeeded PS C:\> $DRjob | Select-Object -ExpandProperty StateDescription Completed
قم بتحديث خصائص الاسترداد (مثل حجم دور الجهاز الظاهري) وشبكة Azure المراد إرفاق الجهاز الظاهري ل، NIC بها بعد تجاوز الفشل.
PS C:\> $nw1 = Get-AzVirtualNetwork -Name "FailoverNw" -ResourceGroupName "MyRG" PS C:\> $VMFriendlyName = "Fabrikam-App" PS C:\> $rpi = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName PS C:\> $UpdateJob = Set-AzRecoveryServicesAsrReplicationProtectedItem -InputObject $rpi -PrimaryNic $VM.NicDetailsList[0].NicId -RecoveryNetworkId $nw1.Id -RecoveryNicSubnetName $nw1.Subnets[0].Name PS C:\> $UpdateJob = Get-AzRecoveryServicesAsrJob -Job $UpdateJob PS C:\> $UpdateJob | Select-Object -ExpandProperty state PS C:\> Get-AzRecoveryServicesAsrJob -Job $job | Select-Object -ExpandProperty state Succeeded
إشعار
إذا كنت ترغب في النسخ المتماثل إلى الأقراص المدارة التي تم تمكين CMK في Azure، فقم بتنفيذ الخطوات التالية باستخدام Az PowerShell 3.3.0 أو إصدار أحدث:
- تمكين تجاوز الفشل للأقراص المدارة عن طريق تحديث خصائص الجهاز الظاهري
- استخدم الأمر
Get-AzRecoveryServicesAsrReplicationProtectedItem
cmdlet لإحضار معرف القرص لكل قرص من العنصر المحمي - أنشئ عنصر قاموس باستخدام الأمر
New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]"
cmdlet لاحتواء تعيين معرف القرص لمجموعة تشفير القرص. يجب إنشاء مجموعات تشفير القرص هذه مسبقاً بواسطتك في المنطقة المستهدفة. - قم بتحديث خصائص الجهاز الظاهري باستخدام الأمر
Set-AzRecoveryServicesAsrReplicationProtectedItem
cmdlet من خلال تمرير عنصر القاموس في معلمة DiskIdToDiskEncryptionSetMap.
الخطوة 8: تشغيل اختبار تجاوز الفشل
تشغيل اختبار تجاوز الفشل على النحو التالي:
$nw = Get-AzVirtualNetwork -Name "TestFailoverNw" -ResourceGroupName "MyRG" #Specify Azure vnet name and resource group $rpi = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName $TFjob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $VM -Direction PrimaryToRecovery -AzureVMNetworkId $nw.Id
تحقق من إنشاء الجهاز الظاهري للاختبار في Azure. يتم تعليق مهمة تجاوز فشل الاختبار بعد إنشاء الجهاز الظاهري للاختبار في Azure.
لتنظيف وإكمال اختبار تجاوز الفشل، قم بتشغيل:
$TFjob = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $rpi -Comment "TFO done"
الخطوات التالية
تعرّف على المزيد حول Azure Site Recovery باستخدام أوامر Azure Resource Manager PowerShell cmdlets.