PowerShell kullanarak Azure dosya paylaşımını yedekleme
Bu makalede, Azure Backup Kurtarma Hizmetleri kasası aracılığıyla bir Azure Dosyalar dosya paylaşımını yedeklemek için Azure PowerShell'in nasıl kullanılacağı açıklanmaktadır.
Bu makalede aşağıdakilerin nasıl yapılacağı açıklanmaktadır:
- PowerShell'i ayarlayın ve Kurtarma Hizmetleri sağlayıcısını kaydedin.
- Kurtarma Hizmetleri kasası oluşturun.
- Azure dosya paylaşımı için yedeklemeyi yapılandırın.
- Bir yedekleme işi çalıştırın.
Başlamadan önce
Kurtarma Hizmetleri kasaları hakkında daha fazla bilgi edinin.
Azure kitaplığında Az.RecoveryServices cmdlet başvurusu başvuruyu gözden geçirin.
Kurtarma Hizmetleri için aşağıdaki PowerShell nesne hiyerarşisini gözden geçirin:
PowerShell'i ayarlama
Not
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.
Not
Azure PowerShell şu anda saatlik zamanlamaya sahip yedekleme ilkelerini desteklememektedir. Bu özelliği kullanmak için lütfen Azure Portal'ı kullanın. Daha fazla bilgi edinin
PowerShell'i aşağıdaki gibi ayarlayın:
Azure PowerShell'in en son sürümünü indirin.
Not
Azure dosya paylaşımları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ü kullanmak, 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
Şu komutu kullanarak Azure Backup için PowerShell cmdlet'lerini bulun:
Get-Command *azrecoveryservices*
Azure Backup, Azure Site Recovery ve Kurtarma Hizmetleri kasası için diğer adları ve cmdlet'leri gözden geçirin. Aşağıda neler görebileceğinize bir örnek verilmiş. Cmdlet'lerin tam listesi değildir.
Connect-AzAccount kullanarak Azure hesabınızda oturum açın.
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.
Kiracı adına çalışan bir CSP iş ortağıysanız, müşteriyi kiracı olarak belirtin. Kiracı kimliğini veya kiracı birincil etki alanı adını kullanın. Connect-AzAccount -Tenant "fabrikam.com" örnektir.
Bir hesabın birkaç aboneliği olabileceğinden, kullanmak istediğiniz aboneliği hesapla ilişkilendirin:
Select-AzSubscription -SubscriptionName $SubscriptionName
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"
Sağlayıcıların başarıyla kaydedildiğini doğrulayın:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
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 kasası oluşturma
Kurtarma Hizmetleri kasası bir Resource Manager kaynağı olduğundan bir kaynak grubuna yerleştirmeniz gerekir. 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 kasası oluşturmak için şu adımları izleyin:
Mevcut bir kaynak grubunuz yoksa New-AzResourceGroup cmdlet'ini kullanarak yeni bir tane oluşturun. Bu örnekte Batı ABD bölgesinde bir kaynak grubu oluşturacağız:
New-AzResourceGroup -Name "test-rg" -Location "West US"
Kasayı oluşturmak için New-AzRecoveryServicesVault cmdlet'ini kullanın. Kaynak grubu için kullandığınız kasa için aynı konumu belirtin.
New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
Abonelikteki kasaları görüntüleme
Abonelikteki tüm kasaları görüntülemek için Get-AzRecoveryServicesVault komutunu kullanın:
Get-AzRecoveryServicesVault
Çıkış aşağıdakine benzer. Çıkışın ilişkili kaynak grubunu ve konumunu sağladığını unutmayın.
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
Kasa bağlamını ayarlama
Kasa nesnesini bir değişkende depolayın ve kasa bağlamını ayarlayın.
Birçok Azure Backup cmdlet'i giriş olarak Kurtarma Hizmetleri kasa nesnesini gerektirir, bu nedenle kasa nesnesini bir değişkende depolamak uygundur.
Kasa 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 getirebilir ve ilgili komutlara geçirebilirsiniz. Kasa bağlamını ayarlamadıysanız veya belirli bir kasa için çalıştırılacak komutu belirtmek istiyorsanız, kasa kimliğini -vaultID
aşağıdaki gibi tüm ilgili komutlara geçirin:
$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. Bekletme ilkesi, bir kurtarma noktasının silinmeden önce ne kadar süre tutulduğunu 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.
İlke türü seçin:
Yedekleme ilkeleri için bazı cmdlet'ler şunlardır:
- Get-AzRecoveryServicesBackupRetentionPolicyObject komutunu kullanarak varsayılan yedekleme ilkesi saklamayı görüntüleyin.
- Get-AzRecoveryServicesBackupSchedulePolicyObject komutunu kullanarak varsayılan yedekleme ilkesi zamanlamasını görüntüleyin.
- New-AzRecoveryServicesBackupProtectionPolicy kullanarak yeni bir yedekleme ilkesi oluşturun. Zamanlama ve bekletme ilkesi nesnelerini giriş olarak girersiniz.
Varsayılan olarak, zamanlama ilkesi nesnesinde bir başlangıç zamanı tanımlanır. Başlangıç saatini istenen başlangıç saatiyle değiştirmek için aşağıdaki örneği kullanın. İstenen başlangıç saati Evrensel Eşgüdümlü Saat (UTC) olmalıdır. Örnekte, günlük yedeklemeler için istenen başlangıç saatinin 01:00 UTC olduğu varsayılır.
$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime
Önemli
Başlangıç zamanını yalnızca 30 dakikalık katlar halinde sağlamanız gerekir. Yukarıdaki örnekte yalnızca "01:00:00" veya "02:30:00" olabilir. Başlangıç saati "01:15:00" olamaz.
Aşağıdaki örnek zamanlama ilkesini ve bekletme ilkesini değişkenlerde depolar. Ardından bu değişkenleri yeni bir ilke (NewAFSPolicy) için parametre olarak kullanır. NewAFSPolicy günlük yedekleme alır ve 30 gün boyunca saklar.
$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureFiles"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol
Çıkış aşağıdakine benzer:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
NewAFSPolicy AzureFiles AzureStorage 10/24/2019 1:30:00 AM
Yedeklemeyi Etkinleştir
Yedekleme ilkesini tanımladıktan sonra, ilkeyi kullanarak Azure dosya paylaşımı için korumayı etkinleştirebilirsiniz.
Yedekleme ilkesi alma
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.
İş yükü türü için ilke alma
Aşağıdaki örnek, AzureFiles iş yükü türü için ilkeleri alır:
Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"
Çıkış aşağıdakine benzer:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
dailyafs AzureFiles AzureStorage 1/10/2018 12:30:00 AM
Not
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 ilkeyi alma
Aşağıdaki ilke dailyafs adlı yedekleme ilkesini alır:
$afsPol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"
Korumayı etkinleştirme ve ilkeyi uygulama
Enable-AzRecoveryServicesBackupProtection komutunu kullanarak korumayı etkinleştirin. İlke kasayla ilişkilendirildikten sonra yedeklemeler ilke zamanlamasına uygun olarak tetiklenir.
Aşağıdaki örnek, depolama hesabı testStorageAcct'te Azure dosya paylaşımı testiAzureFS için ilke dailyafs ile korumayı etkinleştirir:
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ının 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 hazırlığı için Azure dosya paylaşımlarının yedeklemelerinde önemli bir değişiklik özetlenmektedir.
Kullanıcı, Azure dosya paylaşımları için yedeklemeyi etkinleştirirken müşteriye varlık adı olarak bir dosya paylaşımı adı verir 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. Ancak, bir dosya paylaşımının silinebildiği ve aynı adla başka bir dosya paylaşımının oluşturulabildiği geçici silme senaryolarını işlemek için, Azure dosya paylaşımının benzersiz kimliği artık bir kimliktir.
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ğiyle almak için FriendlyName parametresini kullanın.
Önemli
Azure dosya paylaşımlarının yedekleri için PowerShell'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 dosya paylaşımının adını FriendlyName parametresine geçirin. Dosya paylaşımının adını Name parametresine geçirirseniz, bu sürüm adı FriendlyName parametresine geçirmek için bir uyarı oluşturur.
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 tetikleme
Korumalı bir Azure dosya paylaşımı için isteğe bağlı yedekleme çalıştırmak için Backup-AzRecoveryServicesBackupItem kullanın:
- Get-AzRecoveryServicesBackupContainer komutunu kullanarak yedekleme verilerinizin bulunduğu kasadaki kapsayıcıdan depolama hesabını alın.
- Yedekleme işi başlatmak için Get-AzRecoveryServicesBackupItem komutunu kullanarak Azure dosya paylaşımı hakkında bilgi edinin.
- 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 izlenecek kimliği olan 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 dosya paylaşımı anlık görüntüleri kullanılır. Genellikle iş, komut bu çıkışı döndürdüğünde biter.
Sonraki adımlar
- Azure portalında Azure Dosyalar yedekleme hakkında bilgi edinin.
- Yedeklemeleri zamanlamak için Azure Otomasyonu runbook kullanmak için GitHub'da örnek betiğine bakın.