Azure CLI ile bir VM’yi geri yükleme
Azure Backup, coğrafi olarak yedekli kurtarma kasalarında depolanan kurtarma noktaları oluşturur. Bir kurtarma noktasından geri yüklediğinizde, tüm sanal makineyi veya tek tek dosyaları geri yükleyebilirsiniz. Bu makalede, CLI kullanarak tam bir sanal makinenin nasıl geri yükleneceği açıklanmaktadır. Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:
- Kurtarma noktalarını listeleme ve seçme
- Bir kurtarma noktasından diski geri yükleme
- Geri yüklenen diskten sanal makine oluşturma
Disk geri yüklemek ve kurtarılmış bir VM oluşturmak üzere PowerShell kullanmayla ilgili bilgi edinmek için bkz. PowerShell ile Azure VM’lerini yedekleme ve geri yükleme.
Artık CLI kullanarak, yukarıdaki adımları ayrı ayrı gerçekleştirmeden yedekleme içeriğini doğrudan bir VM'ye (özgün/yeni) geri yükleyebilirsiniz. Daha fazla bilgi için bkz . CLI kullanarak verileri sanal makineye geri yükleme.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Bu öğretici, Azure CLI'nın 2.0.18 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Bu öğretici için Azure Backup ile korunmuş olan bir Linux sanal makinesi gerekir. Yanlışlıkla bir sanal makineyi silme ve kurtarma işleminin benzetimini yapmak için, bir kurtarma noktasındaki diskten bir sanal makine oluşturursunuz. Azure Backup ile korunan bir Linux sanal makinesine ihtiyacınız varsa bkz. CLI ile Azure’da bir sanal makineyi yedekleme.
Backup’a genel bakış
Azure bir yedekleme başlattığında sanal makinedeki yedekleme uzantısı, belirli bir noktanın anlık görüntüsünü alır. İlk yedekleme istendiğinde sanal makineye yedekleme uzantısı yüklenir. Yedekleme gerçekleştiğinde VM çalışmıyorsa Azure Backup da temel alınan depolamanın anlık görüntüsünü alabilir.
Varsayılan olarak Azure Backup, bir dosya sisteminin tutarlı yedeklemesini alır. Azure Backup, anlık görüntüyü aldığında veriler Kurtarma Hizmetleri kasasına aktarılır. Verimliliği en üst düzeye çıkarmak için Azure Backup yalnızca önceki yedeklemeden itibaren değişmiş olan veri bloklarını belirler ve aktarır.
Veri aktarımı tamamlandığında, anlık görüntü kaldırılır ve bir kurtarma noktası oluşturulur.
Kullanılabilir kurtarma noktalarını listeleme
Bir diski geri yüklemek için, kurtarma verileri kaynağı olarak bir kurtarma noktası seçersiniz. Varsayılan ilke her gün bir kurtarma noktası oluşturup 30 gün boyunca bunları beklettiğinden, kurtarma için belirli bir nokta seçmenize olanak sağlayan bir kurtarma noktaları kümesini tutabilirsiniz.
Kullanılabilir kurtarma noktalarının listesini görmek için az backup recoverypoint list komutunu kullanın. Diskleri kurtarmak için kurtarma noktası adı kullanılır. Bu öğreticide, kullanılabilir en son kurtarma noktasını istiyoruz. --query [0].name
parametresi aşağıdaki şekilde en son kurtarma noktası adını seçer:
az backup recoverypoint list \
--resource-group myResourceGroup \
--vault-name myRecoveryServicesVault \
--backup-management-type AzureIaasVM \
--container-name myVM \
--item-name myVM \
--query [0].name \
--output tsv
Sanal makine diskini geri yükleme
Önemli
Yönetilen disk geri yükleme dahil olmak üzere hızlı geri yüklemenin tüm avantajlarından yararlanmak için Az CLI sürüm 2.0.74 veya üzerini kullanmanız kesinlikle önerilir. En iyisi her zaman en son sürümü kullanmanızdır.
Yönetilen disk geri yükleme
Yedeklenen VM'de yönetilen diskler varsa ve amaç yönetilen diskleri kurtarma noktasından geri yüklemekse, önce bir Azure depolama hesabı sağlarsınız. Bu depolama hesabı, vm yapılandırmasını ve daha sonra vm'yi geri yüklenen disklerden dağıtmak için kullanılabilecek dağıtım şablonunu depolamak için kullanılır. Ardından, yönetilen disklerin geri yüklenmesi için bir hedef kaynak grubu da sağlarsınız.
Depolama hesabı oluşturmak için az storage account create komutunu kullanın. Depolama hesabı adı tamamen küçük harflerden oluşmalı ve genel olarak benzersiz olmalıdır. mystorageaccount değerini kendi benzersiz adınızla değiştirin:
az storage account create \ --resource-group myResourceGroup \ --name mystorageaccount \ --sku Standard_LRS
az backup restore restore-disks komutuyla kurtarma noktanızdan diski geri yükleyin. mystorageaccount değerini, önceki komutta oluşturduğunuz depolama hesabının adıyla değiştirin. myRecoveryPointName değerini önceki az backup recoverypoint list komutundan elde ettiğiniz kurtarma noktası adıyla değiştirin. Ayrıca yönetilen disklerin geri yüklendiği hedef kaynak grubunu da sağlayın.
az backup restore restore-disks \ --resource-group myResourceGroup \ --vault-name myRecoveryServicesVault \ --container-name myVM \ --item-name myVM \ --storage-account mystorageaccount \ --rp-name myRecoveryPointName \ --target-resource-group targetRG
Uyarı
Target-resource-group sağlanmadıysa, yönetilen diskler belirli bir depolama hesabına yönetilmeyen diskler olarak geri yüklenir. Diskleri geri yüklemek için geçen süre tamamen verilen depolama hesabına bağlı olduğundan, bu durum geri yükleme süresinde önemli sonuçlar doğuracaktır. Anlık geri yükleme avantajını yalnızca target-resource-group parametresi verildiğinde elde edersiniz. Amaç yönetilen diskleri yönetilmeyen olarak geri yüklemekse target-resource-group parametresini sağlamayın ve bunun yerine aşağıda gösterildiği gibi yönetilmeyen disk olarak geri yükleme parametresini sağlayın. Bu parametre, Azure CLI 3.4.0'dan itibaren kullanılabilir.
az backup restore restore-disks \ --resource-group myResourceGroup \ --vault-name myRecoveryServicesVault \ --container-name myVM \ --item-name myVM \ --storage-account mystorageaccount \ --rp-name myRecoveryPointName \ --restore-as-unmanaged-disk
Bu, yönetilen diskleri belirli bir depolama hesabına yönetilmeyen diskler olarak geri yükler ve 'anında' geri yükleme işlevinden yararlanmaz. CLI'nın gelecek sürümlerinde target-resource-group parametresini veya restore-as-unmanaged-disk parametresini sağlamak zorunlu olacaktır.
Diskleri ikincil bölgeye geri yükleme
Vm'lerinizi koruduğunuz kasada bölgeler arası geri yüklemeyi etkinleştirdiğinizde yedekleme verileri ikincil bölgeye çoğaltılır. Geri yükleme işlemi gerçekleştirmek için yedekleme verilerini kullanabilirsiniz.
Diskleri ikincil bölgeye geri yüklemek için az backup restore-disks komutundaki bayrağını kullanın--use-secondary-region
. İkincil bölgede bulunan bir hedef depolama hesabı belirttiğinizden emin olun.
az backup restore restore-disks \
--resource-group myResourceGroup \
--vault-name myRecoveryServicesVault \
--container-name myVM \
--item-name myVM \
--storage-account targetStorageAccountID \
--rp-name myRecoveryPointName \
--target-resource-group targetRG
--use-secondary-region
Bölgeler arası geri yükleme
Azure bölgesi sabitlenmiş VM'leri aynı bölgedeki kullanılabilirlik alanlarında geri yükleyebilirsiniz.
Vm'yi başka bir bölgeye geri yüklemek için az backup restore-disks komutunda parametresini belirtinTargetZoneNumber
.
az backup restore restore-disks \
--resource-group myResourceGroup \
--vault-name myRecoveryServicesVault \
--container-name myVM \
--item-name myVM \
--storage-account targetStorageAccountID \
--rp-name myRecoveryPointName \
--target-resource-group targetRG
--target-zone 3
Bölgeler arası geri yükleme yalnızca şu senaryolarda desteklenir:
- Kaynak VM bölge sabitlenmiş ve ŞIFRELENMEDİ.
- Kurtarma noktası yalnızca kasa katmanında bulunur. Yalnızca anlık görüntüler veya anlık görüntü ve kasa katmanı desteklenmez.
- Kurtarma seçeneği yeni bir VM oluşturmak veya diskleri geri yüklemektir. Diskleri değiştir seçeneği kaynak verilerin yerini alır; bu nedenle kullanılabilirlik alanı seçeneği geçerli değildir.
- Kasanın depolama yedekliliği ZRS olduğunda aynı bölgede VM/disk oluşturma. Kaynak VM bölge sabitlenmiş olsa bile kasanın depolama yedekliliği GRS ise çalışmadığını unutmayın.
- Kasanın depolama yedekliliği Bölgeler Arası Geri Yükleme için etkinleştirildiğinde ve eşleştirilmiş bölge bölgeleri destekliyorsa, eşleştirilmiş bölgede VM/disk oluşturma.
Yönetilmeyen diskleri geri yükleme
Yedeklenen VM'de yönetilmeyen diskler varsa ve amaç diskleri kurtarma noktasından geri yüklemekse, önce bir Azure depolama hesabı sağlarsınız. Bu depolama hesabı, vm yapılandırmasını ve daha sonra vm'yi geri yüklenen disklerden dağıtmak için kullanılabilecek dağıtım şablonunu depolamak için kullanılır. Varsayılan olarak, yönetilmeyen diskler özgün depolama hesaplarına geri yüklenir. Yönetilmeyen tüm diskleri tek bir yere geri yüklemek isterseniz, söz konusu depolama hesabı bu diskler için bir hazırlama konumu olarak da kullanılabilir.
Ek adımlarda, sanal makine oluşturmak için geri yüklenen disk kullanılır.
Depolama hesabı oluşturmak için az storage account create komutunu kullanın. Depolama hesabı adı tamamen küçük harflerden oluşmalı ve genel olarak benzersiz olmalıdır. mystorageaccount değerini kendi benzersiz adınızla değiştirin:
az storage account create \ --resource-group myResourceGroup \ --name mystorageaccount \ --sku Standard_LRS
az backup restore restore-disks komutuyla kurtarma noktanızdan diski geri yükleyin. mystorageaccount değerini, önceki komutta oluşturduğunuz depolama hesabının adıyla değiştirin. myRecoveryPointName değerini, önceki az backup recoverypoint list komutunun çıktısından elde ettiğiniz kurtarma noktası adıyla değiştirin:
az backup restore restore-disks \ --resource-group myResourceGroup \ --vault-name myRecoveryServicesVault \ --container-name myVM \ --item-name myVM \ --storage-account mystorageaccount \ --rp-name myRecoveryPointName
Yukarıda belirtildiği gibi, yönetilmeyen diskler özgün depolama hesaplarına geri yüklenir. Bu, en iyi geri yükleme performansını sağlar. Ancak tüm yönetilmeyen disklerin belirli bir depolama hesabına geri yüklenmesi gerekiyorsa, aşağıda gösterildiği gibi ilgili bayrağı kullanın.
az backup restore restore-disks \
--resource-group myResourceGroup \
--vault-name myRecoveryServicesVault \
--container-name myVM \
--item-name myVM \
--storage-account mystorageaccount \
--rp-name myRecoveryPointName \
--restore-to-staging-storage-account
```
## Monitor the restore job
To monitor the status of restore job, use [az backup job list](/cli/azure/backup/job#az-backup-job-list):
```azurecli-interactive
az backup job list \
--resource-group myResourceGroup \
--vault-name myRecoveryServicesVault \
--output table
Çıktı, geri yükleme işinin İlerliyor durumunda olduğunu gösteren aşağıdaki örneğe benzer olacaktır:
Name Operation Status Item Name Start Time UTC Duration
-------- --------------- ---------- ----------- ------------------- --------------
7f2ad916 Restore InProgress myvm 2017-09-19T19:39:52 0:00:34.520850
a0a8e5e6 Backup Completed myvm 2017-09-19T03:09:21 0:15:26.155212
fe5d0414 ConfigureBackup Completed myvm 2017-09-19T03:03:57 0:00:31.191807
Geri yükleme işinin Durumu Tamamlandı olarak bildirildiğinde, gerekli bilgiler (VM yapılandırması ve dağıtım şablonu) depolama hesabına geri yüklenir.
Diskleri geri yüklemek için yönetilen kimlik kullanma
Azure Backup, disklerin geri yüklenmesi gereken depolama hesaplarına erişmek için geri yükleme işlemi sırasında yönetilen kimliği (MSI) kullanmanıza da olanak tanır. Bu seçenek şu anda yalnızca yönetilen disk geri yükleme için desteklenmektedir.
Diskleri geri yüklemek için kasanın sistem tarafından atanan yönetilen kimliğini kullanmak istiyorsanız az backup restore restore-disks komutuna ek bir --mi-system-assigned bayrağı geçirin. Kullanıcı tarafından atanan bir yönetilen kimlik kullanmak istiyorsanız, parametrenin değeri olarak kasanın yönetilen kimliğinin Azure Resource Manager kimliğiyle mi-user-ssigned parametresini geçirin. Kasalarınız için yönetilen kimliği etkinleştirmeyi öğrenmek için bu makaleye bakın.
Geri yüklenen diskten sanal makine oluşturma
Son adım, geri yüklenen disklerden bir VM oluşturmaktır. VM'yi oluşturmak için verilen depolama hesabına indirilen dağıtım şablonunu kullanabilirsiniz.
İş ayrıntılarını getirme
Sonuçta elde edilen iş ayrıntıları, sorgulanabilen ve dağıtılabilir şablon URI'sini verir. Tetiklenen geri yüklenen işin daha fazla ayrıntısını almak için job show komutunu kullanın.
az backup job show \
-v myRecoveryServicesVault \
-g myResourceGroup \
-n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414
Bu sorgunun çıktısı tüm ayrıntıları verir, ancak yalnızca depolama hesabı içeriğiyle ilgileniyoruz. İlgili ayrıntıları getirmek için Azure CLI'nın sorgu özelliğini kullanabiliriz
az backup job show \
-v myRecoveryServicesVault \
-g myResourceGroup \
-n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414 \
--query properties.extendedInfo.propertyBag
{
"Config Blob Container Name": "myVM-daa1931199fd4a22ae601f46d8812276",
"Config Blob Name": "config-myVM-1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414.json",
"Config Blob Uri": "https://mystorageaccount.blob.core.windows.net/myVM-daa1931199fd4a22ae601f46d8812276/config-appvm8-1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json",
"Job Type": "Recover disks",
"Recovery point time ": "12/25/2019 10:07:11 PM",
"Target Storage Account Name": "mystorageaccount",
"Target resource group": "mystorageaccountRG",
"Template Blob Uri": "https://mystorageaccount.blob.core.windows.net/myVM-daa1931199fd4a22ae601f46d8812276/azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json"
}
Dağıtım şablonunu getirme
Müşterinin depolama hesabı ve belirtilen kapsayıcı altında olduğundan şablona doğrudan erişilemez. Bu şablona erişmek için tam URL'ye (geçici bir SAS belirteci ile birlikte) ihtiyacımız var.
İlk olarak, iş ayrıntılarından şablon blob Uri'sini ayıklayın
az backup job show \
-v myRecoveryServicesVault \
-g myResourceGroup \
-n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414 \
--query properties.extendedInfo.propertyBag."""Template Blob Uri"""
"https://mystorageaccount.blob.core.windows.net/myVM-daa1931199fd4a22ae601f46d8812276/azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json"
Şablon blobu Uri'si bu biçimde olacak ve şablon adını ayıklayacaktır
https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>
Bu nedenle, yukarıdaki örnekteki şablon adı ve azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json
kapsayıcı adı myVM-daa1931199fd4a22ae601f46d8812276
Şimdi bu kapsayıcı ve şablon için SAS belirtecini burada ayrıntılı olarak bulabilirsiniz
expiretime=$(date -u -d '30 minutes' +%Y-%m-%dT%H:%MZ)
connection=$(az storage account show-connection-string \
--resource-group mystorageaccountRG \
--name mystorageaccount \
--query connectionString)
token=$(az storage blob generate-sas \
--container-name myVM-daa1931199fd4a22ae601f46d8812276 \
--name azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json \
--expiry $expiretime \
--permissions r \
--output tsv \
--connection-string $connection)
url=$(az storage blob url \
--container-name myVM-daa1931199fd4a22ae601f46d8812276 \
--name azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json \
--output tsv \
--connection-string $connection)
VM oluşturmak için şablonu dağıtma
Şimdi burada açıklandığı gibi VM'yi oluşturmak için şablonu dağıtın.
az deployment group create \
--resource-group ExampleGroup \
--template-uri $url?$token
Kurtarılan diskinizden sanal makinenizin oluşturulduğunu onaylamak için az vm list komutuyla aşağıdaki şekilde kaynak grubunuzdaki sanal makineleri listeleyin:
az vm list --resource-group myResourceGroup --output table
CLI kullanarak verileri sanal makineye geri yükleme
Artık birden çok adım gerçekleştirmeden verileri doğrudan özgün/alternatif VM'ye geri yükleyebilirsiniz.
Verileri özgün VM'ye geri yükleme
az backup restore restore-disks \
--resource-group myResourceGroup \
--vault-name myRecoveryServicesVault \
--container-name myVM \
--item-name myVM \
--restore-mode OriginalLocation
--storage-account mystorageaccount \
--rp-name myRecoveryPointName \
Name Operation Status Item Name Start Time UTC Duration
-------- --------------- ---------- ----------- ------------------- --------------
7f2ad916 Restore InProgress myVM 2017-09-19T19:39:52 0:00:34.520850
Son komut, mevcut VM'deki verileri yerinde geri yüklemek için özgün bir konum geri yükleme işlemini tetikler.
Verileri yeni oluşturulan vm'ye geri yükleme
az backup restore restore-disks \
--resource-group myResourceGroup \
--vault-name myRecoveryServicesVault \
--container-name myVM \
--item-name myVM \
--restore-mode AlternateLocation \
--storage-account mystorageaccount \
--target-resource-group "Target_RG" \
--rp-name myRecoveryPointName \
--target-vm-name "TargetVirtualMachineName" \
--target-vnet-name "Target_VNet" \
--target-vnet-resource-group "Target_VNet_RG" \
--target-subnet-name "targetSubNet"
Name Operation Status Item Name Start Time UTC Duration
-------- --------------- ---------- ----------- ------------------- --------------
7f2ad916 Restore InProgress myVM 2017-09-19T19:39:52 0:00:34.520850
Son komut, TargetVMName, TargetVNetName, TargetVNetResourceGroup, TargetSubnetName parametreleri tarafından belirtilen girişlere göre Target_RG kaynak grubunda yeni bir VM oluşturmak için alternatif bir konum geri yükleme işlemi tetikler. Bu, verilerin gerekli VM'ye, sanal ağa ve alt ağa geri yüklenmesini sağlar.
Sonraki adımlar
Bu öğreticide, bir kurtarma noktasından bir diski geri yüklediniz ve sonra diskten bir sanal makine oluşturdunuz. Şunları öğrendiniz:
- Kurtarma noktalarını listeleme ve seçme
- Bir kurtarma noktasından diski geri yükleme
- Geri yüklenen diskten sanal makine oluşturma
Bir kurtarma noktasından tek tek dosyaları geri yükleme hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.