Azure PowerShell kullanarak Azure Dosyalarını yedekleme

Bu makalede, Azure Backup Kurtarma Hizmetleri kasası aracılığıyla Azure Dosyaları yedeklemek için Azure PowerShell'in nasıl kullanılacağı açıklanmaktadır. Ayrıca Azure portal, CLI ve REST API kullanarak Azure Dosyalar'ı yedekleyebilirsiniz.

Önkoşullar

Azure Dosyalar'ı yedeklemeden önce aşağıdaki önkoşulların karşılandığından emin olun:

PowerShell'i ayarlama

Uyarı

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Uyarı

Azure PowerShell şu anda saatlik zamanlamaya sahip yedekleme ilkelerini desteklememektedir. Bu özelliği uygulamak için Azure portalını kullanın. Daha fazla bilgi edinin

PowerShell'i aşağıdaki gibi ayarlayın:

  1. Azure PowerShell'in en son sürümünü indirin.

    Uyarı

    Azure Dosyalarını yedeklemek için gereken en düşük PowerShell sürümü Az.RecoveryServices 2.6.0'dır. En son sürüm veya en azından en düşük sürüm mevcut betiklerle ilgili sorunları önlemenize yardımcı olur. Aşağıdaki PowerShell komutunu kullanarak en düşük sürümü yükleyin:

    Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
    
  2. Şu komutu kullanarak Azure Backup için PowerShell cmdlet'lerini bulun:

    Get-Command *azrecoveryservices*
    
  3. Azure Backup, Azure Site Recovery ve Kurtarma Hizmetleri kasası için takma adları ve cmdlet'leri gözden geçirin. Aşağıda neler görebileceğinize bir örnek verilmiş. Cmdlet'lerin eksiksiz bir listesi değildir.

    Kurtarma Hizmetleri cmdlet'lerinin listesi

  4. Connect-AzAccount kullanarak Azure hesabınızda oturum açın.

  5. Görüntülenen web sayfasında, hesap kimlik bilgilerinizi girmeniz istenir.

    Alternatif olarak, -Credential kullanarak hesap kimlik bilgilerinizi Connect-AzAccount cmdlet'ine parametre olarak ekleyebilirsiniz.

    Bir kiracı adına çalışan bir Bulut Hizmeti Sağlayıcısı (CSP) iş ortağıysanız, müşteriyi kiracı olarak belirtin. Kiracı kimlik numarasını veya kiracı birincil alan adını kullanın. Bir örnek Connect-AzAccount -Tenant "fabrikam.com".

  6. Bir hesabın birkaç aboneliği olabileceğinden, kullanmak istediğiniz aboneliği hesapla ilişkilendirin:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. Azure Backup'ı ilk kez kullanıyorsanız, Azure Kurtarma Hizmetleri sağlayıcısını aboneliğinize kaydetmek için Register-AzResourceProvider cmdlet'ini kullanın:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  8. Sağlayıcıların başarıyla kaydedildiğini doğrulayın:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. Komut çıktısında, RegistrationState değerinin Kayıtlı olarak değiştiğini doğrulayın. Aksi takdirde Register-AzResourceProvider cmdlet'ini yeniden çalıştırın.

Kurtarma Hizmetleri deposu oluştur

Kurtarma Hizmetleri kasası, bir Kaynak Yöneticisi kaynağı olduğundan, bir kaynak grubuna yerleştirilmelidir. Mevcut bir kaynak grubunu kullanabilir veya New-AzResourceGroup cmdlet'ini kullanarak bir kaynak grubu oluşturabilirsiniz. Bir kaynak grubu oluşturduğunuzda, bunun adını ve konumunu belirtin.

