النسخ الاحتياطي واستعادة أجهزة Azure الظاهرية باستخدام Azure PowerShell

توضح هذه المقالة كيفية نسخ جهاز Azure الظاهري احتياطيا واستعادته في مخزن Azure Backup Recovery Services باستخدام PowerShell cmdlets.

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

قبل أن تتمكن من إجراء نسخ احتياطي (أو حماية) جهاز ظاهري، يجب إكمال المتطلبات الأساسية لإعداد بيئتك لحماية الأجهزة الظاهرية الخاصة بك.

قبل أن تبدأ

  • تعرف على المزيد حول مخازن خدمات الاسترداد.
  • راجع بنية النسخ الاحتياطي لجهاز Azure الظاهري، وتعرف على عملية النسخ الاحتياطي، و راجعالدعم والقيود والمتطلبات الأساسية.
  • مراجعة التسلسل الهرمي للكائن PowerShell لخدمات الاسترداد.

التسلسل الهرمي لكائن خدمات الاسترداد

يتم تلخيص التسلسل الهرمي للكائنات في الرسم التخطيطي التالي.

يظهر مخطط التسلسل الهرمي لكائن خدمات الاسترداد.

مراجعة Az.RecoveryServices Cmdletالمرجع في مكتبة Azure.

إعداد وتسجيل

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

للبدء:

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

  2. البحث عن النسخ الاحتياطي Azure Backup PowerShell cmdlets المتوفرة عن طريق كتابة الأمر التالي:

    Get-Command *azrecoveryservices*
    

    تظهر الأسماء المستعارة و cmdlets للنسخ الاحتياطي Azure و استرداد موقع Azure ومخزن خدمات الاسترداد. الصورة التالية مثال على ما سترى. انها ليست قائمة كاملة من أوامر cmdlets.

    لقطة شاشة تعرض قائمة خدمات الاسترداد.

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

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

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  5. إذا كنت تستخدم النسخ الاحتياطي Azure للمرة الأولى، يجب استخدام Register-AzResourceProvider للأمر cmdlet لتسجيل موفر خدمة استرداد Azure مع اشتراكك.

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

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

    في إخراج الأمر، يجب تغيير حالة التسجيل إلى مسجل. إذا لم يكن الأمر كذلك، فقط قم بتشغيل Register-AzResourceProvider للأمر cmdlet مرة أخرى.

أنشئ مخزن خدمات الاسترداد

تقودك الخطوات التالية خلال إنشاء خازنة خدمات الاسترداد. تختلف خازنة خدمات الاسترداد عن خازنة النسخ الاحتياطي.

  1. تُعد خازنة خدمات الاسترداد مورداً لإدارة الموارد، لذا يجب وضعها ضمن مجموعة موارد. يمكنك استخدام مجموعة موارد موجودة أو إنشاء مجموعة موارد باستخدام New-AzResourceGroup للأمر cmdlet. عند إنشاء مجموعة موارد، حدد الاسم والموقع لمجموعة الموارد.

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. استخدم الأمر New-AzRecoveryServicesVault للأمر cmdlet لإنشاء المخزن الجديد. تأكد من تحديد نفس الموقع للمخزن الذي تم استخدامه لمجموعة الموارد.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    
  3. حدد نوع سعة التخزين المراد استخدامها. يمكنك استخدام التخزين المحلي الزائد (LRS) أو التخزين المتكرر الجغرافي (GRS) أو التخزين الزائد في المنطقة (ZRS). يوضح المثال التالي خيار -BackupStorageRedundancy لتعيينه testvault إلى GeoRedundant.

    $vault1 = Get-AzRecoveryServicesVault -Name "testvault"
    Set-AzRecoveryServicesBackupProperty  -Vault $vault1 -BackupStorageRedundancy GeoRedundant
    

    تلميح

    تتطلب العديد من Azure Backup cmdlets عنصر خازنة Recovery Services للإدخال. لهذا السبب، من الملائم تخزين كائن قبو خدمات الاسترداد الاحتياطي في متغير.

عرض الخزائن في الاشتراك

لعرض كافة المخازن في الاشتراك، استخدمGet-AzRecoveryServicesVault:

Get-AzRecoveryServicesVault

الإخراج مشابه للمثال التالي، لاحظ توفير ResourceGroupName والموقع المقترن.

Name              : Contoso-vault
ID                : /subscriptions/1234
Type              : Microsoft.RecoveryServices/vaults
Location          : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId    : 1234-567f-8910-abc
Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties

النسخ الاحتياطي لأجهزة Azure الظاهرية

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

تعيين سياق المخزن

قبل تمكين الحماية على جهاز ظاهري، استخدم Set-AzRecoveryServicesVaultContext لتعيين سياق المخزن. بمجرد تعيين السياق، فإنه ينطبق على جميع أوامر cmdlets اللاحقة. يعين المثال التالي سياق المخزن للمخزن، testvault.

Get-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "Contoso-docs-rg" | Set-AzRecoveryServicesVaultContext

إحضار معرف المخزن

نخطط لإهمال إعداد سياق الخزنة وفقا لإرشادات Azure PowerShell. بدلاً من ذلك، يمكنك تخزين أو إحضار معرف المخزن، وتمريره إلى الأوامر ذات الصلة. لذلك، إذا لم تقم بتعيين سياق المخزن أو تريد تحديد الأمر لتشغيل مخزن معين، قم بتمرير معرف المخزن كـ "-vaultID" إلى كل الأوامر ذات الصلة، على النحو التالي:

$targetVault = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault"
$targetVault.ID

أو

$targetVaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID

تعديل إعدادات النسخ المتماثل للتخزين

استخدام الأمر Set-AzRecoveryServicesBackupProperty لتعيين تكوين النسخ المتماثل للتخزين من المخزن إلى LRS/GRS

Set-AzRecoveryServicesBackupProperty -Vault $targetVault -BackupStorageRedundancy GeoRedundant/LocallyRedundant

إشعار

لا يمكن تعديل التكرار للتخزين إلا في حالة عدم وجود عناصر نسخ احتياطي محمية في المخزن.

إنشاء نهج حماية

