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:
- Zatrzymaj maszynę wirtualną, na która dotyczy problem.
- Wykonaj migawkę dysku systemu operacyjnego maszyny wirtualnej.
- Utwórz wirtualny dysk twardy na podstawie migawki.
- Dołącz i zainstaluj wirtualny dysk twardy na innej maszynie wirtualnej z systemem Linux w celu rozwiązywania problemów.
- 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.
- Odinstaluj i odłącz wirtualny dysk twardy od maszyny wirtualnej rozwiązywania problemów.
- 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/fstab
programie 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:
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:
Przejdź do Azure Portal. Wybierz pozycję Maszyny wirtualne na pasku bocznym, a następnie wybierz maszynę wirtualną, która ma problem.
W okienku po lewej stronie wybierz pozycję Dyski, a następnie wybierz nazwę dysku systemu operacyjnego.
Na stronie Przegląd dysku systemu operacyjnego, a następnie wybierz pozycję Utwórz migawkę.
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:
Wybierz pozycję Cloud Shell z Azure Portal.
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
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:
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:
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).
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.
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 poleceniadmseg
, 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/sde
i tak dalej.Utwórz katalog, aby zainstalować istniejący wirtualny dysk twardy. Poniższy przykład tworzy katalog o nazwie
troubleshootingdisk
:sudo mkdir /mnt/troubleshootingdisk
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.
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
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:
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.
Przejdź do Azure Portal. Wybierz pozycję Maszyny wirtualne na pasku bocznym, a następnie wybierz maszynę wirtualną, która ma problem.
W okienku po lewej stronie wybierz pozycję Dyski, a następnie wybierz pozycję Zamień dysk systemu operacyjnego.
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.
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.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla