قم بإعداد استرداد البيانات بعد الكوارث لـ 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 الخاصة بهم (اشتراكات المستأجر).

قبل أن تبدأ

تأكد من توفر المتطلبات الأساسية لديك:

بالإضافة إلى ذلك، يحتوي المثال المحدد الموضح في هذه المقالة على المتطلبات الأساسية التالية:

  • مضيف Hyper-V يعمل بنظام التشغيل Windows Server 2012 R2 أو Microsoft Hyper-V Server 2012 R2 يحتوي على واحد أو أكثر من الأجهزة الظاهرية. يجب أن تكون خوادم Hyper-V متصلة بالإنترنت، إما مباشرةً أو من خلال وكيل.
  • يجب أن تتوافق الأجهزة الظاهرية التي تريد نسخها مع هذه المتطلبات الأساسية.

الخطوة 1: تسجيل الدخول إلى حساب Azure الخاص بك

  1. افتح وحدة تحكم PowerShell وقم بتشغيل هذا الأمر لتسجيل الدخول إلى حساب Azure الخاص بك. يقوم الأمر cmdlet بإحضار صفحة ويب تطالبك ببيانات اعتماد الحساب الخاص بك: Connect-AzAccount.

    • بدلاً من ذلك، يمكنك تضمين بيانات اعتماد الحساب كمعلمة في Connect-AzAccount للأمر cmdlet، باستخدام المعلمة -بيانات الاعتماد.
    • إذا كنت شريك CSP يعمل نيابةً عن مستأجر، حدد العميل كمستأجر، باستخدام معرف المستأجر أو اسم المجال الأساسي للمستأجر. على سبيل المثال: Connect-AzAccount -Tenant "fabrikam.com"
  2. إقران الاشتراك الذي تريد استخدامه بالحساب، حيث يمكن أن يكون للحساب عدة اشتراكات:

    Set-AzContext -Subscription $SubscriptionName
    
  3. تحقق من تسجيل اشتراكك لاستخدام موفري Azure لـ Recovery Services وSite Recovery باستخدام الأوامر التالية:

    Get-AzResourceProvider -ProviderNamespace  Microsoft.RecoveryServices
    
  4. تحقق من أنه في إخراج الأمر، يتم تعيين RegistrationState إلى مسجل، ومن ثَم يمكنك المتابعة إلى الخطوة 2. إذا لم يكن الأمر كذلك، يجب عليك تسجيل الموفر المفقود في اشتراكك عن طريق تشغيل هذه الأوامر:

    Register-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
    
  5. تحقق من تسجيل موفري الخدمة بنجاح، باستخدام الأوامر التالية:

    Get-AzResourceProvider -ProviderNamespace  Microsoft.RecoveryServices
    

الخطوة 2: إعداد المخزن

  1. قم بإنشاء مجموعة موارد Azure Resource Manager لإنشاء المخزن أو استخدام مجموعة موارد موجودة. إنشاء مجموعة موارد جديدة على النحو التالي. يحتوي المتغير $ResourceGroupName على اسم مجموعة الموارد التي تريد إنشاءها، ويحتوي المتغير $Geo على منطقة Azure التي يتم فيها إنشاء مجموعة الموارد (على سبيل المثال، "جنوب البرازيل").

    New-AzResourceGroup -Name $ResourceGroupName -Location $Geo
    
  2. للحصول على قائمة بمجموعات الموارد في اشتراكك، قم بتشغيل Get-AzResourceGroup cmdlet.

  3. إنشاء مخزن جديد لـ 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

  1. إنشاء موقع Hyper-V جديد على النحو التالي:

    $sitename = "MySite"                #Specify site friendly name
    New-AzRecoveryServicesAsrFabric -Type HyperVSite -Name $sitename
    
  2. يبدأ أمر cmdlet هذا في مهمة Site Recovery لإنشاء الموقع، ويعيد عنصر مهمة Site Recovery. انتظر حتى تكتمل المهمة وتحقق من اكتمال المهمة بنجاح.

  3. استخدم الأمر Get-AzRecoveryServicesAsrJob cmdlet لاسترداد عنصر المهمة، وتحقق من الحالة الحالية للمهمة.

  4. إنشاء وتنزيل مفتاح تسجيل للموقع على النحو التالي:

    $SiteIdentifier = Get-AzRecoveryServicesAsrFabric -Name $sitename | Select-Object -ExpandProperty SiteIdentifier
    $path = Get-AzRecoveryServicesVaultSettingsFile -Vault $vault -SiteIdentifier $SiteIdentifier -SiteFriendlyName $sitename
    
  5. انسخ المفتاح الذي تم تنزيله إلى مضيف Hyper-V. تحتاج إلى المفتاح لتسجيل مضيف Hyper-V إلى الموقع.