Kurtarma Hizmetleri deposu oluşturmak için şu adımları izleyin:

  1. Mevcut bir kaynak grubunuz yoksa New-AzResourceGroup cmdlet'ini kullanarak yeni bir kaynak grubu oluşturun. Bu örnekte Batı ABD bölgesinde bir kaynak grubu oluşturacağız:

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. New-AzRecoveryServicesVault cmdlet'ini kullanarak kasayı oluşturun. Kasayı, kaynak grubu için kullandığınız konumla aynı konumda belirtin.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    

Abonelikte kasaları görüntüle

Abonelikteki tüm kasaları görüntülemek için Get-AzRecoveryServicesVault komutunu kullanın.

Get-AzRecoveryServicesVault

Sonuç aşağıdakine benzer. Çıkış, ilişkili kaynak grubunu ve konumu sağlar.

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

Mahzen bağlamını ayarla

Kasa nesnesini bir değişkende saklayın ve kasa bağlamını ayarlayın.

Birçok Azure Backup cmdlet'leri, girdi olarak Kurtarma Hizmetleri kasası nesnesini gerektirir, bu nedenle kasası nesnesini bir değişkende depolamak uygundur.

Kasadaki bağlam, kasada korunan veri türüdür. Set-AzRecoveryServicesVaultContext komutunu kullanarak ayarlayın. Bağlam ayarlandıktan sonra, sonraki tüm cmdlet'ler için geçerlidir.

Aşağıdaki örnek testvault için kasa bağlamını ayarlar.

Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext

Kasa kimliğini getirme

Kasa bağlam ayarını Azure PowerShell yönergelerine uygun olarak kullanımdan kaldırmayı planlıyoruz. Bunun yerine kasa kimliğini depolayabilir veya alabilir ve ilgili komutlara verebilirsiniz. Eğer depo bağlamını ayarlamadıysanız ya da belirli bir depo için çalıştırılacak komutu belirtmek istiyorsanız, depo kimliğini -vaultID tüm ilgili komutlara iletin.

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID

Yedekleme ilkesi yapılandırma

Yedekleme ilkesi, yedeklemeler için zamanlamayı ve yedekleme kurtarma noktalarının ne kadar süreyle tutulacağı belirtir.

Yedekleme ilkesi en az bir bekletme ilkesiyle ilişkilendirilir. Saklama ilkesi, bir kurtarma noktasının ne kadar süreyle tutulacağını tanımlar. Yedeklemeleri günlük, haftalık, aylık veya yıllık saklama ile yapılandırabilirsiniz. Birden çok yedekleme ilkesiyle, yedeklemeleri saatlik saklamayı da yapılandırabilirsiniz.

Önemli

Yedekleme ilkeleri için aşağıdaki cmdlet'ler kullanılır:

  • kullanarak Get-AzRecoveryServicesBackupRetentionPolicyObjectvarsayılan yedekleme saklama ilkesini görüntüleyin.
  • kullanarak Get-AzRecoveryServicesBackupSchedulePolicyObjectvarsayılan yedekleme zamanlaması ilkesini görüntüleyin.
  • kullanarak New-AzRecoveryServicesBackupProtectionPolicyyeni bir yedekleme ilkesi oluşturun. Zamanlama ve saklama politikası nesnelerini girdi olarak sağlayın.

Bir yedekleme katmanı seçin:

