Rozwiązywanie problemów z maszyną wirtualną z systemem Linux przez dołączenie dysku systemu operacyjnego do maszyny wirtualnej odzyskiwania przy użyciu Azure Portal

Jeśli maszyna wirtualna z systemem Linux napotka błąd rozruchu lub dysku, może być konieczne wykonanie kroków rozwiązywania problemów na samym wirtualnym dysku twardym. Typowym przykładem może być nieprawidłowy wpis, /etc/fstab który uniemożliwia maszynie wirtualnej pomyślne uruchomienie. W tym artykule opisano sposób używania Azure Portal do łączenia wirtualnego dysku twardego z inną maszyną wirtualną z systemem Linux w celu naprawienia błędów, a następnie ponownego utworzenia oryginalnej maszyny wirtualnej.

Omówienie procesu odzyskiwania

Proces rozwiązywania problemów wygląda następująco:

  1. Zatrzymaj maszynę wirtualną, na która dotyczy problem.
  2. Wykonaj migawkę dysku systemu operacyjnego maszyny wirtualnej.
  3. Utwórz wirtualny dysk twardy na podstawie migawki.
  4. Dołącz i zainstaluj wirtualny dysk twardy na innej maszynie wirtualnej z systemem Linux w celu rozwiązywania problemów.
  5. Połącz się z maszyną wirtualną rozwiązywania problemów. Edytuj pliki lub uruchom dowolne narzędzia, aby rozwiązać problemy z oryginalnym wirtualnym dyskiem twardym.
  6. Odinstaluj i odłącz wirtualny dysk twardy od maszyny wirtualnej rozwiązywania problemów.
  7. Zamień dysk systemu operacyjnego na maszynę wirtualną.

Uwaga

Ten artykuł nie dotyczy maszyny wirtualnej z dyskiem niezarządzanym. Aby uzyskać zaszyfrowany dysk z systemem Linux, zobacz Unlocking an encrypted Linux disk for offline repair (Odblokowywanie zaszyfrowanego dysku z systemem Linux na potrzeby naprawy w trybie offline).

Określanie problemów z rozruchem

Sprawdź diagnostykę rozruchu i zrzut ekranu maszyny wirtualnej, aby ustalić, dlaczego maszyna wirtualna nie może poprawnie uruchomić maszyny wirtualnej. Typowym przykładem może być nieprawidłowy wpis w /etc/fstabprogramie lub podstawowy wirtualny dysk twardy, który jest usuwany lub przenoszony.

Wybierz maszynę wirtualną w portalu, a następnie przewiń w dół do sekcji Pomoc techniczna i rozwiązywanie problemów . Kliknij pozycję Diagnostyka rozruchu , aby wyświetlić komunikaty konsoli przesyłane strumieniowo z maszyny wirtualnej. Przejrzyj dzienniki konsoli, aby sprawdzić, czy można określić, dlaczego maszyna wirtualna napotyka problem. W poniższym przykładzie pokazano maszynę wirtualną zablokowaną w trybie konserwacji, która wymaga ręcznej interakcji:

Zrzut ekranu przedstawiający wyświetlanie dzienników konsoli diagnostyki rozruchu maszyny wirtualnej.

Możesz również kliknąć pozycję Zrzut ekranu w górnej części dziennika diagnostyki rozruchu, aby pobrać przechwytywanie zrzutu ekranu maszyny wirtualnej.

Tworzenie migawki dysku systemu operacyjnego

Migawka jest pełną kopią wirtualnego dysku twardego (VHD) tylko do odczytu. Zalecamy czyste zamknięcie maszyny wirtualnej przed utworzeniem migawki, aby wyczyścić wszystkie procesy, które są w toku. Aby utworzyć migawkę dysku systemu operacyjnego, wykonaj następujące kroki:

  1. Przejdź do Azure Portal. Wybierz pozycję Maszyny wirtualne na pasku bocznym, a następnie wybierz maszynę wirtualną, która ma problem.

  2. W okienku po lewej stronie wybierz pozycję Dyski, a następnie wybierz nazwę dysku systemu operacyjnego.

    Zrzut ekranu przedstawia nazwę dysku systemu operacyjnego.

  3. Na stronie Przegląd dysku systemu operacyjnego, a następnie wybierz pozycję Utwórz migawkę.

  4. Utwórz migawkę w tej samej lokalizacji co dysk systemu operacyjnego.

Tworzenie dysku na podstawie migawki