عند إنشاء مخزن Recovery Services، فإنه يأتي مع نهج الحماية والاستبقاء الافتراضي. يؤدي نهج الحماية الافتراضي إلى تشغيل مهمة النسخ الاحتياطي كل يوم في وقت محدد. يحتفظ نهج الاستبقاء الافتراضي بنقطة الاسترداد اليومية لمدة 30 يوماً. يمكنك استخدام النهج الافتراضي لحماية الجهاز الظاهري الخاص بك بسرعة وتحرير النهج لاحقاً بتفاصيل مختلفة.

استخدم Get-AzRecoveryServicesBackupProtectionPolicy لعرض سياسات الحماية المتوفرة في المخزن. يمكنك استخدام الأمر cmdlet هذا للحصول على نهج معين أو لعرض النُهج المقترنة بنوع حمل العمل. المثال التالي يوضح نُهج نوع حمل العمل AzureVM.

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID

يتشابه الإخراج مع المثال التالي:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
DefaultPolicy        AzureVM            AzureVM              4/14/2016 5:00:00 PM

إشعار

المنطقة الزمنية لحقل BackupTime في PowerShell هي توقيت عالمي متفق عليه (UTC). ومع ذلك، عند عرض وقت النسخ الاحتياطي في المدخل Azure، يتم ضبط الوقت إلى المنطقة الزمنية المحلية.

يرتبط نهج النسخ الاحتياطي بنهج استبقاء واحد على الأقل. يحدد نهج الاستبقاء المدة التي يتم فيها الاحتفاظ بنقطة الاسترداد قبل حذفها.

بشكل افتراضي، يتم تحديد وقت البدء في كائن نهج الجدول. استخدم المثال التالي لتغيير وقت البدء إلى وقت البدء المطلوب. يجب أن يكون وقت البدء المطلوب بتوقيت عالمي متفق عليه UTC أيضاً. يفترض المثال التالي أن وقت البدء المطلوب هو 01:00 صباحًا بالتوقيت العالمي المنسق للنسخ الاحتياطية اليومية.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime

هام

تحتاج إلى توفير وقت البدء في مضاعفات 30 دقيقة فقط. في المثال أعلاه، يمكن أن يكون فقط "01:00:00" أو "02:30:00". لا يمكن أن يكون وقت البدء "01:15:00"

المثال التالي بتخزين نهج الجدولة ونهج الاستبقاء في المتغيرات. يستخدم المثال هذه المتغيرات لتعريف المعلمات عند إنشاء نهج حماية، نهج جديد.

$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType "AzureVM" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultId $targetVault.ID

يتشابه الإخراج مع المثال التالي:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewPolicy           AzureVM            AzureVM              4/24/2016 1:30:00 AM

تمكين الحماية

بمجرد تحديد نهج الحماية، يجب تمكين النهج لعنصر ما. استخدم الأمر Enable-AzRecoveryServicesBackupProtection لتمكين الحماية. يتطلب تمكين الحماية كائنين - العنصر والنهج. بمجرد اقتران النهج بالمخزن، يتم تشغيل سير عمل النسخ الاحتياطي في الوقت المحدد في جدول النهج.

هام

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

الأمثلة التالية توضح تمكين الحماية للعنصر V2VM باستخدام النهج NewPolicy. تختلف الأمثلة استناداً إلى ما إذا كان الجهاز الظاهري مشفراً، ونوع التشفير.

لتمكين الحماية على الأجهزة الظاهرية غير المشفرة لـ Resource Manager:

$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

لتمكين الحماية على الأجهزة الظاهرية المشفرة (المشفرة باستخدام BEK و KEK)، يجب منح خدمة النسخ الاحتياطي Azure إذن لقراءة المفاتيح والأسرار من المخزن الرئيسي.

Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToKeys backup,get,list -PermissionsToSecrets get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

لتمكين الحماية على الأجهزة الظاهرية المشفرة (مشفرة باستخدام BEK فقط)،يجب أن تعطي خدمة النسخ الاحتياطي Azure إذن لقراءة الأسرار من المخزن الرئيسي.

Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToSecrets backup,get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

إشعار

إذا كنت تستخدم سحابة Azure Government، استخدم قيمة ff281ffe-705c-4f53-9f37-a40e6f2c68f3 للمعلمة ServicePrincipalName في الأمر cmdlet لـ Set-AzKeyVaultAccessPolicy.

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

مراقبة مهمة النسخ الاحتياطي

يمكنك مراقبة العمليات طويلة الأمد، مثل مهام النسخ الاحتياطي، دون استخدام مدخل Azure. للحصول على حالة مهمة قيد التقدم، استخدم الأمر cmdlet لـ Get-AzRecoveryservicesBackupJob. يحصل الأمر cmdlet هذا على وظائف احتياطية لمخزن معين، ويتم تحديد هذا المخزن في سياق المخزن. المثال التالي يحصل على حالة مهمة قيد التقدم كصفيف، ويخزن الحالة في متغير $joblist.

$joblist = Get-AzRecoveryservicesBackupJob –Status "InProgress" -VaultId $targetVault.ID
$joblist[0]

يتشابه الإخراج مع المثال التالي:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM             Backup               InProgress            4/23/2016                5:00:30 PM                cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

بدلا من الاستقصاء عن هذه المهام للإكمال - وهو تعليمة برمجية إضافية غير ضرورية - استخدم الأمر cmdlet لـ Wait-AzRecoveryServicesBackupJob. يقوم cmdlet بالإيقاف المؤقت حتى إكمال المهمة أو يتم الوصول إلى قيمة المهلة المحددة.

Wait-AzRecoveryServicesBackupJob -Job $joblist[0] -Timeout 43200 -VaultId $targetVault.ID

إدارة النسخ الاحتياطية لجهاز Azure الظاهري⁧⁩

تعديل نهج الحماية

لتعديل نهج الحماية، استخدم Set-AzRecoveryServicesBackupProtectionPolicy لتعديل كائنات SchedulePolicy أو RetentionPolicy.

تعديل الوقت المجدول

