Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede , Azure CLI kullanarak Azure Yönetilen Disk'i yedekleme açıklanmaktadır. Rest API'yi bir Yedekleme ilkesi oluşturmak ve Azure Yönetilen Disk için yedeklemeyi yapılandırmak için de kullanabilirsiniz .
Önemli
CLI aracılığıyla Azure Yönetilen Diskler yedekleme ve geri yükleme desteği önizleme aşamasındadır ve Az 2.15.0 ve sonraki sürümlerde uzantı olarak kullanılabilir. az dataprotection komutlarını çalıştırdığınızda uzantı otomatik olarak yüklenir. Uzantılar hakkında daha fazla bilgi edinin.
Azure Disk yedekleme bölgesinin kullanılabilirliği, desteklenen senaryolar ve sınırlamalar hakkında bilgi edinin.
Not
- Hedef disk bir AKS kümesine Kalıcı Birim olarak bağlıysa, tek başına Disk Yedekleme çözümü yerine AKS için Azure Backup'ı seçin. Diskin, kapsayıcı uygulama ile birlikte tek bir birim olarak anlık görüntü şeklinde, Kubernetes entegrasyonlu bir şekilde yedeklenmesine olanak tanır. Ayrıca AKS Backup ile Bölgeler Arası Geri Yükleme ve fidye yazılımı koruma özelliklerine sahip olursunuz.
Backup kasası oluşturma
Yedekleme kasası Azure'da PostgreSQL için Azure Veritabanı sunucuları, depolama hesabındaki bloblar ve Azure Diskleri gibi Azure Backup'ın desteklediği daha yeni iş yükleri için yedekleme verilerini depolayan bir depolama varlığıdır. Yedekleme kasaları, yedekleme verilerinizi düzenlemeyi kolaylaştırırken yönetim ek yükünü de en aza indirir. Yedekleme kasaları, yedekleme verilerinin güvenliğini sağlamaya yardımcı olmak için gelişmiş özellikler sağlayan Azure Resource Manager modelini temel alır.
Backup kasası oluşturmadan önce kasadaki verilerin depolama yedekliliğini seçin. Ardından bu depolama yedekliliği ve konumuyla Backup kasasını oluşturmaya devam edin. Bu makalede westus bölgesinde testBkpVaultRG kaynak grubu altında bir Backup kasası TestBkpVault oluşturacağız. Bir Backup kasası oluşturmak için az dataprotection vault create komutunu kullanın. Backup kasası oluşturma hakkında daha fazla bilgi edinin.
az dataprotection backup-vault create -g testBkpVaultRG --vault-name TestBkpVault -l westus --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"
{
"eTag": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SystemAssigned"
},
"location": "westus",
"name": "TestBkpVault",
"properties": {
"provisioningState": "Succeeded",
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "LocallyRedundant"
}
]
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"tags": null,
"type": "Microsoft.DataProtection/backupVaults"
}
Kasa oluşturulduktan sonra Azure Disklerini korumak için bir yedekleme ilkesi oluşturalım.
Yedekleme ilkesi oluşturma
Azure Disk Backup için yedekleme ilkesinin iç bileşenlerini anlamak için az dataprotection backup-policy get-default-policy-template komutunu kullanarak ilke şablonunu alın. Bu komut, belirli bir veri kaynağı türü için varsayılan ilke şablonunu döndürür. Yeni bir ilke oluşturmak için bu ilke şablonunu kullanın.
az dataprotection backup-policy get-default-policy-template --datasource-type AzureDisk
{
"datasourceTypes": [
"Microsoft.Compute/disks"
],
"name": "DiskPolicy",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Incremental",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupHourly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-05T13:00:00+00:00/PT4H"
]
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
}
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
}
İlke şablonu bir tetikleyiciden (yedeklemeyi neyin tetiklediğine karar veren) ve bir yaşam döngüsünden (yedeklemenin ne zaman silineceğine/kopyalanıp taşıneceğine karar verir) oluşur. Azure Disk Backup'ta tetikleyici için varsayılan değerler, her 4 saatte bir (PT4H) zamanlanmış bir tetikleyicidir ve her yedeklemeyi yedi gün boyunca korur.
Zamanlanmış tetikleyici:
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-05T13:00:00+00:00/PT4H"
]
}
}
Varsayılan saklama yaşam döngüsü:
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
}
}
]
Önemli
Yedekleme zamanlaması ISO 8601 süre biçimini izler. Ancak, yedeklemeler süresiz olarak çalışacak şekilde yapılandırıldığından yinelenen aralık ön eki R desteklenmez. **
R ile belirtilen herhangi bir değer yoksayılacaktır.
Azure Disk Backup günde birden çok yedekleme sunar. Daha sık yedeklemeye ihtiyacınız varsa, 4, 6, 8 veya 12 saatte bir aralıklarla yedekleme alabilme özelliğine sahip Saatlik yedekleme sıklığını seçin. Yedeklemeler, seçilen Zaman aralığına göre zamanlanır.
Örneğin, Her 4 saatte bir'i seçerseniz yedeklemeler yaklaşık olarak her 4 saatte bir alınır, böylece yedeklemeler gün içinde eşit olarak dağıtılır. Günde bir kez yedekleme yeterliyse Günlük yedekleme sıklığını seçin. Günlük yedekleme sıklığında, yedeklemelerinizin alındığı günün saatini belirtebilirsiniz.
Önemli
Günün saati, yedeklemenin tamamlanma zamanını değil yedekleme başlangıç saatini gösterir.
Yedekleme işlemini tamamlamak için gereken süre, diskin boyutu ve ardışık yedeklemeler arasındaki değişim oranı gibi çeşitli faktörlere bağlıdır. Ancak Azure Disk Backup, üretim uygulaması performansını etkilemeyen artımlı anlık görüntüleri kullanan aracısız bir yedeklemedir.
Not
Seçili kasa genel yedeklilik ayarına sahip olsa da, Azure Disk Backup şu anda yalnızca anlık görüntü veri depolarını destekler. Tüm yedeklemeler aboneliğinizdeki bir kaynak grubunda depolanır ve Backup kasası depolama alanına kopyalanmaz.
İlke oluşturma hakkında daha fazla bilgi edinmek için bkz. Azure Disk Backup ilkesi oluşturma.
Şablon JSON dosyası olarak indirildikten sonra, zamanlama ve saklama için düzenleyebilirsiniz. Ardından, elde edilen JSON ile yeni bir ilke oluşturun. Saatlik sıklığı veya bekletme süresini düzenlemek istiyorsanız az dataprotection backup-policy trigger set ve/veya az dataprotection backup-policy retention-rule set komutlarını kullanın. İlke JSON gerekli tüm değerleri aldıktan sonra az dataprotection backup-policy create komutunu kullanarak ilke nesnesinden yeni bir ilke oluşturmaya devam edin.
az dataprotection backup-policy get-default-policy-template --datasource-type AzureDisk > policy.json
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy policy.json
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/mypolicy",
"name": "mypolicy",
"properties": {
"datasourceTypes": [
"Microsoft.Compute/disks"
],
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Incremental",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupHourly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-05T13:00:00+00:00/PT4H"
]
},
"taggingCriteria": [
{
"criteria": null,
"isDefault": true,
"tagInfo": {
"eTag": null,
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
Yedeklemeyi yapılandırma
Kasa ve ilke oluşturulduktan sonra, bir Azure Disk'i korumak için göz önünde bulundurmanız gereken üç kritik nokta vardır.
Dahil olan kilit unsurlar
Korunacak disk
ARM kimliğini ve korunacak diskin konumunu getirin. Bu, diskin tanımlayıcısı olarak görev yapacaktır. CliTestDisk adlı bir diskin örneğini, diskrg kaynak grubunun altında, farklı bir abonelik altında kullanacağız.
$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk"
Anlık görüntü kaynak grubu
Disk anlık görüntüleri aboneliğinizdeki bir kaynak grubunda depolanır. Kılavuz olarak, Azure Backup hizmeti tarafından kullanılacak anlık görüntü veri deposu olarak ayrılmış bir kaynak grubu oluşturmanızı öneririz. Ayrılmış bir kaynak grubuna sahip olmak, kaynak grubu üzerindeki erişim izinlerinin kısıtlanmasıyla yedekleme verilerinin güvenlik ve yönetim kolaylığı sağlar. Disk anlık görüntülerini yerleştirmek istediğiniz kaynak grubunun ARM kimliğini not edin
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"
Yedekleme kasası
Yedekleme kasaları, anlık görüntüleri tetikleyebilmek ve yaşam döngülerini yönetmek için disk üzerinde ve anlık görüntü kaynak grubunda izinler gerektirir. Depoya sistem tarafından atanan yönetilen kimlik, bu tür izinlerin atanması için kullanılır. Kurtarma Hizmetleri Kasası için sistem tarafından atanan yönetilen kimliği etkinleştirmek için az dataprotection backup-vault update komutunu kullanın.
az dataprotection backup-vault update -g testBkpVaultRG --vault-name TestBkpVault --type SystemAssigned
İzin atama
RBAC aracılığıyla kasaya (kasa MSI ile temsil edilir) ve ilgili diske ve/veya disk RG'ye birkaç izin atamanız gerekir. Bunlar Azure portalı veya CLI aracılığıyla gerçekleştirilebilir. İlgili izinleri atamak için yönetilen disklerin yedeklemesini yapılandırma önkoşullarına bakın.
İsteği hazırlama
Tüm ilgili izinler ayarlandıktan sonra yedekleme yapılandırması iki adımda gerçekleştirilir. İlk olarak, az dataprotection backup-instance initialize komutunu kullanarak ilgili kasa, ilke, disk ve anlık görüntü kaynak grubunu kullanarak ilgili isteği hazırlarız. Initialize komutu bir JSON dosyası döndürür ve ardından anlık görüntü kaynak grubu değerini güncelleştirmeniz gerekir. Ardından az dataprotection backup-instance create komutunu kullanarak diski koruma isteğini göndeririz.
az dataprotection backup-instance initialize --datasource-type AzureDisk -l southeastasia --policy-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/mypolicy" --datasource-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk" > backup_instance.json
JSON dosyasını açın ve bölümünün altındaki resource_group_id içinde data_store_parameters_list düzenleyin.
{
"backup_instance_name": "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"properties": {
"data_source_info": {
"datasource_type": "Microsoft.Compute/disks",
"object_type": "Datasource",
"resource_id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"resource_location": "southeastasia",
"resource_name": "CLITestDisk",
"resource_type": "Microsoft.Compute/disks",
"resource_uri": ""
},
"data_source_set_info": null,
"object_type": "BackupInstance",
"policy_info": {
"policy_id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupPolicies/DiskPolicy",
"policy_parameters": {
"data_store_parameters_list": [
{
"data_store_type": "OperationalStore",
"object_type": "AzureOperationalStoreParameters",
"resource_group_id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/snapshotrg"
}
]
}
}
}
}
Not
Yedekleme örneği adı istemciler tarafından oluşturulur, böylece bu benzersiz bir değer olur. Veri kaynağı adını ve benzersiz bir GUID'i temel alır. Yedekleme örneklerini listeledikten sonra, yedekleme örneğinin adını ve ilgili veri kaynağı adını denetleyebilmeniz gerekir.
Azure Yönetilen Disk'in yedek örneğini oluşturmak için düzenlenmiş JSON dosyasını kullanın.
az dataprotection backup-instance create -g testBkpVaultRG --vault-name TestBkpVault --backup-instance backup_instance.json
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault/backupInstances/diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"name": "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"properties": {
"currentProtectionState": "ProtectionConfigured",
"dataSourceInfo": {
"datasourceType": "Microsoft.Compute/disks",
"objectType": "Datasource",
"resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk",
"resourceLocation": "southeastasia",
"resourceName": "CLITestDisk",
"resourceType": "Microsoft.Compute/disks",
"resourceUri": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/CLITestDisk"
},
"dataSourceSetInfo": 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/sarath-rg"
}
]
},
"policyVersion": null
},
"protectionErrorDetails": null,
"protectionStatus": {
"errorDetails": null,
"status": "ProtectionConfigured"
},
"provisioningState": "Succeeded"
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupInstances"
}
Yedekleme örneği oluşturulduktan sonra, ilkenin zamanlanmasını beklemek istemiyorsanız isteğe bağlı yedekleme tetikleme işlemine geçebilirsiniz.
İsteğe bağlı yedekleme çalıştırma
az dataprotection backup-instance list komutunu kullanarak kasa içindeki tüm yedekleme örneklerini listeleyin ve ardından az dataprotection backup-instance show komutunu kullanarak ilgili örneği getirin. Alternatif olarak, büyük ölçekli senaryolar için az dataprotection backup-instance list-from-resourcegraph komutunu kullanarak kasalar ve abonelikler arasında yedekleme örneklerini listeleyebilirsiniz.
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-3df6ac08-9496-4839-8fb5-8b78e594f166",
"identity": null,
"kind": "",
"location": "",
"managedBy": "",
"name": "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166",
"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
}
]
Yedeklemeyi tetiklerken bir kural ve etiket adı belirtebilirsiniz. İlkedeki kuralları görüntülemek için ilke JSON'una bakın. Aşağıdaki örnekte, adı ve etiket adı "BackupDaily""default" olan kural görüntülenir ve bu kuralı isteğe bağlı yedekleme için kullanacağız.
"name": "BackupDaily",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2022-09-27T23:30:00+00:00/P1D"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"criteria": null,
"isDefault": true,
"tagInfo": {
"eTag": null,
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
az dataprotection backup-instance adhoc-backup komutunu kullanarak isteğe bağlı yedekleme tetikleyin.
az dataprotection backup-instance adhoc-backup --name "diskrg-CLITestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166" --rule-name "BackupDaily" --resource-group "000pikumar" --vault-name "PratikPrivatePreviewVault1" --retention-tag-override "default"
İş Takibi
az dataprotection job list komutunu kullanarak tüm işleri izleyin. Tüm işleri listeleyebilir ve belirli bir iş ayrıntısı getirebilirsiniz.
Tüm Backup kasalarında tüm işleri izlemek için Az.ResourceGraph'ı da kullanabilirsiniz. Herhangi bir Backup kasasında bulunabilecek ilgili işi almak için az dataprotection job list-from-resourcegraph komutunu kullanın.
az dataprotection job list-from-resourcegraph --datasource-type AzureDisk --status Completed
Sonraki Adımlar
Azure portalını, Azure PowerShell'i, Azure CLI'yı kullanarak Yönetilen Diski geri yükleyin.