Bagikan melalui


Memulihkan VM dengan CLI Azure

Azure Backup membuat titik pemulihan yang disimpan di vault pemulihan geo-redundan. Saat memulihkan dari titik pemulihan, Anda dapat memulihkan seluruh file VM atau per file. Artikel ini menjelaskan cara memulihkan mesin virtual lengkap menggunakan antarmuka baris perintah. Dalam tutorial ini, Anda akan mempelajari cara:

  • Mencantumkan dan memilih titik pemulihan
  • Memulihkan disk dari titik pemulihan
  • Membuat komputer virtual dari disk yang dipulihkan

Untuk informasi tentang menggunakan PowerShell untuk memulihkan disk dan membuat komputer virtual yang dipulihkan, lihat Mencadangkan dan memulihkan Azure VM dengan PowerShell.

Sekarang, Anda juga dapat menggunakan CLI untuk langsung memulihkan konten cadangan ke VM (asli/baru), tanpa melakukan langkah-langkah di atas secara terpisah. Untuk informasi selengkapnya, lihat Memulihkan data ke mesin virtual menggunakan PowerShell.

Prasyarat

  • Tutorial ini memerlukan versi 2.0.18 atau yang lebih tinggi dari Azure CLI. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.

  • Tutorial ini memerlukan VM Linux yang telah dilindungi dengan Azure Backup. Untuk menyimulasikan proses penghapusan dan pemulihan komputer virtual yang tidak disengaja, Anda membuat komputer virtual dari disk dalam titik pemulihan. Jika Anda memerlukan komputer virtual Linux yang telah dilindungi dengan Azure Backup, lihat Mencadangkan mesin virtual di Azure dengan antarmuka baris perintah.

Ringkasan pencadangan

Ketika Azure memulai pencadangan, ekstensi cadangan pada VM mengambil snapshot sesaat. Ekstensi cadangan dipasang pada VM ketika cadangan pertama diminta. Azure Backup juga dapat mengambil snapshot dari penyimpanan yang mendasarinya jika VM tidak berjalan ketika pencadangan dilakukan.

Secara default, Azure Backup mengambil cadangan sistem file yang konsisten. Setelah Azure Backup mengambil rekam jepret, data ditransfer ke brankas Layanan Pemulihan. Untuk memaksimalkan efisiensi, Azure Backup mengidentifikasi dan hanya mentransfer blok data yang telah berubah sejak cadangan sebelumnya.

Ketika transfer data selesai, rekam jepret dihapus dan titik pemulihan dibuat.

Membuat daftar titik pemulihan yang tersedia

Untuk memulihkan disk, Anda memilih titik pemulihan sebagai sumber data pemulihan. Saat kebijakan default membuat titik pemulihan setiap hari dan mempertahankannya selama 30 hari, Anda dapat menyimpan set titik pemulihan yang memungkinkan Anda memilih titik waktu tertentu untuk pemulihan.

Untuk melihat daftar titik pemulihan yang tersedia, gunakan daftar titik pemulihan cadangan az. Nama titik pemulihan digunakan untuk memulihkan disk. Dalam tutorial ini, kami ingin titik pemulihan terbaru tersedia. --query [0].nameParameter memilih nama titik pemulihan terbaru sebagai berikut:

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

Memulihkan disk mesin virtual

Penting

Sangat dianjurkan untuk menggunakan Azure CLI versi 2.0.74 atau yang lebih baru untuk memanfaatkan semua keuntungan dari pemulihan cepat, termasuk pemulihan disk terkelola. Yang terbaik adalah jika Anda selalu menggunakan versi terbaru.

Pemulihan disk terkelola

Jika VM yang dicadangkan memiliki disk terkelola dan jika niatnya adalah untuk memulihkan disk terkelola dari titik pemulihan, Anda harus terlebih dahulu menyediakan akun penyimpanan Azure. Akun penyimpanan ini digunakan untuk menyimpan konfigurasi komputer virtual dan templat penyebaran yang nantinya dapat digunakan untuk menyebarkan komputer virtual dari disk yang dipulihkan. Kemudian, Anda juga menyediakan grup sumber daya target untuk disk terkelola yang akan dipulihkan.

  1. Untuk membuat akun penyimpanan, gunakan az storage account create. Nama akun penyimpanan harus huruf kecil semuanya, dan unik secara global. Ganti mystorageaccount dengan nama unik Anda sendiri:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Pulihkan disk dari titik pemulihan Anda dengan az backup restore restore-disks. Ganti mystorageaccount dengan nama akun penyimpanan yang Anda buat di perintah sebelumnya. Ganti myRecoveryPointName dengan nama titik pemulihan yang Anda peroleh dalam output dari perintah daftar titik pemulihan cadangan az sebelumnya. Selain itu, sediakan grup sumber daya target tempat disk terkelola dipulihkan.

    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
    

    Peringatan

    Jika target-resource-group tidak disediakan, maka disk yang dikelola akan dipulihkan sebagai disk tidak terkelola ke akun penyimpanan yang diberikan. Ini akan memiliki konsekuensi yang signifikan terhadap waktu pemulihan karena waktu yang diambil untuk memulihkan disk sepenuhnya bergantung pada akun penyimpanan yang diberikan. Anda akan mendapatkan manfaat pemulihan instan hanya ketika parameter target-resource-group diberikan. Jika niatnya adalah memulihkan disk terkelola sebagai tidak terkelola, maka jangan berikan parameter target-resource-group dan berikan parameter restore-as-unmanaged-disk seperti yang ditunjukkan di bawah ini. Parameter ini tersedia dari Azure CLI 3.4.0 dan seterusnya.

    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
    

