مشاركة عبر


نسخ أقراص Azure المُدارة احتياطياً باستخدام Azure PowerShell

تشرح هذه المقالة كيفية نسخ أقراص Azure المُدارة احتياطياً باستخدام Azure PowerShell.

ستتعرف في هذه المقالة على كيفية:

  • إنشاء مخزن للنسخ الاحتياطي

  • إنشاء سياسة النسخ احتياطي

  • تكوين نسخة احتياطية من قرص Azure

  • إجراء مهمة النسخ الاحتياطي حسب الطلب

من أجل الحصول على معلومات حول توفر منطقة النسخ الاحتياطي على Azure Disk والسيناريوهات والقيود المدعومة، راجع مصفوفة الدعم .

إنشاء مخزن للنسخ الاحتياطي

مخزن النسخ الاحتياطي عبارة عن كيان تخزين في Azure يحتفظ ببيانات النسخ الاحتياطي لأحمال العمل الأحدث المتنوعة التي يدعمها Azure Backup، مثل قاعدة بيانات Azure لخوادم PostgreSQL وAzure Disks. تسهل مخازن Backup تنظيم بيانات النسخ الاحتياطي، مع تقليل النفقات العامة للإدارة. تستند خزائن النسخ الاحتياطي إلى نموذج Azure Resource Manager من Azure، والذي يوفر قدرات محسنة للمساعدة في تأمين بيانات النسخ الاحتياطي.

قبل إنشاء مخزن النسخ الاحتياطي، اختر تكرار التخزين للبيانات داخل المخزن. ثم انتقل إلى إنشاء مخزن النسخ الاحتياطي مع تكرار التخزين هذا والموقع. في هذه المقالة، سننشئ مخزن النسخ الاحتياطي "TestBkpVault" في منطقة "westus" ضمن مجموعة الموارد "testBkpVaultRG". استخدم الأمر New-AzDataProtectionBackupVault لإنشاء مخزن نسخ احتياطي. تعرف على المزيد حول إنشاء مخزن النسخ الاحتياطي.

$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant/GeoRedundant -DataStoreType VaultStore
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
$TestBKPVault | fl
ETag                :
Id                  : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault
Identity            : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppIdentityDetails
IdentityPrincipalId :
IdentityTenantId    :
IdentityType        :
Location            : westus
Name                : TestBkpVault
ProvisioningState   : Succeeded
StorageSetting      : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.StorageSetting}
SystemData          : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SystemData
Tag                 : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppTrackedResourceTags
Type                : Microsoft.DataProtection/backupVaults

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

إنشاء سياسة النسخ احتياطي

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

$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDisk
$policyDefn | fl


DatasourceType : {Microsoft.Compute/disks}
ObjectType     : BackupPolicy
PolicyRule     : {BackupHourly, Default}

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

يتكون قالب النهج من مشغل (الذي يقرر ما الذي يقوم بتشغيل النسخ الاحتياطي) ودورة حياة (التي تحدد وقت حذف/نسخ/نقل النسخ الاحتياطي). في النسخ الاحتياطي للقرص Azure، تكون القيمة الافتراضية للمشغل هي مشغل كل ساعة مجدول كل 4 ساعات (PT4H) وللاحتفاظ بكل نسخة احتياطية لمدة 7 أيام.

 $policyDefn.PolicyRule[0].Trigger | fl


ObjectType                    : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2020-04-05T13:00:00+00:00/PT4H}
TaggingCriterion              : {Default}
$policyDefn.PolicyRule[1].Lifecycle | fl


DeleteAfterDuration        : P7D
DeleteAfterObjectType      : AbsoluteDeleteOption
SourceDataStoreObjectType  : DataStoreInfoBase
SourceDataStoreType        : OperationalStore
TargetDataStoreCopySetting :