Azure Dosyalar anlık görüntü yedeklemesi için günde birden çok yedekleme yapılandıran bir yedekleme ilkesi oluşturmak için aşağıdaki cmdlet'leri çalıştırın:

  1. Zamanlama ilkesi nesnesini getirin.

    $schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    $schPol
    
    

    Örnek çıkış:

    ScheduleRunFrequency    : Hourly
    ScheduleRunDays         :
    ScheduleRunTimes        :
    ScheduleInterval        : 8
    ScheduleWindowStartTime : 12/22/2021 8:00:00 AM
    ScheduleWindowDuration  : 16
    ScheduleRunTimeZone     : India Standard Time
    
    
  2. Zamanlamanın farklı parametrelerini gerektiği gibi ayarlayın.

    $schpol.ScheduleInterval=4
    $schpol.ScheduleWindowDuration=12
    
    

    Önceki yapılandırma, 08:00 - 20:00 (08:00+12 saat) penceresinde günde 4 yedekleme zamanlamanıza yardımcı olur. Saat dilimini aşağıdaki cmdlet'te belirtildiği gibi de ayarlayabilirsiniz:

    $timeZone= $timeZone=Get-TimeZone -ListAvailable |Where-Object{$_.Id-match "Russia Time Zone 11"}
    $schPol.ScheduleRunTimeZone=$timeZone.Id
    

    Günlük zamanlamaya sahip bir ilke oluşturmak için aşağıdaki cmdlet'i çalıştırın:

    $UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
    $UtcTime = $UtcTime.ToUniversalTime()
    $schpol.ScheduleRunTimes[0] = $UtcTime
    
  3. Aşağıdaki cmdlet'i kullanarak bekletme ilkesi nesnesini getirin:

    $retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    
  4. Bekletme değerlerini gerektiği gibi ayarlayın.

    $retPol.DailySchedule.DurationCountInDays=15
    
  5. New-AzRecoveryServicesBackupProtectionPolicy kullanarak yeni bir yedekleme ilkesi oluşturun.

    Daha önce ayarlanan zamanlama ve bekletme ilkesi nesnelerini giriş olarak geçirebilirsiniz.

    New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpol
    

    Çıktıda ilke yapılandırması görüntülenir:

    Name           WorkloadType   BackupManagementType ScheduleFrequency  BackupTime    WindowStartTime     Interval   WindowDuration TimeZone
                                                                         (UTC)                                         (Hours)      
    ----          ------------    -------------------- -----------------  ------------  ---------------       -------- -------------- --------
    FilesPolicy
    testing        AzureFiles      AzureStorage         Hourly                          12/22/2021 8:00:00 AM     4        12         Russia Time Zone 11
    
    

Yedeklemeyi Etkinleştir

Yedekleme ilkesini tanımladıktan sonra, ilkeyi kullanarak Azure Dosyalar için korumayı etkinleştirebilirsiniz.

Bir yedekleme ilkesini geri yükleme

Get-AzRecoveryServicesBackupProtectionPolicy kullanarak ilgili ilke nesnesini getirirsiniz. İş yükü türüyle ilişkili ilkeleri görüntülemek veya belirli bir ilkeyi almak için bu cmdlet'i kullanın.

Bir iş yükü türü için politika getirme

Aşağıdaki örnek, AzureFiles iş yükü türüne ait ilkeleri alır:

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

Örnek çıkış:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
dailyafs             AzureFiles         AzureStorage         1/10/2018 12:30:00 AM

Uyarı

PowerShell'de BackupTime alanının saat dilimi UTC'dir. Yedekleme zamanı Azure portalında gösterildiğinde, saat yerel saat diliminize göre ayarlanır.

Belirli bir politikayı getirme

Aşağıdaki ilke dailyafs adlı yedekleme ilkesini geri alır:

$afsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"

Korumayı etkinleştirme ve ilkeyi uygulama

Enable-AzRecoveryServicesBackupProtection komutunu kullanarak korumayı etkinleştirin. Politika kasayla ilişkilendirildikten sonra yedeklemeler politika zamanlamasına uygun olarak başlatılır.

Aşağıdaki örnek, depolama hesabı testStorageAcct içindeki testAzureFS Azure Dosyaları için dailyafs ilkesini kullanarak koruma sağlar:

Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol

Komut, yapılandırma koruma işi tamamlanana kadar bekler ve aşağıdaki örneğe benzer bir çıkış verir:

WorkloadName       Operation            Status                 StartTime                                                                                                         EndTime                   JobID
------------             ---------            ------               ---------                                  -------                   -----
testAzureFS       ConfigureBackup      Completed            11/12/2018 2:15:26 PM     11/12/2018 2:16:11 PM     ec7d4f1d-40bd-46a4-9edb-3193c41f6bf6

