Membuat disk terkelola dari snapshot dengan CLI (Linux)

Artikel ini berisi dua skrip untuk membuat disk terkelola dari rekam jepret. Skrip pertama adalah untuk disk terkelola dengan kunci yang dikelola platform dan skrip kedua adalah untuk disk terkelola dengan kunci yang dikelola pelanggan. Gunakan skrip ini untuk memulihkan komputer virtual dari rekam jepret OS dan disk data. Buat OS dan disk yang dikelola data dari snapshot masing-masing dan kemudian buat mesin virtual baru dengan melampirkan disk yang dikelola. Anda juga dapat memulihkan disk data dari Mesin Virtual yang ada dengan melampirkan disk data yang dibuat dari snapshot.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Sampel skrip

Meluncurkan Azure Cloud Shell

Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah-langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.

Untuk membuka Cloud Shell, cukup pilih Cobalah dari sudut kanan atas blok kode. Anda juga dapat meluncurkan Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com.

Saat Cloud Shell terbuka, verifikasi bahwa Bash dipilih untuk lingkungan Anda. Sesi berikutnya akan menggunakan Azure CLI dalam lingkungan Bash, Pilih Salin untuk menyalin blok kode, tempelkan ke Cloud Shell, lalu tekan Enter untuk menjalankannya.

Masuk ke Azure

Cloud Shell diautentikasi secara otomatis dengan akun awal yang digunakan untuk masuk. Gunakan skrip berikut untuk masuk menggunakan langganan yang berbeda, menggantikan <Subscription ID> dengan ID Langganan Azure Anda. Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Untuk informasi selengkapnya, lihat mengatur langganan aktif atau masuk secara interaktif

Disk dengan kunci yang dikelola platform

#Provide the subscription Id of the subscription where you want to create Managed Disks
subscriptionId="<subscriptionId>"

#Provide the name of your resource group
resourceGroupName=myResourceGroupName

#Provide the name of the snapshot that will be used to create Managed Disks
snapshotName=mySnapshotName

#Provide the name of the new Managed Disks that will be create
diskName=myDiskName

#Provide the size of the disks in GB. It should be greater than the VHD file size.
diskSize=128

#Provide the storage type for Managed Disk. Acceptable values are Standard_LRS, Premium_LRS, PremiumV2_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, and StandardSSD_ZRS.
storageType=Premium_LRS

#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
zone=1

#Set the context to the subscription Id where Managed Disk will be created
az account set --subscription $subscriptionId

#Get the snapshot Id 
snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv)

#Create a new Managed Disks using the snapshot Id
#Note that managed disk will be created in the same location as the snapshot
#If you're creating a Premium SSD v2 or an Ultra Disk, add "--zone $zone" to the end of the command
az disk create --resource-group $resourceGroupName --name $diskName --sku $storageType --size-gb $diskSize --source $snapshotId

Disk dengan kunci yang dikelola pelanggan

#Provide the subscription Id of the subscription where you want to create Managed Disks
subscriptionId="<subscriptionId>"

#Provide the name of your resource group
resourceGroupName=myResourceGroupName

#Provide the name of the snapshot that will be used to create Managed Disks
snapshotName=mySnapshotName

#Provide the name of the new Managed Disks that will be create
diskName=myDiskName

#Provide the size of the disks in GB. It should be greater than the VHD file size.
diskSize=128

#Provide the storage type for Managed Disk. Premium_LRS or Standard_LRS.
storageType=Premium_LRS

#Provide the name of the target disk encryption set
diskEncryptionSetName=myName

#Provide the target disk encryption set resource group
diskEncryptionResourceGroup=myGroup

#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
zone=1

#Set the context to the subscription Id where Managed Disk will be created
az account set --subscription $subscriptionId

#Get the snapshot Id 
snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv)

#Get the disk encryption set ID
diskEncryptionSetId=$(az disk-encryption-set show --name $diskEncryptionSetName --resource-group $diskEncryptionResourceGroup)

#Create a new Managed Disks using the snapshot Id
#Note that managed disk will be created in the same location as the snapshot
#To change the location, add the --location parameter
#If you're creating a Premium SSD v2 or an Ultra Disk, add "--zone $zone" to the end of the command
az disk create -g $resourceGroupName -n $diskName --source $snapshotId --disk-encryption-set $diskEncryptionSetID --location eastus2euap

Dampak performa - proses penyalinan latar belakang

Saat Anda membuat disk terkelola dari rekam jepret, disk tersebut memulai proses penyalinan latar belakang. Anda dapat melampirkan disk ke VM saat proses ini berjalan tetapi Anda akan mengalami dampak performa (4k disk mengalami dampak baca, 512e mengalami dampak baca dan tulis) dengan latensi yang lebih tinggi, IOPS dan throughput yang lebih rendah hingga salinan latar belakang selesai. Untuk Ultra Disk dan Premium SSD v2, Anda dapat memeriksa status proses penyalinan latar belakang dengan perintah berikut:

Penting

Anda tidak dapat menggunakan bagian berikut untuk mendapatkan status proses penyalinan latar belakang untuk jenis disk selain Ultra Disk atau Premium SSD v2. Tipe disk lainnya akan selalu melaporkan 100%.

subscriptionId=yourSubscriptionID
resourceGroupName=yourResourceGroupName
diskName=yourDiskName
az account set --subscription $subscriptionId
az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv

Membersihkan sumber daya

Jalankan perintah berikut untuk menghapus grup sumber daya, VM, dan semua sumber daya terkait.

az group delete --name myResourceGroupName

Referensi sampel

Skrip ini menggunakan perintah berikut untuk membuat disk terkelola dari snapshot. Setiap perintah dalam tabel ditautkan ke dokumentasi spesifik perintah.

Perintah Catatan
az snapshot show Mendapatkan semua properti snapshot menggunakan nama dan properti grup sumber daya snapshot. Properti ID digunakan untuk membuat disk terkelola.
az disk create Membuat disk terkelola menggunakan ID rekam jepret rekam jepret terkelola

Langkah berikutnya

Membuat mesin virtual dengan melampirkan disk terkelola sebagai disk OS

Untuk informasi selengkapnya tentang antarmuka tingkat panggilan Azure, lihat Dokumentasi antarmuka tingkat panggilan Azure.

Lebih banyak komputer virtual dan sampel skrip CLI disk terkelola dapat ditemukan dalam dokumentasi Azure Linux VM.