يقدم النسخ الاحتياطي لقرص Azure نسخًا احتياطية متعددة يوميًا. إذا كنت تحتاج إلى مزيد من عمليات النسخ الاحتياطي بشكل متكرر، فاختر تكرار النسخ الاحتياطي كل ساعة مع إمكانية عمل نسخ احتياطية بفواصل زمنية كل 4 أو 6 أو 8 أو 12 ساعة. تتم جدولة النسخ الاحتياطية تبعًا لفاصل الزمني المحدد. على سبيل المثال، إذا قمت بتحديد كل 4 ساعات، ثم يتم أخذ النسخة الاحتياطية في الفترة الفاصلة تقريبا من كل 4 ساعات بحيث يتم توزيع النسخة الاحتياطية بالتساوي على مدار اليوم. إذا كان النسخ الاحتياطي مرة واحدة في اليوم كافياً، اختر تكرار النسخ الاحتياطي اليومي. في تكرار النسخ الاحتياطي اليومي، يمكنك تحديد الوقت من اليوم عند أخذ النسخة الاحتياطية الخاصة بك. من المهم ملاحظة أن الوقت من اليوم يشير إلى وقت بدء النسخ الاحتياطي وليس وقت اكتمال النسخ الاحتياطي. يعتمد الوقت المطلوب لإكمال عملية النسخ الاحتياطي على عوامل مختلفة بما في ذلك حجم القرص ومعدل التباعد بين النسخ الاحتياطية المتتالية. ومع ذلك، يُقصد بـ Azure Disk backup هو نسخة احتياطية دون عامل يستخدم لقطات تزايدية، والتي لا تؤثر على أداء تطبيق الإنتاج.

إشعار

  • على الرغم من أن المخزن المحدد قد يحتوي على إعداد التكرار العام، فإن Azure Disk Backup يدعم حالياً مخزن بيانات اللقطة فقط. يتم تخزين جميع النسخ الاحتياطية في مجموعة موارد في اشتراكك ولا يتم نسخها إلى تخزين مخزن النسخة الاحتياطية.
  • بالنسبة لأقراص Azure التي تنتمي إلى وحدات SSD القياسية وSSD القياسية ووحدات SSD المتميزة، يمكنك تحديد جدول النسخ الاحتياطي بتردد كل ساعة (من 1 أو 2 أو 4 أو 6 أو 8 أو 12 ساعة) والتردد اليومي .
  • بالنسبة لأقراص Azure التي تنتمي إلى وحدات SKU Premium V2 و Ultra Disk، يمكنك تحديد جدول النسخ الاحتياطي مع تكرار كل ساعة من 12 ساعة فقط والتردد اليومي .

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

إذا كنت ترغب في تحرير التردد كل ساعة أو فترة الاستبقاء، فاستخدم الأوامر Edit-AzDataProtectionPolicyTriggerClientObject و/أو Edit-AzDataProtectionPolicyRetentionRuleClientObject. بمجرد أن يحتوي كائن النهج على كافة القيم المطلوبة، تابع إلى إنشاء نهج جديد من كائن النهج باستخدام New-AzDataProtectionBackupPolicy.

New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name diskBkpPolicy -Policy $policyDefn

Name                   Type
----                   ----
diskBkpPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

$diskBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "diskBkpPolicy"

تكوين النسخ الاحتياطي

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

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

القرص المطلوب حمايته

إحضار معرف ARM للقرص الذي ستتم حمايته. هذا سيكون بمثابة معرف القرص. سنستخدم مثالا على قرص يسمى "PSTestDisk" ضمن مجموعة موارد "diskrg" ضمن اشتراك مختلف.

$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/PSTestDisk"

مجموعة موارد اللقطة

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

$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"

مخزن النسخ الاحتياطي

تتطلب خزائن النسخ الاحتياطي أذونات على القرص ومجموعة موارد اللقطة لتتمكن من تشغيل اللقطات وإدارة دورة حياتها. يتم استخدام الهوية المُدارة للمخزن المعيّن من قِبل النظام لتعيين مثل هذه الأذونات. استخدم الأمر Update-AzRecoveryServicesVault لتمكين هوية مدارة معينة من قبل النظام لمخزن خدمات الاسترداد.

تعيين الأذونات

