Felsöka problem med start av virtuella Azure Linux-datorer på grund av fullständig OS-disk
Gäller för: ✔️ Virtuella Linux-datorer
Under vissa omständigheter och konfigurationer kan en fullständig operativsystemdisk (OS) leda till startproblem med virtuella Azure Linux-datorer . Den här artikeln innehåller några orsaker och lösningar på startproblemen.
Symptom
Om operativsystemdisken eller kritiska systempartitioner blir fulla under normala systemåtgärder kan följande problem uppstå:
- En virtuell dator stängs oväntat av.
- En virtuell dator startas inte.
Förutsättningar
För att felsöka startproblemen och slutföra systemreparationer bör följande krav uppfyllas:
Behörigheter för att skapa en diskögonblicksbild eller använda några säkerhetskopierings- och återställningsverktyg.
I den här artikeln ändras data eller diskar, så att kunna återställa den virtuella datorn till ett tidigare tillstånd är en viktig komponent i säker systemadministration.
Startdiagnostik som är aktiverad och konfigurerad.
Med den här konfigurationen på plats kan du granska lagringen av konsolloggen i framtiden och interagera med den virtuella datorns seriekonsolgränssnitt.
Behörigheter för att skapa en virtuell dator om en virtuell räddningsdator behövs när som helst.
Behörigheter för att skapa, koppla från och ansluta diskar om det krävs byte av diskar.
Kommentar
Alla krav gäller inte för följande scenarier.
Scenario 1: Den virtuella datorn stängs oväntat av och kan inte startas
Många metoder för säkerhetshärdning kan leda till problem med att underhålla system. Om ett fel uppstår när du skriver till granskningsloggen kräver en vanlig konfiguration att systemet stängs av omedelbart. Gör följande för att kontrollera om det här scenariot är orsaken till en systemavstängning:
Kontrollera systemavstängningsmeddelandena i seriekonsolloggen.
Om systemet startas startar en "Starta säkerhetsgranskningstjänst..." meddelandet visas. Det här meddelandet anger inte att tjänsten startades. I stället övergår den virtuella datorn omedelbart till att stängas av och meddelandet "Power down" visas. Om systemet körs och oväntat stängs av kan seriekonsolen visa en ordnad avstängningsprocess som slutar med ett "Power down"-meddelande. Se följande skärmbilder som exempel:
Montera OS-disken med hjälp av az vm repair-kommandon , en manuell återställnings-VM eller enanvändarläge. Granska sedan diskanvändningen
df
med hjälp av kommandoradsverktyget och kontrollera om disken som innehåller katalogen /var/log/audit är nära 100 % användning.Få åtkomst till OS-filsystemet med hjälp av az vm repair-kommandon , en manuell återställnings-VM eller ett enskilt användarläge och kontrollera om filen /etc/audit/auditd.conf innehåller följande konfigurationer:
[root@linux /]# grep action /etc/audit/auditd.conf admin_space_left_action = HALT disk_full_action = HALT disk_error_action = HALT
Lösning: Inaktivera HALT-konfiguration tillfälligt
Kommentar
Om den här lösningen inte fungerar eller inte är lämplig för din miljö går du till avsnittet Lösning .
Om den granskade konfigurationen orsakar systemavstängning vid fel i granskningsloggen inaktiverar du tillfälligt konfigurationen HALT
så att den virtuella datorn kan starta till det fullständiga operativsystemet för reparation.
Du kan åtgärda det här vanliga granskningsproblemet az vm repair
och flera andra vanliga problem genom att köra tillägget automatiskt i Azure CLI med hjälp av den granskade åtgärden i ALAR-verktyget (Azure Linux Automatic Repair). Följ dessa steg för att göra samma procedur manuellt:
Ta en ögonblicksbild av OS-disken för att tillhandahålla ett återställningstillstånd.
Få åtkomst till konfigurationsfilen med hjälp av az vm repair-kommandon , en manuell återställnings-VM eller enanvändarläge.
Anteckna den aktuella konfigurationen eftersom det kanske inte finns utrymme för att säkerhetskopiera filen på den virtuella datorn.
Ändra tidigare konfigurationer i filen /etc/audit/auditd.conf från
HALT
till ett annat giltigt värde förutomSINGLE
. I det här scenariot kan värdena varaIGNORE
,SUSPEND
eller andra värden som anges på Linux-sidanman
för filen auditd.conf , vilket ger lämpliga parametrar för de versioner av programvara som används på den virtuella datorn.[root@linux /]# grep action /etc/audit/auditd.conf admin_space_left_action = SUSPEND disk_full_action = SUSPEND disk_error_action = SUSPEND
Om du använder en virtuell återställningsdator följer du anvisningarna i Demontera och koppla från den ursprungliga virtuella hårddisken för att växla tillbaka OS-disken till den problematiska virtuella datorn och försök starta den virtuella datorn normalt. Om du använder enanvändarläge avslutar du och startar om den virtuella datorn.
När den virtuella datorn har startats helt bläddrar du i filsystemet och frigör utrymme med hjälp av kommandoradsverktyg som
df
ochdu
. Cirka 10 % av filsystemet som innehåller katalogen /var/log/audit bör vara ett bra första mål.
När problemet har lösts återställer du innehållet i filen /etc/audit/auditd.conf till sina ursprungliga värden och startar om den virtuella datorn.
Scenario 2: VM-disken ändras i Azure, men operativsystemet kan inte ändras och den virtuella datorn startas inte helt
När en fullständig disk har identifierats och den virtuella datorn har stängts av för att ändra storlek på OS-disken kanske den virtuella datorn inte startar korrekt. Det här scenariot kan vara förvirrande för vissa distributioner där operativsystemet försöker ändra storlek på rotfilsystemet (/
) automatiskt vid omstart. Om disken är full kan storleksändringsåtgärden misslyckas eftersom processen kräver lite ledigt utrymme för att expandera filsystemet. Om du inte har något ledigt utrymme kan det leda till att cloud-init misslyckas och att den virtuella datorn inte slutför starten.
Om du vill identifiera det här problemet granskar du startloggarna i seriekonsolen och kontrollerar om rader som liknar följande text finns:
[ 15.384699] cloud-init[1142]: OSError: [Errno 28] No space left on device
[ 15.384742] cloud-init[1142]: Original exception was:
[ 15.384784] cloud-init[1142]: OSError: [Errno 28] No space left on device
Eftersom de specifika cloud-init-meddelandena kanske inte är det mest synliga meddelandet som returneras letar du efter andra rader som innehåller texten "[Errno 28] Inget utrymme kvar på enheten" eller liknande meddelanden om "inget utrymme".
Lös problemet genom att rensa onödiga data för att frigöra en liten mängd diskutrymme och sedan expandera filsystemet.
Scenario 3: Den virtuella datorn startar men är inte tillgänglig på grund av tjänstfel
En virtuell dator som verkar starta helt kan ha följande problem:
- Tjänstproblem uppstår under starten.
- Azure-agenten kanske inte visas tillgänglig.
- Anslutningar till den virtuella datorn kan misslyckas.
- Den virtuella datorn kan verka vara offline enligt program.
Under starten indikerar flera meddelanden som "[Errno 28] Inget utrymme kvar på enheten" eller andra typer av meddelanden att rotfilsystemet är fullt.
Om en virtuell dator startar men verkar otillgänglig kontrollerar du serieloggen i startdiagnostiken för att visa startmeddelandena eller använder seriekonsolen för att interagera med den virtuella datorn. Om utrymmet är otillräckligt rensar du onödiga data för att frigöra utrymme eller expandera diskarna.
Om konsolloggen innehåller många meddelanden som anger "ERROR ExtHandler /proc/net/route contains no routes" kan en fullständig OS-disk också vara orsaken, eftersom nätverkstjänsterna inte kan starta helt.
Åtgärd
Följande lösningar gäller för något av de tidigare scenarierna.
Lösning 1: Rensa onödiga data
Få åtkomst till OS-diskar och partitioner med hjälp av az vm repair-kommandon , en manuell återställnings-VM eller enanvändarläge, eftersom systemet inte startar normalt.
Identifiera stora filer och kataloger med hjälp av vanliga Linux-verktyg och -kommandon:
du -ks /* | sort -n
– Leta upp de mest utrymmeskrävande filerna eller katalogerna på en plats. Upprepa i den största rapporterade katalogen tills vissa stora data har upptäckts.ls -altSr /var/log
- Lista innehållet i en katalog, sorterad efter storlek, i stigande ordning.find / -size +500M -exec ls -alFh {} \;
– Hitta stora enskilda filer. Justera värdet500M
till flera megabyte eller gigabyte efter behov för att hitta de mest effektiva filerna att rensa.
Ta bort alla filer som kan identifieras som onödiga, till exempel gamla loggar, bortglömda säkerhetskopior och liknande filer.
När en lämplig mängd utrymme har rensats kan du rikta in dig på cirka 10 % ledigt diskutrymme och starta om systemet.
Lösning 2: Expandera OS-filsystemet
Om inga data kan rensas från OS-filsystemet rekommenderar vi att du expanderar disken som innehåller de kritiska OS-volymerna. Mer information finns i Expandera virtuella hårddiskar på en virtuell Linux-dator.
Nästa steg
Om det specifika startfelet inte är ett Linux-startproblem på grund av en fullständig OS-disk kan du läsa Felsöka startfel för virtuella Azure Linux-datorer för ytterligare felsökning.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.