Depolama hesabı için Dosya Paylaşımları listesini alma hakkında daha fazla bilgi için bu makaleye bakın.

Önemli bildirim: Yedekleme öğesi tanımlama

Bu bölümde, genel kullanılabilirlik için hazırlanırken Azure Dosyaları yedeklerinde önemli bir değişiklik özetlenmektedir.

Azure Dosyalar için yedeklemeyi etkinleştirdiğinizde, kullanıcı varlık adı olarak bir dosya paylaşımı adı alır ve bir yedekleme öğesi oluşturulur. Yedekleme öğesinin adı, Azure Backup hizmetinin oluşturduğu benzersiz bir tanımlayıcıdır. Tanımlayıcı genellikle kullanıcı dostu bir addır. Dosya Paylaşımının silindiği ve aynı ada sahip yeni bir dosyanın oluşturulduğu geçici silme senaryolarını işlemek için Azure Dosyalar artık benzersiz bir kimlik kullanıyor.

Her öğenin benzersiz kimliğini öğrenmek için, tüm ilgili öğeleri almak üzere backupManagementType ve WorkloadType için uygun filtrelerle Get-AzRecoveryServicesBackupItem komutunu çalıştırın. Ardından döndürülen PowerShell nesnesi/yanıtında ad alanını gözlemleyin.

Öğeleri listelemenizi ve ardından yanıttaki ad alanından benzersiz adlarını almanızı öneririz. Öğeleri Name parametresiyle filtrelemek için bu değeri kullanın. Aksi takdirde, öğeyi kimliği ile almak için FriendlyName parametresini kullanabilirsiniz.

Önemli

PowerShell'in Azure Dosyalar'ın yedekleri için en düşük sürüme (Az.RecoveryServices 2.6.0) yükseltildiğinden emin olun. Bu sürümde, Get-AzRecoveryServicesBackupItem komutu için FriendlyName filtresi kullanılabilir.

Azure Dosyalar'ın adını FriendlyName parametresine geçirin. Dosya Paylaşım adını Ad parametresine geçirirseniz, bu sürüm, adı FriendlyName parametresine geçirmeniz gerektiğine dair bir uyarı verir.

En düşük sürümün yüklenmemesi, mevcut betiklerde hataya neden olabilir. Aşağıdaki komutu kullanarak PowerShell'in en düşük sürümünü yükleyin:

Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0

İsteğe bağlı yedekleme başlatma

Korumalı Azure Dosyaları için isteğe bağlı yedekleme çalıştırmak için Backup-AzRecoveryServicesBackupItem cmdlet'ini kullanın:

  1. Get-AzRecoveryServicesBackupContainer komutunu kullanarak yedekleme verilerinizin bulunduğu kasadaki kapsayıcıdan depolama hesabını alın.
  2. Bir yedekleme işi başlatın, Get-AzRecoveryServicesBackupItem komutunu kullanarak Azure Dosyaları hakkında bilgi edinin.
  3. Backup-AzRecoveryServicesBackupItem komutunu kullanarak isteğe bağlı yedekleme çalıştırın.

İsteğe bağlı yedeklemeyi aşağıdaki gibi çalıştırın:

$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job =  Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem

Komut, aşağıdaki örnekte gösterildiği gibi takip edilecek bir kimliğe sahip bir iş döndürür.

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
testAzureFS       Backup               Completed            11/12/2018 2:42:07 PM     11/12/2018 2:42:11 PM     8bdfe3ab-9bf7-4be6-83d6-37ff1ca13ab6

Yedeklemeler alınırken Azure Dosyalar anlık görüntüleri kullanılır. Genellikle iş, komut bu çıkışı döndürdüğünde biter.

Sonraki Adımlar