يحتاج المستخدم إلى تعيين أذونات قليلة عبر RBAC إلى المخزن (يمثله مخزن MSI) والقرص ذي الصلة و/أو RG القرص. ويمكن تنفيذ هذه عبر المدخل أو PowerShell.

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

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

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

  • عيّن دور Disk Backup Reader للهوية المدارة لمخزن النسخ الاحتياطي على قرص المصدر الذي يحتاج إلى نسخ احتياطي.

    1. انتقل إلى القرص الذي يحتاج إلى إجراء نسخ احتياطي.

    2. انتقل إلى "Access control (IAM)" وحدد "Add role assignments".

    3. في جزء السياق الأيمن، حدد "Disk Backup Reader" في القائمة المنسدلة Role.

    4. حدد الهوية المُدارة للمخزن الاحتياطي ثم انق فوق "Save".

      تلميح

      اكتب اسم مخزن النسخ الاحتياطي لتحديد الهوية المدارة للمخزن.

    لقطة شاشة توضح عملية تعيين دور قارئ النسخ الاحتياطي للقرص للهوية المدارة لمخزن النسخ الاحتياطي على قرص المصدر الذي يحتاج إلى نسخ احتياطي.

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

    1. انتقل إلى مجموعة الموارد. على سبيل المثال، مجموعة الموارد هي SnapshotRG، وهي في نفس اشتراك القرص المراد نسخه احتياطيًا.

    2. انتقل إلى "Access control (IAM)" وحدد "Add role assignments".

    3. في جزء السياق الأيمن، حدد "Disk Snapshot Contributor" في القائمة المنسدلة Role.

    4. حدد الهوية المُدارة للمخزن الاحتياطي ثم انق فوق "Save".

      تلميح

      اكتب اسم مخزن النسخ الاحتياطي لتحديد الهوية المدارة للمخزن.

    لقطة شاشة توضح عملية تعيين دور مساهم لقطة القرص للهوية المدارة لمخزن النسخ الاحتياطي في مجموعة الموارد.

  • تحقق من أن هوية المدارة في مخزن النسخ الاحتياطي لديه مجموعة مناسبة من تعيينات الدور على القرص المصدر ومجموعة الموارد التي تعمل بمثابة مخزن بيانات اللقطة.

    1. انتقل إلى مخزن النسخ الاحتياطي - > الهوية وحدد تعيينات أدوار Azure .

      لقطة شاشة تعرض تحديد تعيينات دور Azure.

    2. تحقق من صحة الدور واسم المورد ونوع المورد.

      لقطة شاشة توضح التحقق من الدور واسم المورد ونوع المورد.

إشعار

بينما تنعكس تعيينات الدور بشكل صحيح في المدخل، قد يستغرق الأمر ما يقرب من 15-30 دقيقة للحصول على إذن ليتم تطبيقه على الهوية المدارة لمخزن النسخ الاحتياطي.

إعداد الطلب

بمجرد تعيين جميع الأذونات ذات الصلة، يتم تنفيذ تكوين النسخ الاحتياطي في خطوتين. أولاً، نقوم بإعداد الطلب ذي الصلة باستخدام مجموعة موارد المخزن والنهج والقرص واللقطات ذات الصلة باستخدام الأمر Initialize-AzDataProtectionBackupInstance. ثم، نقدم طلب حماية القرص باستخدام الأمر New-AzDataProtectionBackupInstance.

$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureDisk -DatasourceLocation $TestBkpvault.Location -PolicyId $diskBkpPol[0].Id -DatasourceId $DiskId 
$instance.Property.PolicyInfo.PolicyParameter.DataStoreParametersList[0].ResourceGroupId = $snapshotrg
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance

Name                                                       Type                                                  BackupInstanceName
----                                                       ----                                                  ------------------
diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166 Microsoft.DataProtection/backupVaults/backupInstances diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166

ثم قم بإجراء النسخ الاحتياطي حسب الطلب

قم بإحضار مثيل النسخ الاحتياطي ذي الصلة الذي يرغب المستخدم في تشغيل نسخة احتياطية عليه باستخدام الأمر Get-AzDataProtectionBackupInstance

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"

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

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

قم يتشغيل نسخة احتياطية عند الطلب، باستخادم الأمر Backup-AzDataProtectionBackupInstanceAdhoc.

$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"

تتبع الوظائف

تتبع جميع الوظائف باستخدام الأمر Get-AzDataProtectionJob. يمكنك سرد جميع الوظائف وجلب تفاصيل مهمة معينة.

يمكنك أيضاً استخدام Az.ResourceGraph لتعقب جميع المهام عبر جميع مخازن النسخ الاحتياطي. استخدم الأمر Search-AzDataProtectionJobInAzGraph للحصول على المهمة ذات الصلة والتي يمكن أن تكون عبر أي مخزن نسخ احتياطي.

  $job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureDisk -Operation OnDemandBackup

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