Ini akan memulihkan disk terkelola sebagai disk tidak terkelola ke akun penyimpanan yang diberikan dan tidak akan memanfaatkan fungsionalitas pemulihan 'instan'. Dalam versi antarmuka baris perintah yang akan datang, parameter target-resource-group atau parameter restore-as-unmanaged-disk akan wajib diberikan.

Memulihkan disk ke wilayah sekunder

Data cadangan direplikasi ke wilayah sekunder saat Anda mengaktifkan pemulihan lintas wilayah di vault yang Anda gunakan untuk melindungi mesin virtual Anda. Anda dapat menggunakan data cadangan untuk melakukan pemulihan operasi.

Untuk memulihkan disk ke wilayah sekunder, gunakan bendera --use-secondary-region di perintah az backup restore restore-disks. Pastikan bahwa Anda menentukan akun penyimpanan target yang berada di wilayah sekunder.

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

Pemulihan lintas zona

Anda dapat memulihkan mesin virtual yang disematkan di zona Azure di zona ketersediaan mana pun di wilayah yang sama.

Untuk memulihkan VM ke zona lain, tentukan parameter TargetZoneNumber di perintah az backup restore restore-disks.

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

Pemulihan lintas zona hanya didukung dalam skenario ketika:

  • Mesin virtual pada sumber ditetapkan ke zona dan TIDAK dienkripsi.
  • Titik pemulihan hanya ada di tingkat vault. Salinan bayangan saja atau salinan bayangan dan tingkat vault tidak didukung.
  • Opsi pemulihan adalah membuat mesin virtual baru atau memulihkan disk. Opsi ganti disk mengganti data sumber; oleh karena itu, opsi zona ketersediaan tidak berlaku.
  • Membuat mesin virtual/disk di wilayah yang sama ketika redundansi penyimpanan vault adalah ZRS. Perlu diingat bahwa fungsi ini tidak akan berfungsi jika redundansi penyimpanan vault merupakan GRS, meskipun VM (mesin virtual) sumber sudah dipetakan ke zona.
  • Membuat mesin virtual/disk di wilayah berpasangan saat redundansi penyimpanan vault diaktifkan untuk Pemulihan Lintas Wilayah dan jika wilayah yang dipasangkan mendukung zona.

Pemulihan disk tidak terkelola

Jika VM yang dicadangkan memiliki disk tidak terkelola dan jika niatnya adalah untuk memulihkan disk dari titik pemulihan, Anda harus terlebih dahulu menyediakan akun penyimpanan Azure. Akun penyimpanan ini digunakan untuk menyimpan konfigurasi komputer virtual dan templat penyebaran yang nantinya dapat digunakan untuk menyebarkan komputer virtual dari disk yang dipulihkan. Secara default, disk tidak terkelola akan dipulihkan ke akun penyimpanan aslinya. Jika Anda ingin memulihkan semua disk tidak terkelola ke satu tempat, maka akun penyimpanan yang diberikan dapat digunakan sebagai lokasi penyimpanan sementara untuk disk tersebut.

Dalam langkah tambahan, disk yang dipulihkan digunakan untuk membuat komputer virtual.

  1. Untuk membuat akun penyimpanan, gunakan pembuatan akun penyimpanan az. Nama akun penyimpanan harus huruf kecil semuanya, dan unik secara global. Ganti mystorageaccount dengan nama unik Anda sendiri:

    az storage account create \
        --resource-group myResourceGroup \
        --name mystorageaccount \
        --sku Standard_LRS
    
  2. Pulihkan disk dari titik pemulihan Anda dengan az backup restore restore-disks. Ganti mystorageaccount dengan nama akun penyimpanan yang Anda buat di perintah sebelumnya. Ganti myRecoveryPointName dengan nama titik pemulihan yang Anda peroleh dalam output dari perintah daftar titik pemulihan cadangan az sebelumnya:

    az backup restore restore-disks \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --storage-account mystorageaccount \
        --rp-name myRecoveryPointName
    

Seperti disebutkan di atas, disk tidak terkelola akan dipulihkan ke akun penyimpanan aslinya. Ini memberikan performa pemulihan terbaik. Tetapi jika semua disk yang tidak terkelola perlu dipulihkan ke akun penyimpanan yang diberikan, maka gunakan opsi yang relevan seperti di bawah ini.

    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

