إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية استعادة أقراص Azure المُدارة من نقطة استعادة تم إنشاؤها باستخدام Azure CLI. يمكنك أيضا استعادة القرص المدار باستخدام مدخل Microsoft AzureوAzure PowerShellوواجهة برمجة تطبيقات REST.
هام
دعم النسخ الاحتياطي والاستعادة لأقراص Azure المُدارة عبر CLI يوجد في الإصدار الأولي ومتاحًا كامتداد في الإصدار 2.15.0 Az والإصدارات الأحدث. يتم تثبيت الملحق تلقائياً عندما تقوم بتشغيل أوامر az dataprotection. تعرف على المزيد حول الملاحق.
حالياً، لا يتم دعم خيار استعادة الموقع الأصلي (OLR) الخاص بالاستعادة عن طريق استبدال القرص المصدر الموجود حيث تم أخذ النسخ الاحتياطية. يمكنك الاستعادة من نقطة استرداد لإنشاء قرص جديد في نفس مجموعة الموارد للقرص المصدر أو في أي مجموعة موارد أخرى، والتي تسمى استرداد الموقع البديل (ALR).
هنا، دعونا نستخدم مخزن النسخ الاحتياطي الحالي TestBkpVault، ضمن مجموعة الموارد testBkpVaultRG في الأمثلة.
استعادة لإنشاء قرص جديد
إعداد الأذونات
يستخدم مخزن النسخ الاحتياطي هوية مُدارة للوصول إلى موارد Azure الأخرى. للاستعادة من النسخة الاحتياطية، تتطلب الهوية المُدارة لـ Backup vault مجموعة من الأذونات على مجموعة الموارد حيث ستتم استعادة القرص.
يستخدم مخزن النسخ الاحتياطي هوية مُدارة معينة من قبل النظام، والتي تقتصر على واحد لكل مورد ومرتبط بدورة حياة هذا المورد. يمكنك منح أذونات للهوية المدارة باستخدام عنصر التحكم في الوصول استناداً إلى الدور (Azure RBAC). الهوية المدارة هي كيان خدمة من نوع خاص يمكن استخدامه فقط مع موارد Azure. تعرف على المزيد حول الهويات المدارة.
قم بتعيين الأذونات ذات الصلة للهوية المدارة المعينة من قبل النظام للمخزن على مجموعة الموارد الهدف حيث يجب استعادة/إنشاء الأقراص كما هو مذكور هنا.
إحضار نقطة الاسترداد ذات الصلة
لسرد كل مثيلات النسخ الاحتياطي داخل مخزن، استخدم الأمر az dataprotection backup-instance list، ومن ثم جلب المثيل ذات الصلة باستخدام الأمر az dataprotection backup-instance show. بدلاً من ذلك، بالنسبة للسيناريوهات على نطاق واسع، يمكنك سرد مثيلات النسخ الاحتياطي عبر الخزائن والاشتراكات باستخدام az dataprotection backup-instance list-from-resourcegraph
az dataprotection backup-instance list-from-resourcegraph --datasource-type AzureDisk --datasource-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk
[
{
"datasourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"extendedLocation": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"identity": null,
"kind": "",
"location": "",
"managedBy": "",
"name": "diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"plan": null,
"properties": {
"currentProtectionState": "ProtectionConfigured",
"dataSourceInfo": {
"baseUri": null,
"datasourceType": "Microsoft.Compute/disks",
"objectType": "Datasource",
"resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"resourceLocation": "westus",
"resourceName": "CLITestDisk",
"resourceType": "Microsoft.Compute/disks",
"resourceUri": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk"
},
"dataSourceProperties": null,
"dataSourceSetInfo": null,
"datasourceAuthCredentials": null,
"friendlyName": "CLITestDisk",
"objectType": "BackupInstance",
"policyInfo": {
"policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupPolicies/DiskPolicy",
"policyParameters": {
"dataStoreParametersList": [
{
"dataStoreType": "OperationalStore",
"objectType": "AzureOperationalStoreParameters",
"resourceGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/snapshotrg"
}
]
},
"policyVersion": null
},
"protectionErrorDetails": null,
"protectionStatus": {
"errorDetails": null,
"status": "ProtectionConfigured"
},
"provisioningState": "Succeeded"
},
"protectionState": "ProtectionConfigured",
"resourceGroup": "testBkpVaultRG",
"sku": null,
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tags": null,
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "microsoft.dataprotection/backupvaults/backupinstances",
"vaultName": "TestBkpVault",
"zones": null
}
]
بمجرد تحديد المثيل، اجلب نقطة الاسترداد ذات الصلة باستخدام الأمر az dataprotection recovery-point list.
az dataprotection recovery-point list --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -g testBkpVaultRG --vault-name TestBkpVault
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/recoveryPoints/5081ad8f1e6c4548ae89536d0d45c493",
"name": "5081ad8f1e6c4548ae89536d0d45c493",
"properties": {
"friendlyName": "0f598ced-cbfe-4169-b962-ee94b0210490",
"objectType": "AzureBackupDiscreteRecoveryPoint",
"policyName": "DiskPSPolicy2",
"policyVersion": null,
"recoveryPointDataStoresDetails": [
{
"creationTime": "2021-06-08T09:01:57.708319+00:00",
"expiryTime": "2021-06-15T09:01:57.708319+00:00",
"id": "c2ad4629-f2ef-49b6-b3f8-50f3eb5404f4",
"metaData": null,
"rehydrationExpiryTime": null,
"rehydrationStatus": null,
"state": "COMMITTED",
"type": "OperationalStore",
"visible": true
}
],
"recoveryPointId": "5081ad8f1e6c4548ae89536d0d45c493",
"recoveryPointTime": "2021-06-08T09:01:57.708319+00:00",
"recoveryPointType": "Incremental",
"retentionTagName": "Default",
"retentionTagVersion": "637553616953961153"
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints"
},
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/recoveryPoints/039322cc563049bcbdb77bd695d4c02c",
"name": "039322cc563049bcbdb77bd695d4c02c",
"properties": {
"friendlyName": "af6512b6-aa38-4966-b8e1-660c4eccdc0d",
"objectType": "AzureBackupDiscreteRecoveryPoint",
"policyName": "DiskPSPolicy2",
"policyVersion": null,
"recoveryPointDataStoresDetails": [
{
"creationTime": "2021-06-08T05:01:55.426507+00:00",
"expiryTime": "2021-06-15T05:01:55.426507+00:00",
"id": "c2ad4629-f2ef-49b6-b3f8-50f3eb5404f4",
"metaData": null,
"rehydrationExpiryTime": null,
"rehydrationStatus": null,
"state": "COMMITTED",
"type": "OperationalStore",
"visible": true
}
],
"recoveryPointId": "039322cc563049bcbdb77bd695d4c02c",
"recoveryPointTime": "2021-06-08T05:01:55.426507+00:00",
"recoveryPointType": "Incremental",
"retentionTagName": "Default",
"retentionTagVersion": "637553616953961153"
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints"
}
]
على سبيل المثال، يقوم الاستعلام التالي بإرجاع أحدث نقطة استرداد.
az dataprotection recovery-point list --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -g testBkpVaultRG --vault-name TestBkpVault --query "[0].id"
"/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/sarath-vault/backupInstances/clitest-clitest-cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/recoveryPoints/5081ad8f1e6c4548ae89536d0d45c493"
تحضير طلب الاستعادة
قم بإنشاء معرف ARM للقرص الجديد، الذي سيتم إنشاؤه باستخدام مجموعة الموارد المستهدفة، والتي تم تعيين الأذونات لها كما هو مفصل أعلاه، واسم القرص المطلوب. لنستخدم مثالا على قرص يسمى CLITestDisk2، ضمن مجموعة موارد targetrg، ضمن اشتراك مختلف.
$targetDiskId = /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/CLITestDisk2
استخدم الأمر az dataprotection backup-instance restore initialize-for-data-recovery لإعداد طلب استعادة مع كل التفاصيل ذات الصلة.
az dataprotection backup-instance restore initialize-for-data-recovery --datasource-type AzureDisk --restore-location southeastasia --source-datastore OperationalStore --recovery-point-id 5081ad8f1e6c4548ae89536d0d45c493 --target-resource-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/CLITestDisk2 > restore.json
{
"object_type": "AzureBackupRecoveryPointBasedRestoreRequest",
"recovery_point_id": "77594ce0470849e79b86a6875b726dca",
"restore_target_info": {
"datasource_info": {
"datasource_type": "Microsoft.Compute/disks",
"object_type": "Datasource",
"resource_id": "//subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/CLITestDisk2",
"resource_location": "southeastasia",
"resource_name": "CLITestDisk2",
"resource_type": "Microsoft.Compute/disks",
"resource_uri": ""
},
"object_type": "RestoreTargetInfo",
"recovery_option": "FailIfExists",
"restore_location": "southeastasia"
},
"source_data_store_type": "OperationalStore"
}
يمكنك أيضاً التحقق من صحة إذا كان ملف JSON سينجح في إنشاء موارد جديدة باستخدام الأمر az dataprotection backup-instance validate-for-restore.
az dataprotection backup-instance validate-for-restore -g testBkpVaultRG --vault-name TestBkpVault --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e --restore-request-object restore.json
تشغيل الاستعادة
استخدم الأمر az dataprotection backup-instance restore trigger لتشغيل عملية الاستعادة مع الطلب المعدة أعلاه.
az dataprotection backup-instance restore trigger -g testBkpVaultRG --vault-name TestBkpVault --backup-instance-name diskrg-CLITestDisk-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e --restore-request-object restore.json
وظيفة التتبع
تعقب كل المهام باستخدام الأمر az dataprotection job list. يمكنك سرد جميع الوظائف وجلب تفاصيل مهمة معينة.
يمكنك أيضاً استخدام Az.ResourceGraph لتعقب جميع المهام عبر جميع مخازن النسخ الاحتياطي. استخدم الأمر az dataprotection job list-from-resourcegraph للحصول على المهمة ذات الصلة والتي يمكن أن تكون في أي خزينة من خزائن النسخ الاحتياطي.
az dataprotection job list-from-resourcegraph --datasource-type AzureDisk --operation Restore