عند إنشاء نهج حماية، يتم تعيين وقت بدء بشكل افتراضي. توضح الأمثلة التالية كيفية تعديل وقت بدء نهج الحماية.

$SchPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z" (This is the time that you want to start the backup)
$UtcTime = $UtcTime.ToUniversalTime()
$SchPol.ScheduleRunTimes[0] = $UtcTime
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -SchedulePolicy $SchPol -VaultId $targetVault.ID

تعديل الاستبقاء

يغير المثال التالي الاحتفاظ بنقطة الاستبقاء إلى 365 يوماً.

$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
$retPol.DailySchedule.DurationCountInDays = 365
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -RetentionPolicy $RetPol -VaultId $targetVault.ID

تكوين الاستبقاء بلقطة الاستعادة الفورية

إشعار

من Azure PowerShell الإصدار 1.6.0 فصاعداً، يمكن للمرء تحديث فترة الاستبقاء للقطة استعادة فورية في النهج باستخدام PowerShell

$bkpPol = Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID
$bkpPol.SnapshotRetentionInDays=7
Set-AzRecoveryServicesBackupProtectionPolicy -policy $bkpPol -VaultId $targetVault.ID

القيمة الافتراضية ستكون 2. يمكنك تعيين القيمة بحد أدنى 1 و 5 كحد أقصى. بالنسبة لنُهج النسخ الاحتياطي الأسبوعية، يتم تعيين الفترة إلى 5 ولا يمكن تغييرها.

إنشاء مجموعة موارد النسخ الاحتياطي Azure أثناء استبقاء اللقطة

إشعار

من Azure PowerShell الإصدار 3.7.0 فصاعداً، يمكن إنشاء وتحرير مجموعة الموارد التي تم إنشاؤها لتخزين لقطات فورية.

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

$bkpPol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -name "DefaultPolicyForVMs"
$bkpPol.AzureBackupRGName="Contosto_"
$bkpPol.AzureBackupRGNameSuffix="ForVMs"
Set-AzureRmRecoveryServicesBackupProtectionPolicy -policy $bkpPol

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

يوفر Azure Backup VM القدرة على استبعاد أو تضمين الأقراص بشكل انتقائي والتي تكون مفيدة في هذه السيناريوهات. إذا كان الجهاز الظاهري محمياً بالفعل بواسطة النسخ الاحتياطي لجهاز Azure الظاهري وإذا تم نسخ كافة الأقراص احتياطياً، فيمكنك تعديل الحماية لتضمين الأقراص أو استبعادها بشكل انتقائي كما هو مذكور هنا.

تشغيل نسخة احتياطية

استخدام Backup-AzRecoveryServicesBackupItem لتشغيل مهمة النسخ احتياطي. إذا كان النسخ الاحتياطي أولي، فهو نسخة احتياطية كاملة. النسخ الاحتياطية اللاحقة تأخذ نسخة تزايدية. يوضح المثال التالي استبقاء النسخة احتياطية لجهاز ظاهري لمدة 60 يوماً.

$namedContainer = Get-AzRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$item = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM" -VaultId $targetVault.ID
$endDate = (Get-Date).AddDays(60).ToUniversalTime()
$job = Backup-AzRecoveryServicesBackupItem -Item $item -VaultId $targetVault.ID -ExpiryDateTimeUTC $endDate

يتشابه الإخراج مع المثال التالي:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM              Backup              InProgress          4/23/2016                  5:00:30 PM                cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

إشعار

تكون المنطقة الزمنية للحقول وقت البدء ووقت الانتهاء في PowerShell بالتوقيت العالمي (UTC). ومع ذلك، عندما يتم عرض الوقت في مدخل Azure، يتم ضبط الوقت إلى المنطقة الزمنية المحلية.

تغيير نهج عناصر النسخ الاحتياطي

يمكنك إما تعديل النهج الحالي أو تغيير نهج العنصر الذي تم إجراء المتابعة له من Policy1 إلى Policy2. لتبديل النُهج لعنصر احتياطي، قم بإحضار النهج ذات الصلة ثم قم بالنسخ الاحتياطي للعنصر واستخدم الأمر Enable-AzRecoveryServices مع عنصر النسخ الاحتياطي كمعلمة.

$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID

ينتظر الأمر حتى يتم إكمال تكوين النسخ الاحتياطي وإرجاع الإخراج التالي.

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
TestVM           ConfigureBackup      Completed            3/18/2019 8:00:21 PM      3/18/2019 8:02:16 PM      654e8aa2-4096-402b-b5a9-e5e71a496c4e

توقف عن الحماية

الاحتفاظ بالبيانات

إذا كنت ترغب في إيقاف الحماية، يمكنك استخدام الأمر Cmdlet لـ Disable-AzRecoveryServicesBackupProtection لـ PowerShell. سيؤدي هذا إلى إيقاف النسخ الاحتياطي المجدول ولكن يتم الاحتفاظ البيانات احتياطيا حتى الآن إلى الأبد.

$bkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -Name "<backup item name>" -VaultId $targetVault.ID
Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID

استئناف النسخ الاحتياطي

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

$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID

حذف بيانات النسخ الاحتياطي

لإزالة بيانات النسخ الاحتياطي المخزنة تماماً في المخزن، أضف علامة/أو مفتاح "-RemoveRecoveryPoints" إلى أمر الحماية 'disable'.

Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID -RemoveRecoveryPoints

استعادة جهاز Azure الظاهري

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

تلميح

لا تقوم عملية الاستعادة بإنشاء الجهاز الظاهري.

يعرض الرسم التالي التسلسل الهرمي للكائن من RecoveryServicesVault الأسفل إلى BackupRecoveryPoint.

تظهر لقطة الشاشة BackupContainer المدرج بواسطة التسلسل الهرمي لكائن خدمات الاسترداد.

لاستعادة بيانات النسخ الاحتياطي، حدد العنصر الاحتياطي ونقطة الاسترداد التي تحتوي على بيانات نقطة في الوقت. استخدم Restore-AzRecoveryServicesBackupItem لاستعادة البيانات من المخزن إلى حسابك.