الخطوة 5: تثبيت الموفر والوكيل

  1. قم بتنزيل المثبت لأحدث إصدار من الموفر من Microsoft.

  2. قم بتشغيل المثبت على مضيف Hyper-V.

  3. في نهاية التثبيت، تابع إلى خطوة التسجيل.

  4. عند المطالبة، قم بتوفير المفتاح الذي تم تنزيله، وأكمل تسجيل مضيف Hyper-V.

  5. تحقق من تسجيل مضيف Hyper-V في الموقع على النحو التالي:

    $server = Get-AzRecoveryServicesAsrFabric -Name $siteName | Get-AzRecoveryServicesAsrServicesProvider -FriendlyName $server-friendlyname
    

إذا كنت تقوم بتشغيل خادم Hyper-V core، فقم بتنزيل ملف الإعداد واتبع الخطوات التالية:

  1. قم باستخراج الملفات من AzureSiteRecoveryProvider.exe إلى دليل محلي عن طريق تشغيل هذا الأمر:

    AzureSiteRecoveryProvider.exe /x:. /q
    
  2. شغّل الأمر التالي:

    .\setupdr.exe /i
    

    يتم تسجيل النتائج في %ProgramData%\ASRLogs\DRASetupWizard.log.

  3. قم بتسجيل الخادم عن طريق تشغيل هذا الأمر:

    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 مثل المخزن، ويجب تمكين النسخ المتماثل الجغرافي.

  1. إنشاء نهج النسخ على النحو التالي:

    $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
    
  2. تحقق من المهمة التي تم إرجاعها للتأكد من نجاح إنشاء نهج النسخ المتماثل.

  3. استرجاع حاوية الحماية التي تتوافق مع الموقع على النحو التالي:

    $protectionContainer = Get-AzRecoveryServicesAsrProtectionContainer
    
  4. إقران حاوية الحماية بنهج النسخ المتماثل على النحو التالي:

    $Policy = Get-AzRecoveryServicesAsrPolicy -FriendlyName $PolicyName
    $associationJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name $mappingName -Policy $Policy -PrimaryProtectionContainer $protectionContainer[0]
    
  5. انتظر حتى تكتمل مهمة الاقتران بنجاح.

  6. قم باسترداد تعيين حاوية الحماية.

    $ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $protectionContainer
    

الخطوة 7: تمكين حماية الجهاز الظاهري

  1. استرداد العنصر القابل للحماية الذي يتوافق مع الجهاز الظاهري الذي تريد حمايته على النحو التالي:

    $VMFriendlyName = "Fabrikam-app"          #Name of the VM
    $ProtectableItem = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName
    
  2. حماية الجهاز الظاهري. إذا كان الجهاز الظاهري الذي تقوم بحمايته به أكثر من قرص متصل به، فحدد قرص نظام التشغيل باستخدام المعلمة 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
    
  3. انتظر حتى تصل الأجهزة الظاهرية إلى حالة حماية بعد النسخ المتماثل الأولي. قد يستغرق ذلك بعض الوقت، بناءً على عوامل مثل كمية البيانات المراد نسخها، وعرض النطاق الترددي المصدر المتاح لـ 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
    
  4. قم بتحديث خصائص الاسترداد (مثل حجم دور الجهاز الظاهري) وشبكة 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 أو إصدار أحدث:

  1. تمكين تجاوز الفشل للأقراص المدارة عن طريق تحديث خصائص الجهاز الظاهري
  2. استخدم الأمر Get-AzRecoveryServicesAsrReplicationProtectedItem cmdlet لإحضار معرف القرص لكل قرص من العنصر المحمي
  3. أنشئ عنصر قاموس باستخدام الأمر New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]" cmdlet لاحتواء تعيين معرف القرص لمجموعة تشفير القرص. يجب إنشاء مجموعات تشفير القرص هذه مسبقاً بواسطتك في المنطقة المستهدفة.
  4. قم بتحديث خصائص الجهاز الظاهري باستخدام الأمر Set-AzRecoveryServicesAsrReplicationProtectedItem cmdlet من خلال تمرير عنصر القاموس في معلمة DiskIdToDiskEncryptionSetMap.

الخطوة 8: تشغيل اختبار تجاوز الفشل

  1. تشغيل اختبار تجاوز الفشل على النحو التالي:

    $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
    
  2. تحقق من إنشاء الجهاز الظاهري للاختبار في Azure. يتم تعليق مهمة تجاوز فشل الاختبار بعد إنشاء الجهاز الظاهري للاختبار في Azure.

  3. لتنظيف وإكمال اختبار تجاوز الفشل، قم بتشغيل:

    $TFjob = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $rpi -Comment "TFO done"
    

الخطوات التالية

تعرّف على المزيد حول Azure Site Recovery باستخدام أوامر Azure Resource Manager PowerShell cmdlets.