Aby utworzyć dysk na podstawie migawki, wykonaj następujące kroki:

  1. Wybierz pozycję Cloud Shell z Azure Portal.

    Zrzut ekranu przedstawiający przycisk Cloud Shell w Azure Portal.

  2. Uruchom następujące polecenia programu PowerShell, aby utworzyć dysk zarządzany na podstawie migawki. Te przykładowe nazwy należy zastąpić odpowiednimi nazwami.

    #Provide the name of your resource group
    $resourceGroupName ='myResourceGroup'
    
    #Provide the name of the snapshot that will be used to create Managed Disks
    $snapshotName = 'mySnapshot' 
    
    #Provide the name of theManaged Disk
    $diskName = 'newOSDisk'
    
    #Provide the size of the disks in GB. It should be greater than the VHD file size. In this sample, the size of the snapshot is 127 GB. So we set the disk size to 128 GB.
    $diskSize = '128'
    
    #Provide the storage type for Managed Disk. Premium_LRS or Standard_LRS.
    $storageType = 'Standard_LRS'
    
    #Provide the Azure region (e.g. westus) where Managed Disks will be located.
    #This location should be same as the snapshot location
    #Get all the Azure location using command below:
    #Get-AzLocation
    $location = 'westus'
    
    $snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName 
    
    $diskConfig = New-AzDiskConfig -AccountType $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id
    
    New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName
    
  3. Jeśli polecenia zostaną uruchomione pomyślnie, zostanie wyświetlony nowy dysk w podanej grupie zasobów.

Dołączanie dysku do innej maszyny wirtualnej

W kilku następnych krokach użyj innej maszyny wirtualnej do rozwiązywania problemów. Po dołączeniu dysku do maszyny wirtualnej rozwiązywania problemów możesz przeglądać i edytować zawartość dysku. Ten proces umożliwia poprawienie wszelkich błędów konfiguracji lub przejrzenie dodatkowych plików dziennika aplikacji lub systemu. Aby dołączyć dysk do innej maszyny wirtualnej, wykonaj następujące kroki:

  1. Wybierz grupę zasobów w portalu, a następnie wybierz maszynę wirtualną rozwiązywania problemów. Wybierz pozycję Dyski, wybierz pozycję Edytuj, a następnie kliknij pozycję Dodaj dysk danych:

    Zrzut ekranu przedstawiający opcję Dodaj dysk danych w Azure Portal.

  2. Na liście Dyski danych wybierz dysk systemu operacyjnego zidentyfikowanej maszyny wirtualnej. Jeśli nie widzisz dysku systemu operacyjnego, upewnij się, że rozwiązywanie problemów z maszyną wirtualną i dyskiem systemu operacyjnego znajduje się w tym samym regionie (lokalizacji).

  3. Wybierz pozycję Zapisz , aby zastosować zmiany.

Instalowanie dołączonego dysku danych

Uwaga

