Naprawianie maszyny wirtualnej z systemem Windows przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure

Jeśli maszyna wirtualna z systemem Windows na platformie Azure napotka błąd rozruchu lub dysku, może być konieczne naprawienie dysku w trybie offline. Typowym przykładem może być nieudana aktualizacja aplikacji, która uniemożliwia pomyślne uruchomienie maszyny wirtualnej. W tym artykule opisano sposób używania poleceń naprawy maszyn wirtualnych platformy Azure do automatycznego dołączania uszkodzonego dysku systemu operacyjnego do innej maszyny wirtualnej z systemem Windows w celu naprawy w trybie offline. Dzięki tej procedurze uszkodzony dysk systemu operacyjnego zostanie automatycznie odblokowany na drugiej maszynie wirtualnej, nazywanej naprawczą maszyną wirtualną, jeśli dysk jest szyfrowany za pomocą usługi Azure Disk Encryption. Po dołączeniu dysku zakończonego niepowodzeniem do maszyny wirtualnej naprawy można naprawić wszelkie błędy, a następnie ponownie skompilować oryginalną maszynę wirtualną za pomocą naprawionego dysku.

Ważna

  • Skrypty w tym artykule dotyczą tylko maszyn wirtualnych korzystających z usługi Azure Resource Manager.
  • Do uruchomienia skryptu jest wymagana łączność wychodząca z maszyny wirtualnej (port 443).
  • Jednocześnie może być uruchamiany tylko jeden skrypt.
  • Nie można anulować uruchomionego skryptu.
  • Maksymalny czas uruchamiania skryptu wynosi 90 minut, po czym upłynął limit czasu.
  • Nie modyfikuj tagów utworzonych na maszynie wirtualnej naprawy. Tagi są niezbędne do poprawnego działania polecenia przywracania.
  • W przypadku maszyn wirtualnych korzystających z usługi Azure Disk Encryption obsługiwane są tylko dyski zarządzane zaszyfrowane za pomocą szyfrowania z pojedynczym przekazywaniem (z kluczem KEK lub bez).

Omówienie procesu naprawy

Teraz możesz użyć poleceń naprawy maszyny wirtualnej platformy Azure, aby zmienić dysk systemu operacyjnego dla maszyny wirtualnej i nie trzeba już usuwać i ponownie tworzyć maszyny wirtualnej.

Wykonaj następujące kroki, aby rozwiązać problem z maszyną wirtualną:

  1. Uruchamianie usługi Azure Cloud Shell
  2. Uruchom polecenie az extension add/update.
  3. Uruchom polecenie az vm repair create.
  4. Uruchom polecenie az vm repair run lub wykonaj kroki ograniczania ryzyka.
  5. Uruchom polecenie az vm repair restore.

Aby wyświetlić wszystkie dostępne polecenia i parametry naprawy maszyny wirtualnej, zobacz az vm repair.

Do uruchomienia poleceń potrzebna jest rola, która może tworzyć następujące typy zasobów w subskrypcji:

  • Grupy zasobów
  • Maszyny wirtualne
  • Tagi zasobów
  • Sieci wirtualne
  • Sieciowe grupy zabezpieczeń
  • Interfejsy sieciowe
  • Dysków
  • Publiczne adresy IP (opcjonalnie)