الخطوات الأساسية لاستعادة جهاز Azure الظاهري هي:

  • حدد الجهاز الظاهري.
  • اختر نقطة استرداد.
  • قم باستعادة الأقراص.
  • قم بإنشاء الجهاز الظاهري من الأقراص المخزنة.

يمكنك الآن أيضاً استخدام PowerShell لاستعادة محتوى النسخ الاحتياطي مباشرةً إلى جهاز ظاهري (أصلي/جديد)، دون تنفيذ الخطوات المذكورة أعلاه بشكل منفصل. لمزيد من المعلومات، اطلع على استعادة البيانات إلى الجهاز الظاهري باستخدام PowerShell.

حدد الجهاز الظاهري (عند استعادة الملفات)

للحصول على الكائن PowerShell الذي يعرف عنصر النسخ الاحتياطي الصحيح، ابدأ من الحاوية في المخزن، وقم بالتمرير إلى أسفل التسلسل الهرمي للكائن. لتحديد الحاوية التي تمثل الجهاز الظاهري، استخدم الأمر cmdlet لـ Get-AzRecoveryServicesBackupContainer و توجيه الإخراج إلى الأمر cmdlet لـ Get-AzRecoveryServicesBackupItem.

$namedContainer = Get-AzRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM" -VaultId $targetVault.ID

اختيار نقطة استرداد (عند استعادة الملفات)

استخدم الأمر cmdlet لـ Get-AzRecoveryServicesBackupRecoveryPoint لسرد كافة نقاط الاسترداد لعنصر النسخ الاحتياطي. ثم اختر نقطة الاسترداد للاستعادة. إذا لم تكن متأكداً من نقطة الاسترداد التي يجب استخدامها، فمن الممارسات الجيدة اختيار أحدث نقطة RecoveryPointType = AppConsistent في القائمة.

في البرنامج النصي التالي، المتغير، rp هو صفيف من نقاط الاسترداد لعنصر النسخ الاحتياطي المحدد، من الأيام السبعة الماضية. يتم فرز الصفيف بترتيب عكسي للوقت مع أحدث نقطة استرداد في الفهرس 0. استخدم فهرسة صفيف PowerShell القياسية لاختيار نقطة الاسترداد. في المثال، يُحدد $rp[0] أحدث نقطة استرداد.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]

يتشابه الإخراج مع المثال التالي:

RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

استعادة الأقراص

استخدم الأمر cmdlet لـ Restore-AzRecoveryServicesBackupItem لاستعادة بيانات عنصر النسخ احتياطي والتكوين إلى نقطة الاسترداد. بمجرد تحديد نقطة استرداد، استخدمها كقيمة المعلمة -RecoveryPoint. في العينة أعلاه، يكون المتغير $rp[0] هو نقطة الاسترداد للاستخدام. في نموذج التعليمات البرمجية التالي، يكون المتغير $rp[0] هو نقطة الاسترداد التي يجب استخدامها لاستعادة القرص.

لاستعادة الأقراص ومعلومات التكوين:

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID
$restorejob

استعادة الأقراص المُدارة

إشعار

إذا كان الجهاز الظاهري المدعوم قد أدار الأقراص وكنت ترغب في استعادتها كأقراص مُدارة، فقد وفرنا القدرة من وحدة Azure PowerShell RM الإصدار 6.7.0. الإصدار الأحدث.

توفير معلمة إضافية TargetResourceGroupName لتحديد RG الذي سيقوم باستعادة الأقراص المُدارة.

هام

يوصى بشدة استخدام المعلمة TargetResourceGroupName لاستعادة الأقراص المُدارة نظراً لأنه يؤدي إلى تحسينات كبيرة في الأداء. إذا لم يتم إعطاء هذه المعلمة، فلن تتمكن من الاستفادة من وظيفة الاستعادة الفورية وستكون عملية الاستعادة أبطأ بالمقارنة. إذا كان الغرض استعادة الأقراص المُدارة كأقراص غير مُدارة، فلا تقم بتوفير هذه المعلمة ووضح الغرض عن طريق توفير المعلمة -RestoreAsUnmanagedDisks. المعلمة -RestoreAsUnmanagedDisks متوفرة من إصدار Azure PowerShell 3.7.0 فما بعده. في الإصدارات المستقبلية، سيكون إلزامياً توفير أي من هذه المعلمات للحصول على تجربة استعادة صحيحة.

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID

سيتم استعادة ملف VMConfig.JSON إلى حساب التخزين وسيتم استعادة الأقراص المُدارة إلى الهدف المحدد RG.

يتشابه الإخراج مع المثال التالي:

WorkloadName     Operation          Status               StartTime                 EndTime            JobID
------------     ---------          ------               ---------                 -------          ----------
V2VM              Restore           InProgress           4/23/2016 5:00:30 PM                        cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

استخدم الأمر cmdlet لـ Wait-AzRecoveryServicesBackupJob لانتظار مهمة الاستعادة للإكمال.

Wait-AzRecoveryServicesBackupJob -Job $restorejob -Timeout 43200

بمجرد اكتمال مهمة الاستعادة، استخدم الأمر cmdlet لـ Get-AzRecoveryServicesBackupJobDetail للحصول على تفاصيل عملية الاستعادة. الخاصية JobDetails تحتوي على المعلومات اللازمة لإعادة إنشاء الجهاز الظاهري.

$restorejob = Get-AzRecoveryServicesBackupJob -Job $restorejob -VaultId $targetVault.ID
$details = Get-AzRecoveryServicesBackupJobDetail -Job $restorejob -VaultId $targetVault.ID

استخدام الهوية المدارة لاستعادة الأقراص

يسمح لك النسخ الاحتياطي من Azure أيضاً باستخدام الهوية المدارة (MSI) أثناء عملية الاستعادة للوصول إلى حسابات التخزين حيث يتم استعادة الأقراص. هذا الخيار مدعوم حالياً فقط لاستعادة الأقراص المُدارة.

