Jul 27

Configurando KDUMP no Red Hat 5

Category: Red Hat

Visão geral

KEXEC é um mecamisno de fast boot que permite iniciar um kernel Linux  a partir de um kernel já em execução sem passar pela BIOS.

KDUMP é um novo mecanismo de kernel crash dump, capturando o dump utilizando o kexec inicializando em um segundo kernel sempre que o sistema falha, inicializa com pouca memória e captura o dump image.

Instalando KDUMP

# yum install kexec-tools
ou
# rpm -ivh kexec-tools-1.102pre-56.el5_3.2.x86_64.rpm

Para configurar o KUMP, basta editar o arquivo /etc/kdump.conf

Salvando o dump diretamento no device

raw devicename

Salvando o dump em arquivo

ext3 /dev/sda1

Isto fará com que o kdump monte do device /dev/sda1 em /var/crash com file system ext3

Podemos utilizar também um dump pela rede através de um device NFS

net server:/nfs/mount/point

E por último pode ser feito um dump através da rede utilizando o SSH

net user@server

Para esta opção é necessário configurar uma chave pública para o acesso via SSH, utilizando o comando abaixo:

service kdump propagate

Especificando páginas de seleção e compressão

Em sistemas de grande memórias é necessário descartar páginas que não são necessárias e comprimir as páginas restantes, isto é definido no kdump.conf conforme configuração abaixo:

zero pages = 1
cache pages = 2
cache private = 4
user pages = 8
free pages = 16

#core_collector makedumpfile -d 1          # throw out zero pages (containing no data)
#core_collector makedumpfile -d 31         # throw out all trival pages
#core_collector makedumpfile -c            # compress all pages, but leave them all
core_collector makedumpfile -d 31 -c       # throw out trival pages and compress (recommended)

NOTA: Utilizando as opções -d e -c aumenta o tempo necessário para reunir as cores.

Alterando parâmetros de boot

Faz-se necessário para reservar uma quantidade de memória para captura do kernel.
Para arquiteturas i386 and x86_64 editamos o /etc/grub.conf e adicionamos o parâmetro crashkernel=128M@16M no final da linha do kernel.

Exemplo:


 default=0
 timeout=5
 splashimage=(hd0,0)/boot/grub/splash.xpm.gz
 hiddenmenu
 title Red Hat Enterprise Linux Client (2.6.17-1.2519.4.21.el5)
         root (hd0,0)
         kernel /boot/vmlinuz-2.6.17-1.2519.4.21.el5 ro root=LABEL=/ rhgb quiet crashkernel=128M@16M
         initrd /boot/initrd-2.6.17-1.2519.4.21.el5.img

Testes de funcionalidade

Inicializamos o kdump

#  chkconfig kdump on
#  service kdump start

Forçando um crash do sistema via sysrq

# echo “c” > /proc/sysrq-trigger

Será gerado um kernel panic e logo após reiniciando o sistema no kdump kernel, copiando o vmcore para o local especificado no /etc/kdump.conf.

OBS.:

Console frame-buffers e X serão trucados quando o kernel for iniciado através do kexec, isto se aplicar para configurações como por exemplo “vga=791″ na linha de configuração do kernel.
Quando o sistema reiniciar o video deverá ser ser restabelecido a normalidade.

Referência:

http://kbase.redhat.com/faq/docs/DOC-6039
http://download.swsoft.com/virtuozzo/virtuozzo4.0/docs/en/lin/VzLinuxUG/20027.htm

Share this on Orkut!
Comments are off for this post

Comments are closed.