Przykład procesu naprawy

  1. Uruchamianie usługi Azure Cloud Shell

    Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, która umożliwia wykonanie kroków opisanych w tym artykule. Obejmuje ono typowe narzędzia platformy Azure wstępnie zainstalowane i skonfigurowane do użycia z twoim kontem. Jeśli uruchomisz skrypt, który potrwa dłużej niż 20 minut (na przykład: skrypt win-sfc-sf-corruption ), możesz chcieć uruchomić polecenia lokalnie. Aby uruchamiać polecenia lokalnie, wymagany jest interfejs wiersza polecenia platformy Azure w wersji 2.0.67 lub nowszej. Uruchom polecenie az --version , aby znaleźć wersję. Jeśli musisz zainstalować lub uaktualnić interfejs wiersza polecenia platformy Azure, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

    Aby otworzyć Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również otworzyć Cloud Shell na osobnej karcie przeglądarki, odwiedzając stronę https://shell.azure.com.

    Wybierz pozycję Kopiuj, aby skopiować bloki kodu, a następnie wklej kod do Cloud Shell i wybierz pozycję Enter, aby go uruchomić.

    Jeśli wolisz zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten przewodnik Szybki start wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0.67 lub nowszej. Uruchom polecenie az --version , aby znaleźć wersję. Jeśli musisz zainstalować lub uaktualnić interfejs wiersza polecenia platformy Azure, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

    Jeśli musisz zalogować się, aby Cloud Shell przy użyciu innego konta niż obecnie zalogowano się do Azure Portal, możesz użyć polecenia az loginaz login reference. Aby przełączyć się między subskrypcjami skojarzonymi z kontem, możesz użyć polecenia az account set --subscriptionaz account set reference.

  2. Jeśli po raz pierwszy użyto poleceń, dodaj rozszerzenie interfejsu az vm repair wiersza polecenia naprawy maszyny wirtualnej.

    az extension add -n vm-repair
    

    Jeśli wcześniej były używane az vm repair polecenia, zastosuj wszelkie aktualizacje do rozszerzenia vm-repair.

    az extension update -n vm-repair
    
  3. Uruchom az vm repair create. To polecenie spowoduje utworzenie kopii dysku systemu operacyjnego dla nie funkcjonalnej maszyny wirtualnej, utworzenie naprawy maszyny wirtualnej w nowej grupie zasobów i dołączenie kopii dysku systemu operacyjnego. Naprawa maszyny wirtualnej będzie mieć taki sam rozmiar i region jak określona nie funkcjonalna maszyna wirtualna. Nazwa grupy zasobów i maszyny wirtualnej użyta we wszystkich krokach będzie dotyczyć nie funkcjonalnej maszyny wirtualnej. Jeśli maszyna wirtualna korzysta z usługi Azure Disk Encryption, użyj polecenia --unlock-encrypted-vm , aby odblokować zaszyfrowany dysk, aby był dostępny po dołączeniu do naprawy maszyny wirtualnej. Aby uzyskać więcej informacji, zobacz potwierdzanie, że na dysku jest włączona usługa ADE. Jeśli musisz rozwiązać problemy z maszyną wirtualną w zagnieżdżonym środowisku funkcji Hyper-V, użyj polecenia --enable-nested i napraw maszynę wirtualną utworzoną z włączoną rolą funkcji Hyper-V wraz z zagnieżdżoną maszyną wirtualną przy użyciu kopii dysku systemu operacyjnego.

Ważna

Polecenia uruchamiania i przywracania będą wymagały wprowadzenia wszystkich danych wejściowych przy użyciu tego samego przypadku, co w poleceniu create, zanotuj lub zapoznaj się z tagami na naprawczej maszynie wirtualnej, aby zobaczyć, co zostało użyte.

Przykład naprawy maszyny wirtualnej

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --verbose

Napraw maszynę wirtualną za pomocą zagnieżdżonego przykładu funkcji Hyper-V

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --enable-nested --verbose
  1. Uruchom az vm repair run. To polecenie spowoduje uruchomienie określonego skryptu naprawy na dołączonym dysku za pośrednictwem maszyny wirtualnej naprawy. Jeśli używany przewodnik rozwiązywania problemów zawiera określony identyfikator przebiegu, użyj go tutaj. W przeciwnym razie możesz użyć polecenia az vm repair list-scripts , aby wyświetlić dostępne skrypty naprawy. Użyta tutaj nazwa grupy zasobów i maszyny wirtualnej są przeznaczone dla nie funkcjonalnej maszyny wirtualnej używanej w kroku 3. Dodatkowe informacje o skryptach naprawy można znaleźć w bibliotece skryptów naprawy.

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id win-hello-world --verbose
    

    Opcjonalnie można wykonać wszelkie wymagane kroki ręcznego ograniczania ryzyka przy użyciu maszyny wirtualnej naprawy, a następnie przejść do kroku 5.

  2. Uruchom az vm repair restore. To polecenie spowoduje zamianę naprawionego dysku systemu operacyjnego na oryginalny dysk systemu operacyjnego maszyny wirtualnej. Użyta tutaj nazwa grupy zasobów i maszyny wirtualnej są przeznaczone dla nie funkcjonalnej maszyny wirtualnej używanej w kroku 3.

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

Weryfikowanie i włączanie diagnostyki rozruchu

Poniższy przykład umożliwia rozszerzenie diagnostyczne na maszynie wirtualnej o nazwie myVMDeployed w grupie zasobów o nazwie myResourceGroup:

Interfejs wiersza polecenia platformy Azure

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

Następne kroki

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 platformy Azure.