إذا كنت ترغب في استخدام الهوية المُدارة التي عيّنها نظام المخزن لاستعادة الأقراص، فمرر علامة إضافية -UseSystemAssignedIdentity إلى الأمر Restore-AzRecoveryServicesBackupItem. إذا كنت ترغب في استخدام هوية مُدارة يعينها المستخدم، فمرر المعلمة -UserAssignedIdentityId بمعرف Azure Resource Manager للهوية المُدارة للمخزن كقيمة للمعلمة. راجع هذه المقالة لمعرفة كيفية تمكين الهوية المُدارة للمخازن.

استعادة الأقراص المحددة

يمكن للمستخدم استعادة بعض الأقراص بشكل انتقائي بدلاً من المجموعة الكاملة التي تم إجراء نسخة احتياطية منها. توفير LUNs للقرص المطلوب كمعلمة لاستعادتها فقط بدلاً من المجموعة بأكملها كما هو موثق هنا.

هام

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

بمجرد استعادة الأقراص، انتقل إلى القسم التالي لإنشاء الجهاز الظاهري.

استعادة الأقراص إلى منطقة ثانوية

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

  1. أحضر معرف المخزن الذي يتم حماية الأجهزة الظاهرية به.

  2. حدد عنصر النسخ الاحتياطي الصحيح للاستعادة.

  3. حدد نقطة الاسترداد المناسبة في المنطقة الثانوية التي تريد استخدامها لتنفيذ عملية الاستعادة.

    لإكمال هذه الخطوة، قم بتشغيل هذا الأمر:

    $rp=Get-AzRecoveryServicesBackupRecoveryPoint -UseSecondaryRegion -Item $backupitem -VaultId $targetVault.ID
    $rp=$rp[0]
    
  4. تنفيذ الأمر cmdlet لـ Restore-AzRecoveryServicesBackupItem باستخدام المعلمة -RestoreToSecondaryRegion لتشغيل الاستعادة في المنطقة الثانوية.

    لإكمال هذه الخطوة، قم بتشغيل هذا الأمر:

    $restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID -VaultLocation $targetVault.Location -RestoreToSecondaryRegion -RestoreOnlyOSDisk
    

    سيكون الإخراج مشابهًا للمثال التالي:

    WorkloadName     Operation             Status              StartTime                 EndTime          JobID
    ------------     ---------             ------              ---------                 -------          ----------
    V2VM             CrossRegionRestore   InProgress           4/23/2016 5:00:30 PM                       cf4b3ef5-2fac-4c8e-a215-d2eba4124f27
    
  5. تنفيذ الأمر cmdlet لـ Get-AzRecoveryServicesBackupJob باستخدام المعلمة -UseSecondaryRegion لمراقبة مهمة الاستعادة.

    لإكمال هذه الخطوة، قم بتشغيل هذا الأمر:

    Get-AzRecoveryServicesBackupJob -From (Get-Date).AddDays(-7).ToUniversalTime() -To (Get-Date).ToUniversalTime() -UseSecondaryRegion -VaultId $targetVault.ID
    

    سيكون الإخراج مشابهًا للمثال التالي:

    WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
    ------------     ---------            ------               ---------                 -------                   -----
    V2VM             CrossRegionRestore   InProgress           2/8/2021 4:24:57 PM                                 2d071b07-8f7c-4368-bc39-98c7fb2983f7
    

استعادة عبر المناطق

يمكنك استعادة أجهزة ظاهرية مثبتة في منطقة Azure في أي مناطق توفر من نفس المنطقة.

لاستعادة جهاز ظاهري إلى منطقة أخرى، حدد المعلمة TargetZoneNumber في الأمر Restore-AzRecoveryServicesBackupItem.

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID -TargetZoneNumber 3

سيكون الإخراج مشابهًا للمثال التالي:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
zonevmeus2       Restore              InProgress           1/3/2022 10:27:20 AM                                b2298...

تُدعم الاستعادة عبر المناطق فقط في السيناريوهات حيث:

  • جهاز المصدر الظاهري هو منطقة مثبتة وغير مشفرة.
  • نقطة الاسترداد موجودة في طبقة المخزن فقط. النسخ المطابقة فقط أو النسخ المطابقة وطبقة المخزن غير مدعومة.
  • خيار الاسترداد هو إنشاء جهاز ظاهري جديد أو استعادة الأقراص. يستبدل خيار استبدال الأقراص بيانات المصدر؛ لذلك، خيار منطقة التوفر غير قابل للتطبيق.
  • إنشاء جهاز ظاهري/أو أقراص في نفس المنطقة عندما يكون تكرار مساحة التخزين في المخزن هو ZRS. لاحظ أنه لا يعمل إذا كان التكرار في التخزين في المخزن هو GRS، على الرغم من أن الجهاز الظاهري المصدر هو منطقة مثبتة.
  • إنشاء جهاز ظاهري/أقراص في المنطقة المقترنة عند تمكين التكرار في تخزين المخزن لـ Cross-Region Restore وإذا كانت المنطقة المقترنة تدعم المناطق.

استبدال الأقراص في أجهزة Azure الظاهرية

لاستبدال الأقراص ومعلومات التكوين، قم بتنفيذ الخطوات التالية:

إنشاء جهاز VM من الأقراص المستعادة

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

إشعار

  1. يتطلب وحدة AzureAz النمطية الإصدار 3.0.0 أو أحدث.
  2. لإنشاء أجهزة ظاهرية مشفرة من الأقراص المستعادة، يجب أن يكون لدور Azure الإذن لتنفيذ الإجراء، Microsoft.KeyVault/vaults/deploy/action. إذا لم يكن دورك لديه هذا الإذن، قم بإنشاء دور مخصص باستخدام هذا الإجراء. لمزيد من المعلومات، راجع أدوار Azure المخصصة.
  3. بعد استعادة الأقراص، يمكنك الآن الحصول على قالب نشر يمكنك استخدامه مباشرةً لإنشاء جهاز ظاهري جديد. إنك لا تحتاج إلى أوامر cmdlets مختلفة من PowerShell لإنشاء الأجهزة الظاهرية المُدارة/غير المُدارة المشفرة/ غير المشفرة.

إنشاء جهاز ظاهري باستخدام قالب النشر

