Delen via


De Seriële Console van Azure gebruiken voor SysRq- en NMI-aanroepen

Van toepassing op: ✔️ Virtuele Linux-machines

Systeemaanvraag (SysRq)

Een SysRq is een reeks sleutels die worden begrepen door de Linux-besturingssysteemkernel, die een set vooraf gedefinieerde acties kan activeren. Deze opdrachten worden vaak gebruikt wanneer problemen met virtuele machines of herstel niet kunnen worden uitgevoerd via traditioneel beheer (bijvoorbeeld als de virtuele machine niet reageert). Als u de SysRq-functie van de Seriële Console van Azure gebruikt, worden de SysRq-toets en tekens die zijn ingevoerd op een fysiek toetsenbord, nagebootst.

Zodra de SysRq-reeks is geleverd, bepaalt de kernelconfiguratie hoe het systeem reageert. Zie de markdown | van de SysRq-beheerdershandleiding voor informatie over het in- en uitschakelen van SysRq.

De Seriële Console van Azure kan worden gebruikt om een SysRq naar een virtuele Azure-machine te verzenden met behulp van het toetsenbordpictogram in de onderstaande opdrachtbalk.

Schermopname van de seriële Console van Azure. Het toetsenbordpictogram is gemarkeerd en het bijbehorende menu is zichtbaar. Dit menu bevat een Opdracht-item SysRq verzenden.

Als u 'Opdracht SysRq verzenden' kiest, wordt een dialoogvenster geopend dat algemene SysRq-opties biedt of een reeks SysRq-opdrachten accepteert die in het dialoogvenster zijn ingevoerd. Hierdoor kunnen reeksen SysRq's een bewerking op hoog niveau uitvoeren, zoals een veilig opnieuw opstarten met behulp van: REISUB.

Schermopname van het dialoogvenster SysRq-opdracht verzenden naar gast wanneer de ingevoerde sleuteloptie is geselecteerd en REISUB invoert in het onderstaande veld.

De SysRq-opdracht kan niet worden gebruikt op virtuele machines die zijn gestopt of waarvan de kernel een niet-responsieve status heeft. (bijvoorbeeld een kernel-paniek).

SysRq inschakelen

Zoals hierboven beschreven in de SysRq-beheerdershandleiding , kan SysRq zodanig worden geconfigureerd dat alle, geen of alleen bepaalde opdrachten beschikbaar zijn. U kunt alle SysRq-opdrachten inschakelen met behulp van de onderstaande stap, maar het zal niet overleven bij het opnieuw opstarten:

echo "1" >/proc/sys/kernel/sysrq

Als u de SysReq-configuratie permanent wilt maken, kunt u het volgende doen om alle SysRq-opdrachten in te schakelen

  1. Deze regel toevoegen aan /etc/sysctl.conf
    kernel.sysrq = 1
  2. Sysctl opnieuw opstarten of bijwerken door het uitvoeren van
    sysctl -p

Opdrachtsleutels

In de sysRq-beheerdershandleiding hierboven:

