Naprawianie maszyny wirtualnej z systemem Linux za pomocą usługi Azure Linux Auto Repair (ALAR)
Dotyczy: ✔️ maszyny wirtualne z systemem Linux
Przy następnym uruchomieniu naprawy na maszynie wirtualnej z systemem Linux platformy Azure możesz zautomatyzować zadanie, umieszczając skrypty automatycznej naprawy systemu Linux (ALAR) platformy Azure, aby działały. 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 temacie Naprawianie maszyny wirtualnej z systemem Linux przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure.
Usługa ALAR obejmuje następujące scenariusze naprawy:
- Błędnie sformułowany /etc/fstab składni brak dysku
- Uszkodzony initrd lub brak wiersza initrd w /boot/grub/grub.cfg
- Ostatnio zainstalowane jądro nie jest możliwe do rozruchu
- Konsola szeregowa i szeregowy GRUB są niepoprawnie skonfigurowane lub brakuje
- Instalacja lub konfiguracja PROGRAMU GRUB/EFI została uszkodzona
Akcje ALAR
fstab
Ta akcja usuwa wszystkie wiersze w pliku /etc/fstab , które nie są potrzebne do rozruchu systemu. Najpierw kopia oryginalnego pliku jest nawiązywana do odwołania. Po uruchomieniu systemu operacyjnego administrator może edytować plik fstab, aby poprawić wszelkie błędy, które nie zezwalały na ponowne uruchomienie systemu przed.
Aby uzyskać więcej informacji na temat problemów z źle sformułowanym plikiem /etc/fstab , zobacz Rozwiązywanie problemów z uruchamianiem maszyny wirtualnej z systemem Linux, ponieważ błędy fstab.
jądro
Ta akcja zmienia domyślne jądro. Skrypt zastępuje uszkodzone jądro poprzednio zainstalowaną wersją.
Aby uzyskać więcej informacji na temat komunikatów, które mogą być rejestrowane w konsoli szeregowej dla zdarzeń uruchamiania związanych z jądrem, zobacz Jak odzyskać maszynę wirtualną z systemem Linux platformy Azure z powodu problemów z rozruchem powiązanym z jądrem.
initrd
Tej akcji można użyć do naprawienia 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 initrd mogą pojawić się 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 niepoprawną lub źle sformułowaną konfigurację konsoli szeregowej dla jądra systemu Linux lub 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 ponownej instalacji programu 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 jest również ponownie wygenerowany.
poddane inspekcji
Jeśli maszyna wirtualna zostanie natychmiast zamknięta po uruchomieniu ze względu na konfigurację demona inspekcji, użyj tej akcji. Ta akcja modyfikuje konfigurację demona inspekcji (w pliku /etc/auditd.conf ), zmieniając HALT
wartość skonfigurowaną dla dowolnych action
parametrów na SYSLOG
, co nie wymusza zamknięcia systemu. W środowisku Menedżera woluminów logicznych (LVM), jeśli wolumin logiczny zawierający dzienniki inspekcji jest pełny i jest dostępne miejsce w grupie woluminów, 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, zostanie zmieniony tylko plik konfiguracji.
Ważne
Ta akcja spowoduje zmianę stanu zabezpieczeń maszyny wirtualnej przez zmianę konfiguracji demona inspekcji, aby można było rozwiązać problem z zamykaniem maszyny wirtualnej. Po uruchomieniu i udostępnieniu maszyny wirtualnej należy przywrócić konfigurację demona inspekcji do oryginalnego stanu. W tym celu kopia zapasowa pliku auditd.conf jest tworzona w pliku /etc/audit przez akcję ALAR.
Jak używać usługi ALAR
Skrypty ALAR używają polecenia naprawy rozszerzenia run
i jego --run-id
opcji. Wartość --run-id
opcji automatycznego odzyskiwania to linux-alar2
. Aby naprawić maszynę wirtualną z systemem Linux przy użyciu skryptu usługi 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 ratowniczej:
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 16.
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 witrynie Azure Portal.RESCUE-PASS
: hasło dlaRESCUE-UID
elementu , ujęte w pojedynczy cudzysłów. Na przykład:'password!234'
.DISK-COPY
: nazwa kopii dysku systemu operacyjnego, która zostanie utworzona na podstawie uszkodzonej maszyny wirtualnej.ACTION
: zadanie skryptowe do uruchomienia, takie jakinitrd
lubfstab
.Uwaga 16.
Możesz przekazać pojedyncze lub wiele operacji odzyskiwania. W przypadku wielu operacji należy je rozdzielić przecinkami bez spacji, takich jak
fstab,initrd
.
Ograniczenie
Klasyczne maszyny wirtualne nie są obsługiwane.
Następne kroki
Jeśli wystąpi błąd lub chcesz zażądać ulepszenia 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 na temat platformy Azure.