W zależności od sposobu usuwania maszyny wirtualnej może ona usuwać tylko zasób maszyny wirtualnej, a nie zasoby sieciowe i dyskowe. Możesz zmienić ustawienia domyślne dotyczące innych zasobów usuwanych podczas usuwania maszyny wirtualnej.
Ustawianie opcji usuwania podczas tworzenia maszyny wirtualnej
Otwórz portal.
Wybierz pozycję + Utwórz zasób.
Na stronie Tworzenie zasobu w obszarze Maszyny wirtualne wybierz pozycję Utwórz.
Wybierz pozycję Podstawowe, a następnie wybierz pozycję Dalej: Dyski > , aby otworzyć kartę Dyski .
W obszarze Opcje dysku domyślnie dysk systemu operacyjnego ma wartość Usuń przy użyciu maszyny wirtualnej. Jeśli nie chcesz usuwać dysku systemu operacyjnego, wyczyść pole wyboru. Jeśli używasz istniejącego dysku systemu operacyjnego, ustawieniem domyślnym jest odłączenie dysku systemu operacyjnego po usunięciu maszyny wirtualnej.
W obszarze Dyski danych możesz dołączyć istniejący dysk danych lub utworzyć nowy dysk i dołączyć go do maszyny wirtualnej.
Jeśli wybierzesz pozycję Utwórz i dołącz nowy dysk, zostanie otwarta strona Tworzenie nowego dysku i możesz wybrać, czy usunąć dysk po usunięciu maszyny wirtualnej.
Jeśli zdecydujesz się dołączyć istniejący dysk, możesz wybrać dysk, jednostkę LUN i określić, czy chcesz usunąć dysk danych podczas usuwania maszyny wirtualnej.
Po zakończeniu dodawania informacji o dysku wybierz pozycję Dalej: Sieć > , aby otworzyć kartę Sieć .
W dolnej części strony wybierz pozycję Usuń publiczny adres IP i kartę sieciową po usunięciu maszyny wirtualnej.
Po zakończeniu wybierania wybierz pozycję Przejrzyj i utwórz.
Możesz sprawdzić, które zasoby zostały usunięte po usunięciu maszyny wirtualnej.
Jeśli wybrane opcje są zadowalające, a walidacja zakończy się pomyślnie, wybierz pozycję Utwórz , aby wdrożyć maszynę wirtualną.
Aby określić, co się stanie z dołączonymi zasobami podczas usuwania maszyny wirtualnej, użyj delete-option
parametrów. Każdy z nich można ustawić na wartość Delete
, która trwale usuwa zasób po usunięciu maszyny wirtualnej, lub Detach
, co odłącza zasób i pozostawia go na platformie Azure, aby mógł być użyty ponownie w przyszłości. Domyślnym ustawieniem maszyn wirtualnych utworzonych przy użyciu interfejsu wiersza polecenia jest odłączenie dysku systemu operacyjnego. Zasoby , takie Detach
jak dyski, będą nadal naliczane opłaty zgodnie z obowiązującymi przepisami.
-
--os-disk-delete-option
- Dysk systemu operacyjnego.
-
--data-disk-delete-option
- dysk danych.
-
--nic-delete-option
- Karta sieciowa.
W tym przykładzie utworzymy maszynę wirtualną o nazwie myVM w grupie zasobów o nazwie myResourceGroup przy użyciu obrazu o nazwie myImage i ustawimy dysk systemu operacyjnego i kartę sieciową, która ma zostać usunięta po usunięciu maszyny wirtualnej.
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image myImage \
--public-ip-sku Standard \
--nic-delete-option delete \
--os-disk-delete-option delete \
--admin-username azureuser \
--generate-ssh-keys
Aby określić, co się stanie z dołączonymi zasobami podczas usuwania maszyny wirtualnej, użyj DeleteOption
parametrów. Każdy z nich można ustawić na Delete
, co trwale usuwa zasób po usunięciu maszyny wirtualnej, lub na Detach
, co odłącza zasób i pozostawia go na platformie Azure, aby można było go ponownie użyć później. Domyślnym ustawieniem maszyn wirtualnych utworzonych przy użyciu programu PowerShell jest odłączenie dysku systemu operacyjnego podczas usuwania maszyny wirtualnej. Zasoby, takie jak Detach
dyski, będą nadal powodować naliczanie opłat zgodnie z obowiązującymi przepisami.
Parametry DeleteOption
to:
-
-OSDiskDeleteOption
- Dysk systemu operacyjnego.
-
-DataDiskDeleteOption
- dysk danych.
-
-NetworkInterfaceDeleteOption
- Karta sieciowa.
W tym przykładzie utworzymy maszynę wirtualną i ustawimy dysk systemu operacyjnego oraz kartę sieciową do usunięcia wraz z maszyną wirtualną.
New-AzVm `
-ResourceGroupName "myResourceGroup" `
-Name "myVM" `
-OSDiskDeleteOption Delete `
-NetworkInterfaceDeleteOption Delete `
-Location "East US" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress"
W tym przykładzie pokazano, jak ustawić dysk danych i kartę sieciową do usunięcia po usunięciu maszyny wirtualnej. Należy pamiętać, że wersja interfejsu API określona w parametrze api-version musi mieć wartość "2021-03-01" lub nowszą, aby skonfigurować opcję usuwania.
PUT
https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/myVM?api-version=xx
{
"storageProfile": {
"dataDisks": [
{
"diskSizeGB": 1023,
"name": "myVMdatadisk",
"createOption": "Empty",
"lun": 0,
"deleteOption": "Delete"
}
]
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/.../Microsoft.Network/networkInterfaces/myNIC",
"properties": {
"primary": true,
"deleteOption": "Delete"
}
}
]
}
}
Tę właściwość można również ustawić dla publicznego adresu IP skojarzonego z kartą sieciową, aby publiczny adres IP został automatycznie usunięty po usunięciu karty sieciowej.
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic?api-version=xx
{
"properties": {
"enableAcceleratedNetworking": true,
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"publicIPAddress": {
"id": "/subscriptions/../publicIPAddresses/test-ip",
"properties": {
"deleteOption": "Delete"
}
},
"subnet": {
"id": "/subscriptions/../virtualNetworks/rg1-vnet/subnets/default"
}
}
}
]
},
"location": "eastus"
}
Aktualizowanie zachowania usuwania na istniejącej maszynie wirtualnej
Zachowanie można zmienić podczas usuwania maszyny wirtualnej.
W poniższym przykładzie opcja usuwania jest ustawiona na detach
, aby można było ponownie użyć dysku.
az resource update --resource-group myResourceGroup --name myVM --resource-type virtualMachines --namespace Microsoft.Compute --set properties.storageProfile.osDisk.deleteOption=detach
Poniższy przykład aktualizuje maszynę wirtualną, aby usunąć dysk systemu operacyjnego, wszystkie dyski danych i wszystkie karty sieciowe po usunięciu maszyny wirtualnej.
$vmConfig = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
$vmConfig.StorageProfile.OsDisk.DeleteOption = 'Delete'
$vmConfig.StorageProfile.DataDisks | ForEach-Object { $_.DeleteOption = 'Delete' }
$vmConfig.NetworkProfile.NetworkInterfaces | ForEach-Object { $_.DeleteOption = 'Delete' }
$vmConfig | Update-AzVM
W poniższym przykładzie maszyna wirtualna jest aktualizowana tak, aby podczas jej usuwania usunięta została karta sieciowa, dysk systemu operacyjnego i dysk danych. Należy pamiętać, że wersja interfejsu API określona w parametrze api-version musi mieć wartość "2021-03-01" lub nowszą, aby skonfigurować opcję usuwania.
PATCH https://management.azure.com/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/virtualMachines/testvm?api-version=2021-07-01
{
"properties": {
"hardwareProfile": {
"vmSize": "Standard_D2s_v3"
},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2019-Datacenter",
"version": "latest",
"exactVersion": "17763.3124.2111130129"
},
"osDisk": {
"osType": "Windows",
"name": "OsDisk_1",
"createOption": "FromImage",
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/OsDisk_1"
},
"deleteOption": "Delete",
"diskSizeGB": 127
},
"dataDisks": [
{
"lun": 0,
"name": "DataDisk_0",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": false,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_0"
},
"deleteOption": "Delete",
"diskSizeGB": 1024,
"toBeDetached": false
},
{
"lun": 1,
"name": "DataDisk_1",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": false,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_1"
},
"deleteOption": "Delete",
"diskSizeGB": 1024,
"toBeDetached": false
}
]
},
"osProfile": {
"computerName": "testvm",
"adminUsername": "azureuser",
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": true,
"patchSettings": {
"patchMode": "AutomaticByOS",
"assessmentMode": "ImageDefault",
"enableHotpatching": false
}
},
"secrets": [],
"allowExtensionOperations": true,
"requireGuestProvisionSignal": true
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Network/networkInterfaces/nic336",
"properties": {
"deleteOption": "Delete"
}
}
]
}
}
}
Wymuszone usunięcie maszyn wirtualnych
Wymuszanie usuwania umożliwia wymuszone usunięcie maszyny wirtualnej, zmniejszenie opóźnienia usuwania i natychmiastowe zwolnienie dołączonych zasobów. W przypadku maszyn wirtualnych, które nie wymagają łagodnego zamknięcia, wymuszone usunięcie spowoduje tak szybkie, jak to możliwe, usunięcie maszyny wirtualnej przy jednoczesnym uwolnieniu zasobów logicznych z maszyny wirtualnej, z pominięciem łagodnego zamknięcia i niektórych operacji oczyszczania. Funkcja Wymuś usunięcie nie spowoduje natychmiastowego zwolnienia adresu MAC skojarzonego z maszyną wirtualną, ponieważ jest to zasób fizyczny, który może potrwać do 10 minut. Jeśli musisz natychmiast ponownie użyć adresu MAC na nowej maszynie wirtualnej, wymuszanie usuwania nie jest zalecane. Wymuszanie usuwania powinno być używane tylko wtedy, gdy nie zamierzasz używać ponownie wirtualnych dysków twardych. Możesz użyć wymuszania usuwania za pośrednictwem portalu, interfejsu wiersza polecenia, programu PowerShell i interfejsu API REST.
Po przejściu do usunięcia istniejącej maszyny wirtualnej znajdziesz opcję zastosowania wymuszonego usunięcia w okienku usuwania.
-
Otwórz portal.
- Przejdź do maszyny wirtualnej.
- Na stronie Przegląd wybierz pozycję Usuń.
- W okienku Usuń maszynę wirtualną zaznacz pole wyboru Zastosuj wymuszone usunięcie.
- Wybierz OK
Użyj parametru --force-deletion
az vm delete.
az vm delete \
--resource-group myResourceGroup \
--name myVM \
--force-deletion none
Użyj parametru -ForceDeletion
Remove-AzVm.
Remove-AzVm `
-ResourceGroupName "myResourceGroup" `
-Name "myVM" `
-ForceDeletion $true
Możesz użyć interfejsu API REST platformy Azure, aby wymusić usunięcie maszyn wirtualnych. Użyj parametru forceDeletion
Virtual Machines — Delete.
Opcja wymuszonego usuwania dla zestawów skalowania
Wymuszone usuwanie umożliwia szybkie usunięcie zestawu skalowania maszyn wirtualnych, redukując opóźnienie usuwania i natychmiast zwalniając dołączone zasoby. Funkcja wymuszania usunięcia nie spowoduje natychmiastowego zwolnienia adresu MAC skojarzonego z maszyną wirtualną, ponieważ jest to zasób fizyczny, którego zwolnienie może zająć do 10 minut. Jeśli musisz natychmiast ponownie użyć adresu MAC na nowej maszynie wirtualnej, nie zaleca się wymuszania usuwania. Wymuszanie usuwania powinno być używane tylko wtedy, gdy nie zamierzasz ponownie używać wirtualnych dysków twardych. Możesz użyć wymuszania usuwania za pośrednictwem portalu, interfejsu wiersza polecenia, programu PowerShell i interfejsu API REST.
Kiedy przechodzisz do usunięcia istniejącego zbioru skal, znajdziesz opcję zastosowania wymuszonego usunięcia w panelu usuwania.
-
Otwórz portal.
- Przejdź do zestawu skalowania maszyn wirtualnych.
- Na stronie Przegląd wybierz pozycję Usuń.
- W okienku Usuń zestaw skalowania maszyn wirtualnych zaznacz pole wyboru Wymuś usunięcie.
- Wybierz OK
Użyj parametru --force-deletion
dla az vmss delete
.
az vmss delete \
--resource-group myResourceGroup \
--name myVMSS \
--force-deletion true
Użyj parametru -ForceDeletion
Remove-AzVmss.
Remove-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myVMSS" `
-ForceDeletion $true
Często zadawane pytania
.: Czy ta funkcja działa z dyskami udostępnionymi?
1: W przypadku dysków udostępnionych nie można ustawić właściwości "deleteOption" na "Delete". Możesz pozostawić go pusty lub ustawić go na "Odłącz"
.: Które zasoby platformy Azure obsługują tę funkcję?
1: Ta funkcja jest obsługiwana we wszystkich typach dysków zarządzanych używanych jako dyski systemu operacyjnego i dyski danych, karty sieciowe i publiczne adresy IP
.: Czy mogę użyć tej funkcji na dyskach i kart sieciowych, które nie są skojarzone z maszyną wirtualną?
1: Nie, ta funkcja jest dostępna tylko na dyskach i kart sieciowych skojarzonych z maszyną wirtualną.
.: Jak ta funkcja działa z elastycznym zestawem skalowania maszyn wirtualnych?
1: W przypadku elastycznego zestawu skalowania maszyn wirtualnych dyski, karty sieciowe i publiczne adresy IP są deleteOption
domyślnie ustawione tak Delete
, aby te zasoby były automatycznie czyszczone po usunięciu maszyn wirtualnych.
W przypadku dysków danych, które zostały jawnie utworzone i dołączone do maszyn wirtualnych, można zmodyfikować tę właściwość na "Detach" zamiast "Delete", jeśli chcesz, aby dyski były utrwalane po usunięciu maszyny wirtualnej.
.: Czy maszyny wirtualne typu spot obsługują tę funkcję?
1: Tak, możesz użyć tej funkcji dla maszyn wirtualnych typu spot tak, jak w przypadku maszyn wirtualnych na żądanie.
.: Jak mogę utrwalać dyski, kartę sieciową i publiczne adresy IP skojarzone z maszyną wirtualną?
1: Domyślnie dyski, karty sieciowe i publiczne adresy IP skojarzone z maszyną wirtualną są utrwalane po usunięciu maszyny wirtualnej. Jeśli skonfigurujesz te zasoby do automatycznego usunięcia, możesz zaktualizować ustawienia tak, aby zasoby pozostały po usunięciu maszyny wirtualnej. Aby zachować te zasoby, ustaw deleteOption
właściwość na Detach
.
Następne kroki
Aby dowiedzieć się więcej na temat podstawowego zarządzania maszynami wirtualnymi, zobacz Samouczek: tworzenie maszyn wirtualnych z systemem Linux i zarządzanie nimi przy użyciu interfejsu wiersza polecenia platformy Azure.