تعطي تفاصيل الوظيفة الناتجة URI للقالب الذي يمكن الاستعلام عنه ونشره.

   $properties = $details.properties
   $storageAccountName = $properties["Target Storage Account Name"]
   $containerName = $properties["Config Blob Container Name"]
   $templateBlobURI = $properties["Template Blob Uri"]

لا يمكن الوصول إلى النموذج مباشرةً لأنه موجود ضمن حساب تخزين العميل والحاوية المحددة. نحتاج إلى عنوان URL الكامل (جنباً إلى جنب مع رمز SAS المميز المؤقت) للوصول إلى هذا القالب.

  1. استخرج اسم القالب أولاً من قالب templateBlobURI. التنسيق مذكور أدناه. يمكنك استخدام عملية التقسيم في PowerShell لاستخراج اسم القالب النهائي من عنوان URL هذا.

    https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>
    
  2. ثم يمكن إنشاء عنوان URL الكامل كما هو موضح هنا.

    Set-AzCurrentStorageAccount -Name $storageAccountName -ResourceGroupName <StorageAccount RG name>
    $templateBlobFullURI = New-AzStorageBlobSASToken -Container $containerName -Blob <templateName> -Permission r -FullUri
    
  3. قم بنشر القالب لإنشاء جهاز ظاهري جديد كما هو موضح هنا.

    New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateUri $templateBlobFullURI
    

إنشاء جهاز ظاهري باستخدام ملف التكوين

يسرد القسم التالي الخطوات اللازمة لإنشاء جهاز ظاهري باستخدام VMConfig ملف.

إشعار

