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.
Os comandos mais malucos do AIX !
Há 10 anos