Outputnya mirip dengan contoh berikut, yang menunjukkan pekerjaan pemulihan adalah InProgress:

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

Ketika Status laporan pekerjaan pemulihan Selesai, informasi yang diperlukan (konfigurasi komputer virtual dan templat penyebaran) telah dipulihkan ke akun penyimpanan.

Menggunakan identitas terkelola untuk memulihkan disk

Azure Backup juga memungkinkan Anda untuk menggunakan identitas terkelola (MSI) selama operasi pemulihan untuk mengakses akun penyimpanan tempat disk harus dipulihkan. Opsi ini saat ini hanya didukung untuk pemulihan disk terkelola.

Jika Anda ingin menggunakan sistem vault yang diberi identitas terkelola untuk memulihkan disk, berikan bendera tambahan --mi-system-assigned ke perintah az backup restore restore-disks. Jika Anda ingin menggunakan identitas terkelola yang ditetapkan pengguna, berikan parameter--mi-user-assigned dengan ID Azure Resource Manager dari identitas terkelola vault sebagai nilai parameter. Lihat artikel ini untuk mempelajari cara mengaktifkan identitas terkelola untuk vault Anda.

Membuat komputer virtual dari disk yang dipulihkan

Langkah terakhir adalah membuat komputer virtual dari disk yang dipulihkan. Anda dapat menggunakan templat penyebaran yang diunduh ke akun penyimpanan tertentu untuk membuat komputer virtual.

Mengambil detail Pekerjaan

Detail pekerjaan yang dihasilkan memberikan URI templat yang dapat dikueri dan digunakan. Gunakan perintah menampilkan pekerjaan untuk mendapatkan detail lebih lanjut untuk pekerjaan yang dipulihkan yang dipicu.

az backup job show \
    -v myRecoveryServicesVault \
    -g myResourceGroup \
    -n 1fc2d55d-f0dc-4ca6-ad48-aca0fe5d0414

Output kueri ini akan memberikan semua detail, tetapi kita hanya tertarik pada konten akun penyimpanan. Kita dapat menggunakan kemampuan kueri Antarmuka Baris Perintah Azure untuk mengambil detail yang relevan.

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"
}

Mengambil templat penyebaran

Templat tidak dapat diakses secara langsung karena berada di bawah akun penyimpanan pelanggan dan kontainer yang diberikan. Kami membutuhkan URL lengkap (bersama dengan token SAS sementara) untuk mengakses templat ini.

Pertama, ekstrak template blob Uri dari rincian pekerjaan

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"

Uri blob templat akan format ini dan ekstrak nama templat

https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>

Jadi, nama templat dari contoh di atas akan menjadi azuredeploy1fc2d55d-f0dc-4ca6-ad48-aca0519c0232.json dan nama kontainernya adalah myVM-daa1931199fd4a22ae601f46d8812276

Sekarang dapatkan token SAS untuk kontainer dan templat ini sebagaimana diperinci di sini

expiretime=$(date -u -d '30 minutes' +%Y-%m-%dT%H:%MZ)
token=$(az storage blob generate-sas --account-name $storageAccountName --container-name $containerName --name $templateName --permissions r --expiry $expiretime --auth-mode login --as-user --https-only --output tsv)
url=$(az storage blob url --account-name $storageAccountName --container-name $containerName --name $templateName --output tsv --auth-mode login)

Menyebarkan templat untuk membuat komputer virtual

Sekarang sebarkan templat untuk membuat VM seperti yang dijelaskan di sini.

az deployment group create \
  --resource-group ExampleGroup \
  --template-uri $url?$token

Untuk mengonfirmasi bahwa komputer virtual Anda telah dibuat dari disk yang dipulihkan, daftar komputer virtual di grup sumber daya Anda dengan az vm list sebagai berikut:

az vm list --resource-group myResourceGroup --output table

Memulihkan data ke mesin virtual menggunakan CLI

Anda kini dapat langsung memulihkan data ke VM asli/alternatif tanpa melakukan beberapa langkah.

Memulihkan data ke VM asli

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

Perintah terakhir memicu operasi pemulihan lokasi asli untuk memulihkan data di tempat di VM yang ada.

Memulihkan data ke VM yang baru dibuat

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

Perintah terakhir memicu operasi pemulihan lokasi alternatif untuk membuat VM baru di grup sumber daya Target_RG sesuai dengan input yang ditentukan oleh parameter TargetVMName, TargetVNetName, TargetVNetResourceGroup, TargetSubnetName. Ini memastikan data dipulihkan di VM, jaringan virtual, dan subnet yang diperlukan.

Langkah berikutnya

Dalam tutorial ini, Anda memulihkan disk dari titik pemulihan dan kemudian membuat komputer virtual dari disk. Anda mempelajari cara untuk:

  • Mencantumkan dan memilih titik pemulihan
  • Memulihkan disk dari titik pemulihan
  • Membuat komputer virtual dari disk yang dipulihkan

Lanjutkan ke tutorial berikutnya untuk mempelajari tentang memulihkan file individu dari titik pemulihan.