Aracılığıyla paylaş


Azure PowerShell kullanarak Azure Yönetilen Diskler yedekleme

Bu makalede, Azure PowerShell kullanarak Azure Yönetilen Disk'i yedekleme açıklanmaktadır.

Bu makalede şunları yapmayı öğreneceksiniz:

  • Backup kasası oluşturma

  • Yedekleme ilkesi oluşturma

  • Azure Disk'in yedeğini yapılandırma

  • İsteğe bağlı yedekleme işi çalıştırma

Azure Disk yedekleme bölgesinin kullanılabilirliği, desteklenen senaryolar ve sınırlamalar hakkında bilgi için bkz . destek matrisi.

Backup kasası oluşturma

Backup kasası, Azure'da PostgreSQL için Azure Veritabanı sunucuları ve Azure Diskleri gibi Azure Backup'ın desteklediği daha yeni iş yükleri için yedekleme verilerini tutan 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.

Yedekleme kasası oluşturmadan önce kasadaki verilerin depolama yedekliliğini seçin. Ardından bu depolama yedekliliği ve konumuyla yedekleme kasası oluşturmaya devam edin. Bu makalede, "testBkpVaultRG" kaynak grubu altında "westus" bölgesinde "TestBkpVault" adlı bir yedekleme kasası oluşturacağız. Bir yedekleme kasası oluşturmak için New-AzDataProtectionBackupVault komutunu kullanın. Backup kasası oluşturma hakkında daha fazla bilgi edinin.

$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

Kasa oluşturulduktan sonra Azure disklerini korumak için bir yedekleme ilkesi oluşturalım.

Yedekleme ilkesi oluşturma

Azure disk yedeklemesi için yedekleme ilkesinin iç bileşenlerini anlamak için Get-AzDataProtectionPolicyTemplate 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.

$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

İ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 yedeklemesinde tetikleyici için varsayılan değer, her 4 saatte bir (PT4H) zamanlanmış saatlik tetikleyicidir ve her yedeklemeyi 7 gün boyunca korur.

 $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 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. Günün saatinin yedeklemenin tamamlanma zamanını değil yedekleme başlangıç saatini gösterdiğine dikkat etmek önemlidir. 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 yedeklemesi, ü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, şu anda Azure Disk Backup yalnızca anlık görüntü veri depolarını destekler. Tüm yedeklemeler aboneliğinizdeki bir kaynak grubunda depolanır ve yedekleme kasası depolama alanına kopyalanmaz.
  • Standart HDD, Standart SSD ve Premium SSD SKU'larına ait Azure Diskler için Yedekleme zamanlamasını Saatlik sıklık (1, 2, 4, 6, 8 veya 12 saatlik) ve Günlük sıklık ile tanımlayabilirsiniz.
  • Premium V2 ve Ultra Disk SKU'larına ait Azure Diskler için yedekleme zamanlamasını yalnızca 12 saatlik saatlik sıklık ve Günlük sıklık ile tanımlayabilirsiniz.

İlke oluşturma hakkında daha fazla bilgi edinmek için Azure Disk Backup ilke belgesine bakın.

Saatlik sıklığı veya bekletme süresini düzenlemek istiyorsanız Edit-AzDataProtectionPolicyTriggerClientObject ve/veya Edit-AzDataProtectionPolicyRetentionRuleClientObject komutlarını kullanın. İlke nesnesi istenen tüm değerleri aldıktan sonra, New-AzDataProtectionBackupPolicy kullanarak ilke nesnesinden yeni bir ilke oluşturmaya devam edin.

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"

Yedeklemeyi yapılandırma

Kasa ve ilke oluşturulduktan sonra, kullanıcının Azure diskini korumak için göz önünde bulundurması gereken 3 kritik nokta vardır.

Dahil olan önemli varlıklar

Korunacak disk

Korunacak diskin ARM kimliğini getirin. Bu, diskin tanımlayıcısı olarak görev yapacaktır. Farklı bir abonelik altındaki "diskrg" kaynak grubu altında "PSTestDisk" adlı bir disk örneği kullanacağız.

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

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 önerilir. 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ı

Backup kasaları, anlık görüntüleri tetikleyebilmek ve yaşam döngülerini yönetebilmek için disk ve anlık görüntü kaynak grubu üzerinde izinler gerektirir. Kasanın sistem tarafından atanan yönetilen kimliği, 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 Update-AzRecoveryServicesVault komutunu kullanın.

İzin atama

Kullanıcının RBAC aracılığıyla kasaya (kasa MSI ile temsil edilir) ve ilgili diske ve/veya disk RG'ye birkaç izin ataması gerekir. Bunlar Portal veya PowerShell aracılığıyla gerçekleştirilebilir.

Yedekleme kasası, diğer Azure kaynaklarına erişmek için yönetilen kimliği kullanır. Yönetilen disklerin yedeklemesini yapılandırmak için Backup kasasının yönetilen kimliği, anlık görüntülerin oluşturulduğu ve yönetildiği kaynak disklerde ve kaynak gruplarında bir dizi izin gerektirir.