يوصى بشدة استخدام قالب النشر المُفصل أعلاه لإنشاء جهاز ظاهري. سيتم إهمال هذا القسم (النقاط 1-6) قريباً.

  1. الاستعلام عن خصائص القرص المستعادة للحصول على تفاصيل المهمة.

    $properties = $details.properties
    $storageAccountName = $properties["Target Storage Account Name"]
    $containerName = $properties["Config Blob Container Name"]
    $configBlobName = $properties["Config Blob Name"]
    
  2. تعيين سياق التخزين Azure واستعادة ملف تكوين JSON.

    Set-AzCurrentStorageAccount -Name $storageaccountname -ResourceGroupName "testvault"
    $destination_path = "C:\vmconfig.json"
    Get-AzStorageBlobContent -Container $containerName -Blob $configBlobName -Destination $destination_path
    $obj = ((Get-Content -Path $destination_path -Raw -Encoding Unicode)).TrimEnd([char]0x00) | ConvertFrom-Json
    
  3. استخدم ملف تكوين JSON لإنشاء تكوين الجهاز الظاهري.

    $vm = New-AzVMConfig -VMSize $obj.'properties.hardwareProfile'.vmSize -VMName "testrestore"
    
  4. إرفاق قرص نظام التشغيل وأقراص البيانات. توفر هذه الخطوة أمثلة لتكوينات الجهاز الظاهري المُدارة والمشفرة المختلفة. استخدم المثال الذي يناسب تكوين الجهاز الظاهري.

    • الأجهزة الظاهرية غير المدارة وغير المشفرة - استخدم العينة التالية للأجهزة الظاهرية غير المُدارة وغير المشفرة.
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
            $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • الأجهزة الظاهرية غير المدارة والمشفرة باستخدام معرف Microsoft Entra (BEK فقط) - بالنسبة إلى الأجهزة الظاهرية غير المدارة والمشفرة باستخدام معرف Microsoft Entra (المشفرة باستخدام BEK فقط)، تحتاج إلى استعادة السر إلى مخزن المفاتيح قبل أن تتمكن من إرفاق الأقراص. لمزيد من المعلومات، راجع استعادة جهاز ظاهري مشفر من نقطة استرداد النسخ الاحتياطي Azure. يوضح النموذج التالي كيفية إرفاق نظام التشغيل وأقراص البيانات للأجهزة الظاهرية المشفرة. عند تعيين قرص نظام التشغيل، تأكد من ذكر نوع نظام التشغيل ذي الصلة.
        $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $dekUrl = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows/Linux
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
        foreach($dd in $obj.'properties.storageProfile'.dataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • الأجهزة الظاهرية غير المدارة والمشفرة باستخدام معرف Microsoft Entra (BEK وKEK) - بالنسبة للأجهزة الظاهرية غير المدارة والمشفرة باستخدام معرف Microsoft Entra (المشفرة باستخدام BEK وKEK)، قم باستعادة المفتاح والسر إلى مخزن المفاتيح قبل إرفاق الأقراص. لمزيد من المعلومات، راجع استعادة جهاز ظاهري مشفر من نقطة استرداد النسخ الاحتياطي Azure. يوضح النموذج التالي كيفية إرفاق نظام التشغيل وأقراص البيانات للأجهزة الظاهرية المشفرة.
        $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
        foreach($dd in $obj.'properties.storageProfile'.dataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • الأجهزة الظاهرية غير المدارة والمشفرة بدون معرف Microsoft Entra (BEK فقط) - بالنسبة للأجهزة الظاهرية غير المدارة والمشفرة بدون معرف Microsoft Entra (مشفر باستخدام BEK فقط)، إذا لم تتوفر keyVault/secret المصدر ، قم باستعادة الأسرار إلى مخزن المفاتيح باستخدام الإجراء في استعادة جهاز ظاهري غير مشفر من نقطة استرداد Azure Backup. ثم قم بتنفيذ البرامج النصية التالية لتعيين تفاصيل التشفير على الكائن الثنائي كبير الحجم لنظام التشغيل المستعاد (هذه الخطوة غير مطلوبة لمخزن البيانات الثنائية الكبيرة). يمكن إحضار $dekurl من keyVault المُستعاد.

    يجب تنفيذ البرنامج النصي التالي فقط عندما لا يتوفر المخزن الرئيسي/السر للمصدر.

        $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""}}]}"
        $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd"
        $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName
        $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting
        $osBlob.ICloudBlob.SetMetadata()
    

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

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

        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • الأجهزة الظاهرية غير المدارة والمشفرة بدون معرف Microsoft Entra (BEK وKEK) - بالنسبة للأجهزة الظاهرية غير المدارة والمشفرة بدون معرف Microsoft Entra (مشفر باستخدام BEK وKEK)، إذا لم تتوفر مفاتيح المصدر KeyVault/key/secret، قم باستعادة المفتاح والأسرار إلى مخزن المفاتيح باستخدام الإجراء في استعادة جهاز ظاهري غير مشفر من نقطة استرداد Azure Backup. ثم قم بتنفيذ البرامج النصية التالية لتعيين تفاصيل التشفير على الكائن الثنائي كبير الحجم لنظام التشغيل المستعاد (هذه الخطوة غير مطلوبة لمخزن البيانات الثنائية الكبيرة). يمكن إحضار $dekurl و $kekurl من keyVault المُستعاد.

    يجب تنفيذ البرنامج النصي أدناه فقط عندما لا يتوفر المخزن الرئيسي/المفتاح/السر للمصدر.

        $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""},""keyEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""keyUrl"":""$kekUrl""}}]}"
        $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd"
        $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName
        $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting
        $osBlob.ICloudBlob.SetMetadata()
    

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

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

        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • الأجهزة الظاهرية المُدارة وغير المشفرة - بالنسبة للأجهزة الظاهرية المُدارة غير المشفرة، قم بإرفاق الأقراص المُدارة المستعادة. للحصول على معلومات متعمقة، راجع إرفاق قرص بيانات بجهاز ظاهري Windows باستخدام PowerShell.

    • الأجهزة الظاهرية المدارة والمشفرة باستخدام معرف Microsoft Entra (BEK فقط) - بالنسبة للأجهزة الظاهرية المشفرة المدارة باستخدام معرف Microsoft Entra (المشفرة باستخدام BEK فقط)، قم بإرفاق الأقراص المدارة المستعادة. للحصول على معلومات متعمقة، راجع إرفاق قرص بيانات بجهاز ظاهري Windows باستخدام PowerShell.

    • الأجهزة الظاهرية المدارة والمشفرة باستخدام معرف Microsoft Entra (BEK وKEK) - بالنسبة للأجهزة الظاهرية المشفرة المدارة باستخدام معرف Microsoft Entra (المشفرة باستخدام BEK وKEK)، قم بإرفاق الأقراص المدارة المستعادة. للحصول على معلومات متعمقة، راجع إرفاق قرص بيانات بجهاز ظاهري Windows باستخدام PowerShell.

    • الأجهزة الظاهرية المدارة والمشفرة بدون معرف Microsoft Entra (BEK فقط) -للأجهزة الظاهرية المدارة والمشفرة بدون معرف Microsoft Entra (مشفر باستخدام BEK فقط)، إذا لم يكن مفتاح المصدر /السر متوفرا، فستعيد الأسرار إلى مخزن المفاتيح باستخدام الإجراء في استعادة جهاز ظاهري غير مشفر من نقطة استرداد Azure Backup. ثم قم بتنفيذ البرامج النصية التالية لتعيين تفاصيل التشفير على قرص نظام التشغيل المستعاد (هذه الخطوة غير مطلوبة لقرص بيانات). يمكن إحضار $dekurl من keyVault المُستعاد.

    يجب تنفيذ البرنامج النصي أدناه فقط عندما لا يتوفر المخزن الرئيسي/السر للمصدر.

    $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true
    $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement
    $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement]
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement)
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1"
    Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
    

    بعد أن تتوفر الأسرار ويتم تعيين تفاصيل التشفير على قرص نظام التشغيل، لإرفاق الأقراص المُدارة المستعادة، راجع إرفاق قرص بيانات بجهاز ظاهري Windows باستخدام PowerShell.

    • الأجهزة الظاهرية المدارة والمشفرة بدون معرف Microsoft Entra (BEK وKEK) - بالنسبة للأجهزة الظاهرية المدارة والمشفرة بدون معرف Microsoft Entra (مشفر باستخدام BEK وKEK)، إذا لم يكن مفتاح المصدر /المفتاح/السر متوفرا ، قم باستعادة المفتاح والأسرار إلى مخزن المفاتيح باستخدام الإجراء في استعادة جهاز ظاهري غير مشفر من نقطة استرداد Azure Backup. ثم قم بتنفيذ البرامج النصية التالية لتعيين تفاصيل التشفير على قرص نظام التشغيل المستعاد (هذه الخطوة غير مطلوبة لأقراص بيانات). يمكن إحضار $dekurl و $kekurl من keyVault المُستعاد.

    يجب تنفيذ البرنامج النصي التالي فقط عندما لا يتوفر المخزن الرئيسي/المفتاح/السر للمصدر.

    $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
    $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true
    $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement
    $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl
    $encryptionSettingsElement.KeyEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndKeyReference
    $encryptionSettingsElement.KeyEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.KeyEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.KeyEncryptionKey.KeyUrl = $kekUrl
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement]
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement)
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1"
    Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
    

    بعد أن تتوفر المفاتيح/الأسرار ويتم تعيين تفاصيل التشفير على قرص نظام التشغيل، لإرفاق الأقراص المُدارة المستعادة، راجع إرفاق قرص بيانات بجهاز ظاهري Windows باستخدام PowerShell.

  5. قم بتعيين إعدادات الشبكة.

    $nicName="p1234"
    $pip = New-AzPublicIpAddress -Name $nicName -ResourceGroupName "test" -Location "WestUS" -AllocationMethod Dynamic
    $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName "test" -Location "WestUS" -Name "testvNET" -AddressPrefix 10.0.0.0/16
    $virtualNetwork | Set-AzVirtualNetwork
    $vnet = Get-AzVirtualNetwork -Name "testvNET" -ResourceGroupName "test"
    $subnetindex=0
    $nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName "test" -Location "WestUS" -SubnetId $vnet.Subnets[$subnetindex].Id -PublicIpAddressId $pip.Id
    $vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
    
  6. قم بإنشاء جهاز ظاهري.

    New-AzVM -ResourceGroupName "test" -Location "WestUS" -VM $vm
    
  7. قم بدفع ملحق ADE. إذا لم يتم دفع ملحقات ADE، سيتم وضع علامة على أقراص البيانات على أنها غير مشفرة، لذا من الإلزامي تنفيذ الخطوات أدناه:

    • بالنسبة إلى الجهاز الظاهري مع معرف Microsoft Entra - استخدم الأمر التالي لتمكين التشفير يدويا لأقراص البيانات

      BEK فقط

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -VolumeType Data
      

      BEK وKEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId  -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
    • بالنسبة إلى الجهاز الظاهري بدون معرف Microsoft Entra - استخدم الأمر التالي لتمكين التشفير يدويا لأقراص البيانات.

      إذا قام أثناء تنفيذ الأمر بالمطالبة بمعرف AADClientID، ستحتاج إلى تحديث Azure PowerShell.

      BEK فقط

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
      

      BEK وKEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
      

