Tworzenie dysku zarządzanego na podstawie migawki przy użyciu interfejsu wiersza polecenia (Linux)

Ten artykuł zawiera dwa skrypty Azure CLI służące do tworzenia dysku zarządzanego na podstawie migawki. Pierwszy skrypt tworzy dysk zarządzany z kluczami zarządzanymi przez platformę, a drugi skrypt tworzy dysk zarządzany z kluczami zarządzanymi przez klienta. Po utworzeniu dysków systemu operacyjnego i danych na podstawie ich migawek można użyć dysków do utworzenia maszyny wirtualnej lub przywrócenia danych na istniejącej maszynie wirtualnej.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Tworzenie dysków zarządzanych na podstawie migawek

Uruchamianie usługi Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule. Udostępnia ona wstępnie zainstalowane i najczęściej używane narzędzia platformy Azure, które są skonfigurowane do użycia na koncie.

Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również uruchomić usługę Cloud Shell w oddzielnej karcie przeglądarki, przechodząc do strony https://shell.azure.com.

Po otwarciu usługi Cloud Shell sprawdź, czy dla Twojego środowiska wybrano Bash. W kolejnych sesjach będziesz używać Azure CLI w środowisku Bash. Wybierz pozycję Kopiuj, aby skopiować bloki kodu, wkleić je do usługi Cloud Shell i nacisnąć klawisz Enter, aby je uruchomić.

Logowanie się do platformy Azure

Usługa Cloud Shell jest automatycznie uwierzytelniana na początkowym koncie zalogowanym. Użyj następującego skryptu, aby zalogować się przy użyciu innej subskrypcji, zastępując ciąg subscriptionId identyfikatorem subskrypcji platformy Azure.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

subscription="subscriptionId" # Set Azure subscription ID here

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

Aby uzyskać więcej informacji, zobacz ustawianie aktywnej subskrypcji lub logowanie interakcyjne.

Dyski z kluczami zarządzanymi przez platformę

Użyj tego skryptu, aby utworzyć dysk zarządzany z kluczami zarządzanymi przez platformę. Podaj subskrypcję, grupę zasobów, migawkę źródłową, nazwę nowego dysku, rozmiar dysku i typ magazynowania. W przypadku dysków Premium SSD w wersji 2 i Ultra Disk należy również określić strefę dostępności. Skrypt ustawia subskrypcję, pobiera identyfikator zasobu migawki i tworzy dysk zarządzany na podstawie migawki w tej samej lokalizacji.

#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

Dyski z kluczami zarządzanymi przez klienta

Użyj tego skryptu, aby utworzyć dysk zarządzany przy użyciu kluczy zarządzanych przez klienta. Oprócz subskrypcji, grupy zasobów, migawki i wartości nowego dysku podaj zestaw szyfrowania dysku docelowego oraz jego grupę zasobów. Skrypt pobiera informacje o migawce i zestawie szyfrowania dysku, a następnie tworzy dysk zarządzany z migawki przy użyciu określonego zestawu szyfrowania dysku.

#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 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 --query [id] -o tsv)

#Create a new managed disk using the snapshot ID
#The managed disk is 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 -g $resourceGroupName -n $diskName --source $snapshotId --disk-encryption-set $diskEncryptionSetId

Wpływ na wydajność — proces kopiowania w tle

Podczas tworzenia dysku zarządzanego z migawki rozpoczyna się proces kopiowania w tle. Dysk można dołączyć do maszyny wirtualnej podczas działania tego procesu, ale do czasu zakończenia kopiowania w tle wystąpi spadek wydajności (w przypadku dysków 4K dotyczy to odczytu, a w przypadku 512e — zarówno odczytu, jak i zapisu): większe opóźnienia, niższa liczba operacji we/wy na sekundę (IOPS) oraz mniejsza przepustowość. W przypadku dysków Ultra i dysków Premium SSD v2 użyj następującego polecenia, aby sprawdzić właściwość completionPercent. Kopiowanie w tle zostanie zakończone, gdy wartość osiągnie 100.

Ważne

Nie można używać poniższych sekcji do sprawdzania stanu procesu kopiowania w tle dla typów dysków innych niż Ultra Disk lub Premium SSD v2. Inne typy dysków zawsze będą zgłaszać 100%.

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

Czyszczenie zasobów

Uruchom następujące polecenie, aby usunąć grupę zasobów i wszystkie zawarte w niej zasoby.

az group delete --name myResourceGroupName

dokumentacja poleceń Azure CLI

Skrypty używają następujących poleceń Azure CLI do tworzenia dysków zarządzanych, monitorowania procesu kopiowania w tle i czyszczenia zasobów.

Polecenie Uwagi
az account set Ustawia subskrypcję, w której jest tworzony dysk zarządzany.
az snapshot show Pobiera identyfikator zasobu migawki źródłowej.
az disk-encryption-set show - wyświetla ustawienia szyfrowania dysku Pobiera informacje o zestawie szyfrowania dysku docelowego dla dysku z kluczami zarządzanymi przez klienta.
az disk create Tworzy dysk zarządzany na podstawie migawki źródłowej.
az disk show (polecenie wyświetlające informacje o dysku) Pobiera procent ukończenia kopii w tle dla dysków Premium SSD v2 i Ultra Disk.
az group delete - usuwa grupę zasobów w Azure Usuwa grupę zasobów i jej zasoby.

Następne kroki

Tworzenie maszyny wirtualnej przez dołączenie dysku zarządzanego jako dysku systemu operacyjnego

Aby uzyskać więcej informacji na temat interfejsu wiersza polecenia platformy Azure, zobacz dokumentację interfejsu wiersza polecenia platformy Azure.

Więcej przykładów skryptów interfejsu wiersza polecenia maszyny wirtualnej i dysków zarządzanych można znaleźć w dokumentacji maszyny wirtualnej z systemem Linux platformy Azure.