GNU/Linux >> Znalost Linux >  >> Cent OS

CentOS / RHEL 7:Pochopení Kexec a Kdump

Co je to kdump a Kexec

Kdump je mechanismus dumpingu při selhání jádra Linuxu. V případě zhroucení systému Kdump poskytuje obraz výpisu paměti (vmcore). Tento obrázek může pomoci při určování příčiny havárie. Důrazně doporučujeme povolit funkci Kdump.

Kexec a Kdump společně zajišťují rychlejší spouštění a vytváření spolehlivých jader vmcore pro diagnostické účely. Kexec je mechanismus rychlého spouštění, který umožňuje zavádění linuxového jádra z kontextu již běžícího jádra bez procházení BIOSu. Kdump používá Kexec k zavedení druhého jádra vždy, když dojde k pádu systému. Výpis zhroucení je zachycen z kontextu čerstvě spouštěného jádra a ne z kontextu havarovaného jádra. Toto druhé jádro se spouští s velmi malou pamětí a zachycuje obraz výpisu.

Instalace a konfigurace kdump

Chcete-li povolit a používat Kdump, nainstalujte následující balíček:

# yum install kexec-tools

Povolení Kdump vyžaduje, abyste vyhradili část systémové paměti pro jádro pro zachycení. Tato část paměti není k dispozici pro jiné použití. Množství paměti, které je vyhrazeno pro jádro Kdump, je reprezentováno spouštěcím parametrem crashkernel. Toto je připojeno k řádku jádra v konfiguračním souboru GRUB, /boot/grub2/grub.cfg . Následující příklad povolí Kdump a rezervuje 128 MB paměti:

linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=128M

Kromě rezervování paměti můžete určit počáteční adresu (offset) této rezervované paměti. Například přidání následující možnosti do řádku jádra vyhradí 128 MB paměti počínaje fyzickou adresou 0x01000000 (16 MB):

crashkernel=128M@16M

– Nastavení posunu na 48M:

crashkernel=128M@48M

– Pokud máte více než 128 GB RAM, použijte následující nastavení:

crashkernel=512M@64M

– Pokud potřebujete větší kontrolu nad velikostí a umístěním vyhrazené paměti, použijte následující formát:

crashkernel=range1:size1[,range2:size2,...][@offset]

– Hodnota range[n] určuje rozsah hodnot, které se shodují s množstvím fyzické paměti RAM přítomné v systému. Odpovídající hodnota size[n] určuje množství paměti Kexec, které se má rezervovat.

– Následující příklad říká Kexecu, aby vyhradil 64 MB paměti RAM, pokud systém obsahuje 512 MB až 2 GB paměti. Pokud systém obsahuje více než 2 GB fyzické paměti, vyhraďte si 128 MB:

crashkernel=512M-2G:64M,2G-:128M

– Na systémech x86_64 s alespoň 2 GB paměti můžete paměť pro kdump přidělit automaticky. K automatickému přidělení paměti pro kdump použijte následující parametr:

crashkernel=auto

Povolení kdump

Po přidání parametru crashkernel do souboru /boot/grub2/grub.cfg restartujte systém, aby byla paměť vyhrazena pro jádro pro zachycení. Funkce „zdarma –m ” správně ukazuje, že pro systém je k dispozici méně paměti.

Pomocí příkazu systemctl povolte spuštění služby Kdump v době spouštění. Ke spuštění služby Kdump použijte příkaz systemctl.

# systemctl enable kdump
# systemctl start kdump

Toto načte váš kernel-kdump image přes Kexec, takže váš systém bude připraven zachytit vmcore při zhroucení.

Vygenerovat vynucený výpis z havárie

Konfiguraci kdump můžete otestovat vynuceným zhroucením systému pomocí následujícího příkazu:

# echo c > /proc/sysrq-trigger

To způsobí, že se zobrazí panický výstup a následně se systém restartuje do jádra Kdump. Když se zaváděcí proces dostane do bodu, kde spustí službu Kdump, vmcore se zkopíruje na disk do výchozího umístění, /var/crash/[RRRR-MM-DD-HH:MM]/vmcore. Systém se poté restartuje zpět do normálního jádra.

Poznámka :Kdump není podporován na hostech Xen domU. Virtualizované systémy mohou použít příkaz xm dump-core pro paniky.CentOS / RHEL 7 :Jak nakonfigurovat kdump
CentOS / RHEL 6 :Jak nakonfigurovat kdump
CentOS / RHEL 5 :Jak nakonfigurovat kdump
Porozumění konfiguračnímu souboru kdump /etc/kdump.conf


Cent OS
  1. CentOS / RHEL 7 :Konfigurace serveru NFS a klienta NFS

  2. CentOS / RHEL 7 :Jak nainstalovat a nakonfigurovat telnet

  3. CentOS / RHEL 7:Pochopení Kexec a Kdump

  1. Jak nainstalovat Python 3.5 na CentOS/RHEL a Fedoru

  2. Jak zakázat NUMA v CentOS / RHEL 6,7

  3. Odstraňování problémů s kdump v CentOS/RHEL

  1. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  2. Jak nainstalovat a nakonfigurovat Sambu v CentOS / RHEL

  3. Jak za provozu přidat a odebrat logickou paměť v CentOS/RHEL 7