إشعار

تأكد من حذف ملفات JASON التي تم إنشاؤها كجزء من عملية قرص استعادة الجهاز الظاهري المُشفر يدوياً.

استعادة الملفات من النسخ الاحتياطي لأجهزة Azure الظاهرية

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

الخطوات الأساسية لاستعادة ملف من النسخ الاحتياطي لأجهزة Azure الظاهرية هي:

  • تحديد الجهاز الظاهري
  • اختيار نقطة استرداد
  • إدخال أقراص نقطة الاسترداد
  • نسخ الملفات المطلوبة
  • إلغاء إدخال القرص

حدد الجهاز الظاهري (عند استعادة الجهاز الظاهري)

للحصول على الكائن PowerShell الذي يعرف عنصر النسخ الاحتياطي الصحيح، ابدأ من الحاوية في المخزن، وقم بالتمرير إلى أسفل التسلسل الهرمي للكائن. لتحديد الحاوية التي تمثل الجهاز الظاهري، استخدم الأمر cmdlet لـ Get-AzRecoveryServicesBackupContainer و توجيه الإخراج إلى الأمر cmdlet لـ Get-AzRecoveryServicesBackupItem.

$namedContainer = Get-AzRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM" -VaultId $targetVault.ID

اختيار نقطة استرداد (عند استعادة الجهاز الظاهري)

استخدم الأمر cmdlet لـ Get-AzRecoveryServicesBackupRecoveryPoint لسرد كافة نقاط الاسترداد لعنصر النسخ الاحتياطي. ثم اختر نقطة الاسترداد للاستعادة. إذا لم تكن متأكداً من نقطة الاسترداد التي يجب استخدامها، فمن الممارسات الجيدة اختيار أحدث نقطة RecoveryPointType = AppConsistent في القائمة.

في البرنامج النصي التالي، المتغير، rp هو صفيف من نقاط الاسترداد لعنصر النسخ الاحتياطي المحدد، من الأيام السبعة الماضية. يتم فرز الصفيف بترتيب عكسي للوقت مع أحدث نقطة استرداد في الفهرس 0. استخدم فهرسة صفيف PowerShell القياسية لاختيار نقطة الاسترداد. في المثال، يُحدد $rp[0] أحدث نقطة استرداد.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]

يتشابه الإخراج مع المثال التالي:

RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

إدخال أقراص نقطة الاسترداد

استخدم الأمر cmdlet لـ Get-AzRecoveryServicesBackupRPMountScript للحصول على البرنامج النصي لتحميل كافة الأقراص من نقطة الاسترداد.

إشعار

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

Get-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID

يتشابه الإخراج مع المثال التالي:

OsType  Password        Filename
------  --------        --------
Windows e3632984e51f496 V2VM_wus2_8287309959960546283_451516692429_cbd6061f7fc543c489f1974d33659fed07a6e0c2e08740.exe

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

إلغاء إدخال الأقراص

بعد نسخ الملفات المطلوبة، استخدم Disable-AzRecoveryServicesBackupRPMountScript لإلغاء إدخال الأقراص. تأكد من إلغاء إدخال الأقراص بحيث تتم إزالة الوصول إلى ملفات نقطة الاسترداد.

Disable-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID

استعادة البيانات إلى الجهاز الظاهري باستخدام PowerShell

يمكنك الآن استعادة البيانات مباشرة إلى الجهاز الظاهري الأصلي/البديل دون تنفيذ خطوات متعددة.

استعادة البيانات إلى الجهاز الظاهري الأصلي

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$OriginalLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -VaultId $vault.ID -VaultLocation $vault.Location 
WorkloadName    Operation       Status          StartTime              EndTime
------------    ---------       ------          ---------              -------
V2VM            Restore         InProgress      26-Apr-16 1:14:01 PM   01-Jan-01 12:00:00 AM

يعمل الأمر الأخير على تشغيل عملية استعادة الموقع الأصلي لاستعادة البيانات في مكانها في الجهاز الظاهري الموجود.

استعادة البيانات إلى جهاز ظاهري تم إنشاؤه حديثًا

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$AlternateLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -TargetResourceGroupName "Target_RG" -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -TargetVMName "TagetVirtualMachineName" -TargetVNetName "Target_VNet" -TargetVNetResourceGroup "" -TargetSubnetName "subnetName" -VaultId $vault.ID -VaultLocation $vault.Location 
WorkloadName    Operation       Status          StartTime              EndTime
------------    ---------       ------          ---------              -------
V2VM            Restore         InProgress      26-Apr-16 1:14:01 PM   01-Jan-01 12:00:00 AM

يعمل الأمر الأخير على تشغيل عملية استعادة موقع بديل لإنشاء جهاز ظاهري جديد في مجموعة موارد Target_RG وفقاً للمدخلات المحددة بواسطة المعلمات TargetVMName وTargetVNetName وTargetVNetResourceGroup وTargetSubnetName. وهذا يضمن استعادة البيانات في الجهاز الظاهري والشبكة الظاهرية والشبكة الفرعية المطلوبة.

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

إذا كنت تفضل استخدام PowerShell للتفاعل مع موارد Azure، راجع مقالة PowerShell نشر النسخ الاحتياطي وإدارته في Windows Server. إذا كنت تدير النسخ الاحتياطية DPM، راجع المقالة، نشر وإدارة النسخ الاحتياطي DPM.