W poniższych przykładach szczegółowo opisano kroki wymagane na maszynie wirtualnej z systemem Ubuntu. Jeśli używasz innej dystrybucji systemu Linux, takiej jak Red Hat Enterprise Linux lub SUSE, lokalizacje plików dziennika i mount polecenia mogą być nieco inne. Zapoznaj się z dokumentacją określonej dystrybucji, aby uzyskać odpowiednie zmiany w poleceniach.

  1. SSH do maszyny wirtualnej rozwiązywania problemów przy użyciu odpowiednich poświadczeń. Jeśli ten dysk jest pierwszym dyskiem danych dołączonym do maszyny wirtualnej rozwiązywania problemów, prawdopodobnie jest połączony z usługą /dev/sdc. Użyj polecenia dmseg , aby wyświetlić listę dołączonych dysków:

    dmesg | grep SCSI
    

    Dane wyjściowe są podobne do następującego przykładu:

    [    0.294784] SCSI subsystem initialized
    [    0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    [    7.110271] sd 2:0:0:0: [sda] Attached SCSI disk
    [    8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk
    [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk
    

    W poprzednim przykładzie dysk systemu operacyjnego znajduje się w miejscu /dev/sda , a dysk tymczasowy dla każdej maszyny wirtualnej ma wartość /dev/sdb. Jeśli masz wiele dysków danych, powinny one być w /dev/sdd, /dev/sdei tak dalej.

  2. Utwórz katalog, aby zainstalować istniejący wirtualny dysk twardy. Poniższy przykład tworzy katalog o nazwie troubleshootingdisk:

    sudo mkdir /mnt/troubleshootingdisk
    
  3. Jeśli masz wiele partycji na istniejącym wirtualnym dysku twardym, zainstaluj wymaganą partycję. W poniższym przykładzie zainstalowano pierwszą partycję podstawową pod adresem /dev/sdc1:

    sudo mount /dev/sdc1 /mnt/troubleshootingdisk
    

    Uwaga

    Najlepszym rozwiązaniem jest instalowanie dysków danych na maszynach wirtualnych na platformie Azure przy użyciu uniwersalnie unikatowego identyfikatora (UUID) wirtualnego dysku twardego. W tym krótkim scenariuszu rozwiązywania problemów instalowanie wirtualnego dysku twardego przy użyciu identyfikatora UUID nie jest konieczne. Jednak w normalnym przypadku edytowanie /etc/fstab w celu zainstalowania wirtualnych dysków twardych przy użyciu nazwy urządzenia zamiast identyfikatora UUID może spowodować niepowodzenie rozruchu maszyny wirtualnej.

Rozwiązywanie problemów dotyczących oryginalnego wirtualnego dysku twardego

Po zainstalowaniu istniejącego wirtualnego dysku twardego można teraz wykonać dowolne kroki konserwacji i rozwiązywania problemów w razie potrzeby. Po rozwiązaniu problemów wykonaj następujące kroki.

Odinstaluj i odłącz oryginalny wirtualny dysk twardy

Po usunięciu błędów odłącz istniejący wirtualny dysk twardy od maszyny wirtualnej rozwiązywania problemów. Wirtualnego dysku twardego nie można używać z żadną inną maszyną wirtualną, dopóki nie zostanie wydana dzierżawa dołączania wirtualnego dysku twardego do maszyny wirtualnej rozwiązywania problemów.

  1. Od sesji SSH do maszyny wirtualnej rozwiązywania problemów odinstaluj istniejący wirtualny dysk twardy. Najpierw zmień katalog nadrzędny punktu instalacji:

    cd /
    

    Teraz odinstaluj istniejący wirtualny dysk twardy. Poniższy przykład odinstaluje urządzenie pod adresem /dev/sdc1:

    sudo umount /dev/sdc1
    
  2. Teraz odłącz wirtualny dysk twardy od maszyny wirtualnej. Wybierz maszynę wirtualną w portalu i kliknij pozycję Dyski. Wybierz istniejący wirtualny dysk twardy, a następnie kliknij przycisk Odłącz:

    Zrzut ekranu przedstawiający odłączanie wirtualnego dysku twardego od maszyny wirtualnej.

    Przed kontynuowaniem poczekaj, aż maszyna wirtualna pomyślnie odłączy dysk danych.

Zamiana dysku systemu operacyjnego na maszynę wirtualną

Azure Portal teraz obsługuje zmianę dysku systemu operacyjnego maszyny wirtualnej. Aby to zrobić, wykonaj następujące kroki.

  1. Przejdź do Azure Portal. Wybierz pozycję Maszyny wirtualne na pasku bocznym, a następnie wybierz maszynę wirtualną, która ma problem.

  2. W okienku po lewej stronie wybierz pozycję Dyski, a następnie wybierz pozycję Zamień dysk systemu operacyjnego.

    Zrzut ekranu przedstawiający opcję Zamień dysk O S na Azure Portal.

  3. Wybierz nowy dysk, który został naprawiony, a następnie wpisz nazwę maszyny wirtualnej, aby potwierdzić zmianę. Jeśli dysk nie jest widoczny na liście, poczekaj 10 ~ 15 minut po odłączeniu dysku od maszyny wirtualnej rozwiązywania problemów. Upewnij się również, że dysk znajduje się w tej samej lokalizacji co maszyna wirtualna.

  4. Wybierz przycisk OK.

Następne kroki

Jeśli masz problemy z nawiązywaniem połączenia z maszyną wirtualną, zobacz Rozwiązywanie problemów z połączeniami SSH z maszyną wirtualną platformy Azure. W przypadku problemów z uzyskiwaniem dostępu do aplikacji uruchomionych na maszynie wirtualnej zobacz Rozwiązywanie problemów z łącznością aplikacji na maszynie wirtualnej z systemem Linux.

Aby uzyskać więcej informacji na temat korzystania z Resource Manager, zobacz Omówienie usługi Azure Resource Manager.

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.