Opdracht Functie
b Start het systeem onmiddellijk opnieuw op zonder dat uw schijven worden gesynchroniseerd of ontkoppeld.
c Er wordt een systeemcrash uitgevoerd door een null-aanwijzerdeductie. Er wordt een crashdump genomen als deze is geconfigureerd.
d Geeft alle vergrendelingen weer die zijn vastgehouden.
e Verzend een SIGTERM naar alle processen, met uitzondering van init.
f Zal de oommoordenaar bellen om een geheugen hogproces te doden, maar raak niet in paniek als er niets kan worden gedood.
g Wordt gebruikt door kgdb (kernelfoutopsporingsprogramma)
h Geeft help weer (elke andere sleutel dan de sleutel die hier wordt vermeld, geeft ook help weer, maar h is gemakkelijk te onthouden:-)
i Verzend een SIGKILL naar alle processen, met uitzondering van init.
j Geforceerd "Dooi het" - bestandssysteem bevroren door de FIFREEZE ioctl.
k Met Secure Access Key (SAK) worden alle programma's in de huidige virtuele console verwijderd. OPMERKING: Zie belangrijke opmerkingen hieronder in de sectie SAK.
l Toont een stack-backtrace voor alle actieve CPU's.
m Hiermee worden de huidige geheugengegevens naar uw console gedumpt.
n Wordt gebruikt om RT-taken mooi te maken
o Het systeem wordt uitgeschakeld (indien geconfigureerd en ondersteund).
p Dumpt de huidige registers en vlaggen naar uw console.
q Dumpen per CPU-lijst van alle gewapende hrtimers (maar NIET regelmatig timer_list timers) en gedetailleerde informatie over alle clockevent-apparaten.
r Hiermee schakelt u de onbewerkte modus van het toetsenbord uit en stelt u deze in op XLATE.
s Probeert alle gekoppelde bestandssysteemen te synchroniseren.
t Dumpt een lijst met huidige taken en de bijbehorende gegevens naar uw console.
u Probeert alle gekoppelde bestandssysteemen opnieuw te koppelen met het kenmerk Alleen-lezen.
v Framebuffer-console geforceerd herstellen
v Veroorzaakt ETM-bufferdump [ARM-specifiek]
w Dumpt taken met een niet-onderbreekbare status (geblokkeerd).
x Wordt gebruikt door de xmon-interface op ppc-/powerpc-platforms. Toon globale PMU Registers op sparc64. Dump alle TLB-vermeldingen op MIPS.
y Globale CPU-registers weergeven [SPARC-64 specifiek]
z De ftrace-buffer dumpen
0-9 Hiermee stelt u het consolelogboekniveau in en bepaalt u welke kernelberichten naar uw console worden afgedrukt. (0Bijvoorbeeld, zodat alleen noodberichten, zoals PANICs of OOPSes, deze naar uw console brengen.)

Distributiespecifieke documentatie

Zie de onderstaande koppelingen voor informatie over distributiespecifieke documentatie over SysRq en stappen voor het configureren van Linux om een crashdump te maken wanneer deze een SysRq Crash-opdracht ontvangt:

Ubuntu

Red Hat

SUSE

CoreOS

Niet-maskerbare interrupt (NMI)

Een niet-maskerbare interrupt (NMI) is ontworpen om een signaal te maken dat software op een virtuele machine niet wordt genegeerd. In het verleden zijn NMI's gebruikt om te controleren op hardwareproblemen op systemen waarvoor specifieke reactietijden vereist zijn. Tegenwoordig gebruiken programmeurs en systeembeheerders NMI vaak als mechanisme voor het opsporen of oplossen van problemen met systemen die niet reageren.

De seriële console kan worden gebruikt om een NMI naar een virtuele Machine van Azure te verzenden met behulp van het toetsenbordpictogram in de onderstaande opdrachtbalk. Zodra de NMI is geleverd, bepaalt de configuratie van de virtuele machine hoe het systeem reageert. Linux-besturingssystemen kunnen worden geconfigureerd om vast te lopen en een geheugendump te maken die het besturingssysteem ontvangt een NMI.

Schermopname van de seriële console. Het toetsenbordpictogram is gemarkeerd en het bijbehorende menu is zichtbaar. Dit menu bevat een niet-maskerbare interrupt-item verzenden.

NMI inschakelen

Voor Linux-systemen die sysctl ondersteunen voor het configureren van kernelparameters, kunt u een paniek inschakelen bij het ontvangen van deze NMI met behulp van het volgende:

  1. Deze regel toevoegen aan /etc/sysctl.conf
    kernel.panic_on_unrecovered_nmi=1
  2. Sysctl opnieuw opstarten of bijwerken door het uitvoeren van
    sysctl -p

Zie de documentatie voor /proc/sys/kernel/*voor meer informatie over Linux-kernelconfiguraties, waaronder unknown_nmi_panic, panic_on_io_nmien . panic_on_unrecovered_nmi Zie de onderstaande koppelingen voor informatie over distributiespecifieke documentatie over NMI en stappen voor het configureren van Linux voor het maken van een crashdump wanneer er een NMI wordt ontvangen:

Ubuntu

Red Hat

SUSE

CoreOS

Volgende stappen

Contact met ons opnemen voor ondersteuning

Als u vragen hebt of hulp nodig hebt, maakt u een ondersteuningsaanvraag of stelt u ondersteuning voor de Azure-community. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.