Sistem tarafından atanan yönetilen kimlik, kaynak başına bir kimlikle sınırlıdır ve bu kaynağın yaşam döngüsüne bağlıdır. Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak yönetilen kimliğe izin vekleyebilirsiniz. Yönetilen kimlik, yalnızca Azure kaynaklarıyla kullanılabilecek özel türde bir hizmet sorumlusudur. Yönetilen kimlikler hakkında daha fazla bilgi edinin.

Yönetilen disklerin yedeklemesini yapılandırmak için aşağıdaki önkoşullardan emin olun:

  • Yedeklenmesi gereken Kaynak diskte Yedekleme kasasının yönetilen kimliğine Disk Yedekleme Okuyucusu rolünü atayın.

    1. Yedeklenmesi gereken diske gidin.

    2. Erişim denetimi (IAM) bölümüne gidin ve Rol atamaları ekle'yi seçin.

    3. Sağ bağlam bölmesinde, Rol açılan listesinde Disk Yedekleme Okuyucusu'na tıklayın.

    4. Yedekleme kasasının yönetilen kimliğini seçin ve Kaydet'e tıklayın.

      İpucu

      Kasanın yönetilen kimliğini seçmek için Backup vault adını yazın.

    Yedeklenmesi gereken Kaynak diskte Yedekleme kasasının yönetilen kimliğine Disk Yedekleme Okuyucusu rolünü atama işlemini gösteren ekran görüntüsü.

  • Yedeklemelerin Azure Backup hizmeti tarafından oluşturulduğu ve yönetildiği Kaynak grubunda Yedekleme kasasının yönetilen kimliğine Disk Anlık Görüntüsü Katkıda Bulunanı rolünü atayın. Disk anlık görüntüleri aboneliğinizdeki bir kaynak grubunda depolanır. Azure Backup hizmetinin anlık görüntüler oluşturmasına, depolamasına ve yönetmesine izin vermek için yedekleme kasasına izinler sağlamanız gerekir.

    1. Kaynak grubuna gidin. Örneğin kaynak grubu , yedeklenecek diskle aynı abonelikte olan SnapshotRG'dir.

    2. Erişim denetimi (IAM) bölümüne gidin ve Rol atamaları ekle'yi seçin.

    3. Sağ bağlam bölmesinde, Rol açılan listesinde Disk Anlık Görüntüsü Katkıda Bulunanı'nı seçin.

    4. Yedekleme kasasının yönetilen kimliğini seçin ve Kaydet'e tıklayın.

      İpucu

      Kasanın yönetilen kimliğini seçmek için yedekleme kasasının adını yazın.

    Disk Anlık Görüntüsü Katkıda Bulunanı rolünü kaynak grubundaki Backup kasasının yönetilen kimliğine atama işlemini gösteren ekran görüntüsü.

  • Yedekleme kasasının yönetilen kimliğinin, anlık görüntü veri deposu olarak hizmet veren kaynak disk ve kaynak grubunda doğru rol atamaları kümesine sahip olduğunu doğrulayın.

    1. Yedekleme kasası ->Kimlik'e gidin ve Azure rol atamaları'na tıklayın.

      Azure rol atamalarının seçimini gösteren ekran görüntüsü.

    2. Rolün, kaynak adının ve kaynak türünün doğru olduğunu doğrulayın.

      Rolün, kaynak adının ve kaynak türünün doğrulanmasını gösteren ekran görüntüsü.

Not

Rol atamaları portala doğru şekilde yansıtılsa da, yedekleme kasasının yönetilen kimliğine iznin uygulanması yaklaşık 15 - 30 dakika sürebilir.

İsteği hazırlama

Tüm ilgili izinler ayarlandıktan sonra yedekleme yapılandırması 2 adımda gerçekleştirilir. İlk olarak Initialize-AzDataProtectionBackupInstance komutunu kullanarak ilgili kasa, ilke, disk ve anlık görüntü kaynak grubunu kullanarak ilgili isteği hazırlarız . Ardından New-AzDataProtectionBackupInstance komutunu kullanarak diski koruma isteğini göndeririz.

$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

İsteğe bağlı yedekleme çalıştırma

Kullanıcının Get-AzDataProtectionBackupInstance kullanarak bir yedeklemeyi tetiklemesi için istediği ilgili yedekleme örneğini getirme

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

Yedeklemeyi tetiklerken bir bekletme kuralı belirtebilirsiniz. İlkedeki bekletme kurallarını görüntülemek için, bekletme kuralları için ilke nesnesine gidin. Aşağıdaki örnekte, 'default' adlı kural görüntülenir ve bu kuralı isteğe bağlı yedekleme için kullanacağız

$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 komutunu kullanarak isteğe bağlı yedekleme tetikleyin.

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

İşleri izleme

Get-AzDataProtectionJob komutunu kullanarak tüm işleri izleyin. Tüm işleri listeleyebilir ve belirli bir iş ayrıntısı getirebilirsiniz.

Tüm yedekleme kasalarında tüm işleri izlemek için Az.ResourceGraph'ı da kullanabilirsiniz. Herhangi bir yedekleme kasasında bulunabilecek ilgili işi almak için Search-AzDataProtectionJobInAzGraph komutunu kullanın.

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

Sonraki adımlar