Dołączanie dysku niezarządzanego do maszyny wirtualnej w celu naprawy w trybie offline
Dotyczy: ✔️ maszyny wirtualne z systemem Windows
Niektóre scenariusze rozwiązywania problemów z maszynami wirtualnymi z systemem Windows, takie jak gdy maszyna wirtualna nie uruchamia się, wymagają naprawy dysku systemu operacyjnego w trybie offline. W tym artykule opisano, jak można wykonać tego rodzaju naprawę w trybie offline, gdy dysk systemu operacyjnego, który zakończył się niepowodzeniem, jest niezarządzany.
Określanie, czy dysk systemu operacyjnego jest zarządzany, czy niezarządzany
Azure Portal
Otwórz blok Przegląd maszyny wirtualnej. Jeśli dysk systemu operacyjnego jest niezarządzany, baner informacyjny wskazuje, że maszyna wirtualna nie korzysta z dysków zarządzanych.
Ponadto blok Przegląd dysku systemu operacyjnego dołącza ciąg "(niezarządzany)" do nazwy dysku, jeśli dysk jest niezarządzany, jak pokazano poniżej:
Jeśli dysk jest zarządzany, blok Przegląd dysku systemu operacyjnego wyświetla pole Zarządzane według , jak pokazano poniżej:
PowerShell
Możesz sprawdzić, czy dysk systemu operacyjnego jest niezarządzany, wprowadzając następujące polecenie. (Pamiętaj, aby zastąpić ciąg "MyResourceGroup" nazwą grupy zasobów i ciągiem "MyVM" nazwą maszyny wirtualnej).
(get-azvm -ResourceGroupName MyResourceGroup -Name MyVM).StorageProfile.OsDisk
Jeśli dysk jest niezarządzany, w danych wyjściowych obok pozycji ManagedDisk nie jest wyświetlana żadna wartość, jak w poniższym przykładzie:
OsType : Windows
EncryptionSettings :
Name : MyVM-Disk1
Vhd : Microsoft.Azure.Management.Compute.Models.VirtualHardDisk
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB : 127
ManagedDisk :
Jeśli dysk jest dyskiem zarządzanym, zobaczysz wartość w danych wyjściowych obok pozycji ManagedDisk, jak w poniższym przykładzie:
OsType : Windows
EncryptionSettings :
Name : MyVM2-Disk1
Vhd :
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB :
ManagedDisk : Microsoft.Azure.Management.Compute.Models.ManagedDiskParameters
Interfejs wiersza polecenia platformy Azure (interfejs wiersza polecenia platformy Azure)
Możesz użyć polecenia az vm show z dołączonym zapytaniem "storageProfile.osDisk.managedDisk" , aby określić, czy dysk ma dyski zarządzane, jak w poniższym przykładzie:
az vm show -n MyVM -g MyResourceGroup --query "storageProfile.osDisk.managedDisk"
Jeśli dyski są niezarządzane, polecenie nie wygeneruje żadnych danych wyjściowych. Jeśli dyski są zarządzane, spowoduje to wygenerowanie danych wyjściowych, takich jak w poniższym przykładzie:
{
"diskEncryptionSet": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/MyVm_OsDisk_1",
"resourceGroup": "MyResourceGroup",
"storageAccountType": null
}
Tworzenie kopii niezarządzanego dysku systemu operacyjnego dołączonego do źródłowej maszyny wirtualnej (niepowodzenie)
W witrynie Azure Portal zatrzymaj źródłową maszynę wirtualną, której dysk systemu operacyjnego jest niezarządzany.
Na komputerze lokalnym pobierz, zainstaluj, a następnie uruchom program Microsoft Eksplorator usługi Azure Storage. Po wyświetleniu monitu podaj poświadczenia platformy Azure.
W okienku nawigacji Eksplorator usługi Storage rozwiń odpowiednią subskrypcję.
Wybierz konto magazynu, na którym znajduje się dysk VHD, a następnie wybierz odpowiedni kontener dla dysku. Domyślnie niezarządzane dyski systemu operacyjnego są przechowywane w kontenerze vhds (dzierżawiony).
W okienku po prawej stronie wybierz wirtualny dysk twardy dołączony do źródłowej maszyny wirtualnej, którą chcesz naprawić, a następnie wybierz pozycję Kopiuj u góry. Zwróć uwagę, że skopiowany dysk można wkleić tylko do innego kontenera obiektów blob.
Utwórz nowy kontener obiektów blob, klikając prawym przyciskiem myszy kontener obiektów blob w okienku nawigacji, a następnie wybierając polecenie Utwórz kontener obiektów blob. Przypisz nowy kontener obiektów blob wybraną nazwę, taką jak "disk-copies".
Wybierz pozycję Wklej , aby wkleić skopiowany dysk do nowego kontenera obiektów blob.
Tworzenie maszyny wirtualnej naprawy z niezarządzanym dyskiem systemu operacyjnego
W witrynie Azure Portal rozpocznij proces tworzenia nowej maszyny wirtualnej opartej na systemie Windows Server 2019. Ta nowa maszyna wirtualna będzie działać jako maszyna wirtualna naprawy, a jego własny dysk systemu operacyjnego musi być niezarządzany.
Na stronie Podstawy kreatora "Tworzenie maszyny wirtualnej" wybierz pozycję Brak nadmiarowości infrastruktury wymaganej na liście Opcje dostępności.
Na stronie Dyski rozwiń węzeł Zaawansowane poniżej dysków danych, a następnie wyczyść pole wyboru Użyj dysków zarządzanych. Wybierz konto magazynu dla niezarządzanego dysku systemu operacyjnego. Nie wybieraj opcji dołączenia istniejącego dysku. Jeśli opcja Użyj dysków zarządzanych nie może być zaznaczona, spróbuj utworzyć maszynę wirtualną przy użyciu następujących poleceń:
## Get the subnet ID of the VM $SubnetID = az network vnet subnet show --resource-group <RG name> --name <Subnet name> --vnet-name <VNet name> --query id -o tsv ## Create a VM with the unmanaged disk az vm create \ --resource-group <RG name>\ --name <VM name>\ --image <Image name>\ --location <location of the VM>\ --admin-username <Admin name>\ --subnet $SubnetID\ --size <VM size>\ --use-unmanaged-disk
Ukończ kreatora "Tworzenie maszyny wirtualnej", określając szczegóły konfiguracji odpowiednie dla organizacji.
Dołączanie kopii dysku niezarządzanego do maszyny wirtualnej naprawy
W witrynie Azure Portal otwórz blok Dyski dla nowo utworzonej maszyny wirtualnej naprawy.
Wybierz pozycję + Dodaj dysk danych.
Na stronie Dołączanie dysku niezarządzanych wybierz pozycję Istniejący obiekt blob jako typ źródła.
Pod źródłowym obiektem blob wybierz pozycję Przeglądaj, a następnie przejdź, aby wybrać utworzoną wcześniej kopię dysku systemu operacyjnego.
Na stronie Dołączanie dysku niezarządzanego zaakceptuj domyślną nazwę obiektu blob magazynu, a następnie wybierz przycisk OK.
W bloku Dyski nowej maszyny wirtualnej naprawy wybierz pozycję Zapisz.
Odblokuj dysk, jeśli jest zaszyfrowany
Jeśli dysk jest zaszyfrowany za pomocą usługi Azure Disk Encryption (ADE), należy go odblokować, zanim będzie można go naprawić. Aby to zrobić, wykonaj kroki opisane w temacie Resolution #3: Manual method to unlock an encrypted disk on a repair VM (Rozwiązanie nr 3: metoda ręczna w celu odblokowania zaszyfrowanego dysku na maszynie wirtualnej naprawy).
Możesz określić, czy dysk jest zaszyfrowany, korzystając z procedury opisanej tutaj: Upewnij się, że usługa ADE jest włączona na dysku
Wymiana dysku systemu operacyjnego na źródłowej maszynie wirtualnej
Po zakończeniu naprawy dysku wykonaj następujące kroki:
Odłącz źródłowy dysk systemu operacyjnego maszyny wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure lub programu PowerShell.
Interfejs wiersza polecenia platformy Azure
Użyj polecenia az vm unmanaged-disk detach, jak w poniższym przykładzie:
az vm unmanaged-disk detach -g MyResourceGroup --vm-name MyVm -n disk_name
Program PowerShell
Wprowadź następujące polecenia w usłudze Azure Cloud Shell, po jednym naraz:
$VirtualMachine = Get-AzVM -ResourceGroupName "MyResourceGroup" -Name "MyVm" Remove-AzVMDataDisk -VM $VirtualMachine -Name "disk_name" Update-AzVM -ResourceGroupName "MyResourceGroup" -VM $VirtualMachine
Po odłączeniu dysku możesz zastąpić dysk systemu operacyjnego na źródłowej maszynie wirtualnej.
Po powrocie monitu otwórz edytor tekstów, taki jak Notatnik, i zapisz następujące wartości:
- Identyfikator subskrypcji ($subscriptionID): 32-cyfrowy unikatowy identyfikator globalny (GUID) skojarzony z subskrypcją platformy Azure.
- Nazwa grupy zasobów ($rgname): grupa zasobów źródłowej maszyny wirtualnej.
- Nazwa maszyny wirtualnej ($vmname): nazwa źródłowej (nieudanej) maszyny wirtualnej.
- Identyfikator URI dysku VHD dysku systemu operacyjnego ($vhduri): identyfikator URI kopii niezarządzanego dysku systemu operacyjnego, który został właśnie odłączony od naprawy maszyny wirtualnej. (Tę wartość można skopiować, klikając prawym przyciskiem myszy dysk w Eksplorator usługi Storage, a następnie wybierając polecenie Kopiuj adres URL).
Wprowadź następujące polecenia w wierszu polecenia programu PowerShell w usłudze Azure Cloud Shell pojedynczo. W każdym poleceniu zastąp wartości "Identyfikator subskrypcji", "Nazwa grupy zasobów", "Nazwa maszyny wirtualnej" i "Identyfikator URI dysku VHD dysku systemu operacyjnego" odpowiednimi wartościami, które zostały właśnie zarejestrowane w danym środowisku.
$subscriptionID = "Subscription ID" $rgname = "Resource group name" $vmname = "VM Name" $vhduri = "OS disk VHD URI" #Add-AzAccount Select-AzSubscription -SubscriptionID $subscriptionID Set-AzContext -SubscriptionID $subscriptionID $vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname $vm.StorageProfile.OsDisk.Vhd.Uri = $vhduri Update-AzVM -ResourceGroupName $rgname -VM $vm
Po zakończeniu operacji powinny zostać wyświetlone następujące dane wyjściowe:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
W witrynie Azure Portal otwórz blok Dyski na maszynie wirtualnej. Wybierz dysk systemu operacyjnego, a następnie sprawdź, czy identyfikator URI dysku VHD jest zgodny z wartością podaną w ostatnim kroku.
Następne kroki
Aby zapoznać się z omówieniem usługi ADE, zobacz Włączanie usługi Azure Disk Encryption dla maszyn wirtualnych z systemem Windows. Aby uzyskać więcej informacji na temat poleceń, których można użyć do zarządzania dyskami niezarządzanych, zobacz az vm unmanaged-disk.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.