Naprawianie maszyny wirtualnej z systemem Linux przy użyciu usługi Azure Linux Auto Repair (ALAR)
Przy następnym uruchomieniu naprawy maszyny wirtualnej platformy Azure z systemem Linux można zautomatyzować zadanie, umieszczając skrypty automatycznej naprawy systemu Azure Linux (ALAR). Nie trzeba już uruchamiać zadania ręcznie. Te skrypty upraszczają proces odzyskiwania i umożliwiają nawet niedoświadczonym użytkownikom łatwe odzyskiwanie maszyny wirtualnej z systemem Linux.
Usługa ALAR korzysta z rozszerzenia naprawy maszyny wirtualnej opisanego w artykule Naprawianie maszyny wirtualnej z systemem Linux przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure.
ALAR obejmuje następujące scenariusze naprawy:
- Źle sformułowany błąd składni /etc/fstab brakuje dysku
- Uszkodzony initrd lub brak linii initrd w /boot/grub/grub.cfg
- Ostatnio zainstalowane jądro nie jest możliwe do rozruchu
- Konsola szeregowa i serial GRUB są niepoprawnie skonfigurowane lub brakuje ich
- Instalacja lub konfiguracja PROGRAMU GRUB/EFI została uszkodzona
Akcje ALAR
Fstab
Ta akcja usuwa wszelkie wiersze w pliku /etc/fstab , które nie są potrzebne do rozruchu systemu. Najpierw do odwołania jest wykonywana kopia oryginalnego pliku. Po uruchomieniu systemu operacyjnego administrator może edytować kartę fstab, aby naprawić wszelkie błędy, które wcześniej nie zezwalają na ponowne uruchomienie systemu.
Aby uzyskać więcej informacji o problemach z źle sformułowanym plikiem /etc/fstab , zobacz Rozwiązywanie problemów z uruchamianiem maszyny wirtualnej z systemem Linux z powodu błędów fstab.
Jądra
Ta akcja zmienia domyślne jądro. Skrypt zastępuje uszkodzone jądro poprzednio zainstalowaną wersją.
Aby uzyskać więcej informacji o komunikatach, które mogą być rejestrowane w konsoli szeregowej w przypadku zdarzeń uruchamiania związanych z jądrem, zobacz Jak odzyskać maszynę wirtualną platformy Azure z systemem Linux z powodu problemów z rozruchem związanym z jądrem.
Initrd
Ta akcja może służyć do naprawy initrd lub initramfs, który jest uszkodzony lub niepoprawnie utworzony.
Aby poprawnie utworzyć initrd lub initramfs, dodaj moduły hv_vmbus
, hv_netvsc
i hv_storvsc
do obrazu.
Problemy z uruchamianiem związane z initrdem mogą być wyświetlane jako następujące zarejestrowane objawy.
W obu przypadkach następujące informacje są rejestrowane przed zarejestrowaniem wpisów błędu.
serialconsole
Ta akcja poprawia nieprawidłową lub źle sformułowaną konfigurację konsoli szeregowej dla jądra systemu Linux lub narzędzia GRUB. Zalecamy uruchomienie tej akcji w następujących przypadkach:
- Podczas uruchamiania maszyny wirtualnej nie jest wyświetlane menu GRUB.
- Żadne informacje dotyczące systemu operacyjnego nie są zapisywane w konsoli szeregowej.
grubfix
Tej akcji można użyć do ponownego zainstalowania narzędzia GRUB i ponownego wygenerowania pliku grub.cfg .
efifix
Tej akcji można użyć do ponownego zainstalowania wymaganego oprogramowania do rozruchu z maszyny wirtualnej GEN2. Plik grub.cfg również jest ponownie generowany.
z inspekcją
Jeśli maszyna wirtualna zostanie zamknięta natychmiast po uruchomieniu z powodu konfiguracji demona inspekcji, użyj tej akcji. Ta akcja modyfikuje konfigurację demona inspekcji (w pliku /etc/audit/auditd.conf ), zmieniając HALT
wartość skonfigurowaną dla żadnych action
parametrów na SYSLOG
, co nie wymusza zamknięcia systemu. Jeśli w środowisku Menedżera woluminów logicznych (LVM) wolumin logiczny zawierający dzienniki inspekcji jest pełny i w grupie woluminów jest dostępne miejsce, wolumin logiczny zostanie również rozszerzony o 10% bieżącego rozmiaru. Jeśli jednak nie używasz środowiska LVM lub nie ma dostępnego miejsca, zmieniany jest tylko plik konfiguracji.
Jak używać usługi ALAR
Skrypty ALAR używają polecenia rozszerzenia run
naprawy i jego --run-id
opcji. Wartość opcji automatycznego --run-id
odzyskiwania to linux-alar2
. Aby naprawić maszynę wirtualną z systemem Linux przy użyciu skryptu ALAR, wykonaj następujące kroki:
Tworzenie maszyny wirtualnej ratowniczej:
az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
Uruchom skrypt z jedną z akcji ALAR na maszynie wirtualnej ratunkowej:
az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
Zamień dyski systemu operacyjnego i usuń zasoby tymczasowe:
az vm repair restore --verbose -g RG-NAME -n VM-NAME
Uwaga
Oryginalne i nowe dyski nie zostaną usunięte.
Poniżej przedstawiono wyjaśnienia parametrów w powyższych poleceniach:
RG-NAME
: nazwa grupy zasobów zawierającej uszkodzoną maszynę wirtualną.VM-NAME
: nazwa uszkodzonej maszyny wirtualnej.RESCUE-UID
: użytkownik utworzony na maszynie wirtualnej naprawy na potrzeby logowania. Jest to odpowiednik użytkownika utworzonego na nowej maszynie wirtualnej w Azure Portal.RESCUE-PASS
: hasło dlaRESCUE-UID
elementu , ujęte w pojedyncze cudzysłowy. Przykład:'password!234'
.DISK-COPY
: nazwa kopii dysku systemu operacyjnego, która zostanie utworzona z uszkodzonej maszyny wirtualnej.ACTION
: zadanie skryptowe do uruchomienia, takie jakinitrd
lubfstab
.Uwaga
Możesz przekazać pojedyncze lub wiele operacji odzyskiwania. W przypadku wielu operacji wytycz je przy użyciu przecinków bez spacji, takich jak
fstab,initrd
.
Ograniczenie
Klasyczne maszyny wirtualne nie są obsługiwane.
Następne kroki
Jeśli wystąpi usterka lub chcesz zażądać rozszerzenia narzędzia ALAR, opublikuj komentarz w witrynie GitHub.
Najnowsze informacje o narzędziu ALAR można również znaleźć w witrynie GitHub.
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