segunda-feira, 27 de julho de 2009

Configurando KDUMP no RH 5

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.

quarta-feira, 15 de julho de 2009

Aumentando área de swap no Linux com LVM

Primeiro precisamos desabilitar a área de swap

# swapoff -v /dev/rootvg/swaplv

Agora aumentamos a nossa área de swap em 512M

# lvextend -L +512M /dev/rootvg/swaplv

É necessário formatar a nova área de swap

# mkswap /dev/rootvg/swaplv

Finalizando habilitamos a nova área de swap

# swapon -va /dev/rootvg/swaplv

Para verificar a nova área utilize:

# cat /proc/swaps

ou

# free

sábado, 11 de julho de 2009

Red Hat 5: Missing ext2online

No RHEL 5 a funcionalidade do comando ext2online foi migrada para o comando resize2fs.

Portanto, ainda podemos realizar o aumento dos file systems on-line, conforme abaixo:

resize2fs /dev/rootvg/tmplv

OBS.:

Porém, reduzir file system que encontra-se em uso apenas off-line.

segunda-feira, 6 de julho de 2009

Alterando velocidade e comunicação da placa Ethernet em RedHat

Primeiro verificamos se temos os seguintes pacotes instalados.

server:~ # rpm -q ethtool
server:~ # rpm -q net-tools

Depois temos que verificar as caracteristicas da nossa placa Ethernet

server:~ # ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 30
Transceiver: internal
Auto-negotiation: on
Current message level: 0×00000007 (7)
Link detected: no

server:~#mii-tool eth0
eth0: no autonegotiation, 10baseT-HD, link ok

Agora que sabemos que a placa Ethernet aceita velocidade de 100 e full duplex, base adicionar a seguinte entrada em /etc/sysconfig/network-scripts/ifcfg-etho

vi /etc/sysconfig/network-scripts/ifcfg-eth0
ETHTOOL_OPTS=”speed 100 duplex full autoneg off”

Mas para que esta configuração fique permanente é necessário adicionar a seguinte entrada em /etc/rc.local

vi /etc/rc.local
ethtool -s eth0 speed 100 duplex full autoneg off
touch /var/lock/subsys/local

OBS.:
Caso a placa Ethernet não suporte o “ethtool”, pode-se utilizar a mesma configuração com o “mii-tool”, digitando o comando abaixo.

mii-tool -F 100baseTx-FD eth0