Configurando Linux Kernel Crash Dump (LKCD)

on July 26th, 2009 by - Comments Off on Configurando Linux Kernel Crash Dump (LKCD)

Depois de instalado e configurado o LKCD, um crash dump é criado quando ocorre um kernel panic ou kernel oops. Também pode ser iniciado através das Magic Keys.

Após gerado o crash dump o mesmo pode ser análisado pela ferramenta lcrash ou enviado para análise em laboratório.

Agora podemos proceguir com a instalação e configuração do LKCD.

Primeiro precisamos instalar o pacote lkcdutils:

rpm -ivh lkcdutils-4.2-193.57.i586.rpm

Adicionamos o daemon para inicialização durante o boot:

chkconfig lkcd-netdump on

Depois configurados o arquivo /etc/sysconfig/dump

DUMP_ACTIVE=”1″
DUMPDEV=”/dev/vmdump”
DUMPDIR=”/var/log/dump”
DUMP_LEVEL=”2″
DUMP_COMPRESS=”2″
DUMP_FLAGS=”0x80000000″
DUMP_SAVE=”1″
PANIC_TIMEOUT=”5″
BOUNDS_LIMIT=”10″
KEXEC_IMAGE=”/boot/vmlinuz”
KEXEC_CMDLINE=”root console=tty0″
DUMP_MAX_CONCURRENT=4

Descrição dos parâmetros:

DUMP_ACTIVE?0 desabilita o dump; 1 habilita o dump
DUMPDEV?partição onde o dump será criado
DUMPDIR?file system onde os arquivos de dump serão criados
DUMP_LEVEL?determina a verbosidade do dump
DUMP_COMPRESS?0 nenhum; 1 RLE; 2 GZIP
DUMP_FLAGS?0x40000000 network dump; 0x80000000 local dump
DUMP_SAVE?0 não salva o dump; 1 salva dump no DUMPDIR
PANIC_TIMEOUT?tempo em segundos para aguardar antes de fazer um reboot após um kernel panic
BOUNDS_LIMIT?limit de dumps que podem ser executados (0 torna o número de dumps ilimitado)
KEXEC_IMAGE?especifica a imagem para boot após o dump
KEXEC_CMDLINE?especifica opção de boot para passsar para KEXEC_IMAGE
DUMP_MAX_CONCURRENT?número máximo de dumps concorrentes

Opções para “DUMP_LEVEL”

DUMP_NONE (0) Do nothing, just return if called
DUMP_HEADER (1) Dump the dump header and first 128K bytes out
DUMP_KERN (2) Everything in DUMP_HEADER and kernel pages only
DUMP_USED (4) Everything except kernel free pages
DUMP_ALL (8) All memory

Antes de proceguir precisamos verificar se o DUMPDEV esta linkado corretamente  para o device dump, se o mesmo não estiver correto é necessário criar o link simbólico manualmente.

ls -l /dev/vmdump
lrwxrwxrwx 1 root root 9 Aug 10 08:33 /dev/vmdump ->/dev/sda1

Verificamos os módulos de dump

#lsmod | grep dump

Carregando e verificando as configurações:

lkcd config
lkcd query

Configured dump device: 0xbffff617
Configured dump flags: KL_DUMP_FLAGS_NETDUMP
Configured dump level: KL_DUMP_LEVEL_HEADER|KL_DUMP_LEVEL_KERN
Configured dump compression method: KL_DUMP_COMPRESS_GZIP

Antes de realizar os testes temos que habilitar as Magic Keys para forçar um Server Hang.

Editar o arquivo /etc/sysconfig/sysctl e alterar a variável ENABLE_SYSRQ para “yes”

Depois:

echo 1 > /proc/sys/kernel/sysrq

Criando um kernel panic precionando:

Alt-SysRq-d
ou
echo d > /proc/sysrq-trigger

Por último validamos o Crash Dump

cd /var/log/dump/0
lcrash -d dump.0 -t kerntypes.0 -m /boot/System.map-2.4.21-138-smp

OBS.:

Para enviar o dump para análise em laboratório.

tar -jcvf kerneldump.tar.bz2 /var/log/dump/0/*

© TIAGO.DIAS.ETI.BR