Observador de - Linux Magazine

Propaganda
Monitoramento de servidores remotos com IPMI
REDES
Observador de
máquinas
O IPMI, Intelligent Platform Management
Interface, permite o monitoramento do estado de
servidores remotos, mesmo quando desligados.
por Justin Penney
O
ambiente Linux oferece
diversas técnicas para monitorar e gerenciar sistemas remotos, mas a administração
remota convencional utiliza conexões com o sistema operacional da
máquina remota. O que acontece
quando a máquina a ser monitorada está desligada ou comprometida
de alguma forma?
A Intelligent Platform Management Interface (IPMI)[1] é uma
interface para monitorar e controlar o hardware de computadores
independentemente do sistema
operacional. Quando o sistema está
inativo, é possível usar o IPMI para
ligar ou desligar o computador.
O IPMI também oferece acesso a
várias outras informações e configurações de hardware que podem
não ser acessíveis a ferramentas-padrão de gerenciamento. A interface
IPMI controla a energia, lê sensores ambientais e até redireciona o
console do sistema através da rede.
Essa tecnologia requer o suporte
por parte do fabricante da placamãe ou do computador.
A configuração inicial do IPMI
costuma ser complexa e frustrante, mas o esforço é compensado na
primeira vez em que o IPMI evita
uma viagem do administrador ao
datacenter.
A especificação IPMI atual está
na versão 2.0. As interfaces da versão
1.5 ainda são comuns, assim como
controladores com uma mistura de
recursos de ambas versões. Essas
62
versões mistas, comumente chamadas de IPMI v1.5/2.0, geralmente
fornecem mecanismos criptografados de autenticação mais robustos, assim como o suporte a Serial
Over LAN (SOL).
BMC
O sistema IPMI é baseado num componente de hardware conhecido como
Baseboard Management Controller
(BMC). O BMC recebe informações a partir de outros controladores
periféricos, localizados no chassi, e
serve como ponto de contato para a
comunicação remota. Alguns computadores montados – ou os barebones
– possuem essa funcionalidade IPMI
embutida. Placas-mãe disponíveis no
varejo normalmente têm um BMC
IPMI por meio de um slot SO-DIMM,
PCI ou cabo chato.
O uso da interface LAN varia entre
fabricantes. Alguns produtos oferecem
uma porta LAN conectada diretamente
ao BMC; outros usam uma porta LAN
da placa-mãe. Um terceiro tipo utiliza
uma porta da placa-mãe, mas intercepta a comunicação IPMI enquanto lida
com o restante do tráfego de rede com
o driver da LAN. Essa técnica, chamada de pass-through, exige a cooperação
do driver da LAN, o que pode ou não
ser uma dificuldade no Linux.
Configuração inicial
A configuração inicial de uma interface IPMI varia bastante entre
fabricantes. Algumas são bem polidas, demandando pouco mais que
especificar um IP, enquanto outras
possuem vários componentes de
firmware que precisam ser modificados (por flash) e configurados em
múltiplos locais.
O projeto OpenIPMI[2] oferece
um driver IPMI para Linux que funciona com alguns BMCs.
IPMItool
O utilitário de linha de comando do
Linux IPMItool permite a configuração
e comunicação com sistemas equipados com IPMI. Várias das principais
distribuições Linux incluem pacotes
com esse utilitário e seu código-fonte
está disponível no site do projeto[3]. A
ferramenta fornece vários comandos
para comunicação com a infra-estrutura IPMI (tabela 1).
Após um BMC ser configurado
localmente, pode-se usar o IPMItool para configurar a interface
LAN (exemplo 1).
O verdadeiro poder do IPMI está
na interface LAN. Depois que ela for
configurada, o BMC responderá a requisições remotas enquanto o sistema
estiver recebendo energia (standby
Exemplo 1: Informações da interface LAN
01 ipmitool -I open lan set <canal> ipaddr <IP>
02 ipmitool -I open lan set <canal> netmask <máscara>
03 ipmitool -I open lan set <canal> defgw <gateway padrão>
http://www.linuxmagazine.com.br
IPMI | REDES
Tabela 1: Alguns comandos do IPMItool
Comando
Efeito
sol activate
Inicia uma sessão SOL.
lan print
Exibe informações da LAN.
chassis status
Exibe o estado da energia e do chassi.
power
Controle de energia (on, off, cycle, reset,
diag).
sensor
Exibe informações do sensor ambiental.
sensor get <nome do sensor>
Obtém os valores do sensor informado.
sel list
Exibe o log de eventos do sistema.
sel clear
Limpa o log de eventos do sistema.
mc info
Exibe informações sobre o BMC.
mc reset <warm ou cold>
Reinicia o BMC.
incluído). O BMC fornece o controle
remoto de energia, dá acesso a configurações de BIOS, monitora sensores
ambientais, acessa o console e, em alguns casos, suporta até KVM (teclado,
vídeo e mouse) sobre IP.
Alguns fabricantes suportam mídias
virtuais que permitem a emulação de
disquetes USB e leitores de CD; isso
geralmente requer um utilitário – fornecido pelo fabricante – na máquina
cliente, que pode ou não ser suportado
no ambiente Linux.
A interface LAN da versão 2.0 do
IPMI é chamada de lanplus pelo ipmitool, enquanto a interface da versão 1.5
é referida apenas como lan. A maioria
dos controladores de gerenciamento
atuais suporta a especificação 2.0 e usa
a interface lanplus. No caso de máquinas com BMCs mistos 1.5/2.0, caso a
interface lanplus não retorne resposta,
deve-se tentar a interface lan.
Conexões com o BMC começam
com a especificação da interface – lanplus, no caso –, o IP e o nome de usuário. Em nosso exemplo, a opção -a faz
o ipmitool pedir a senha:
operacional estejam configurados
adequadamente.
A configuração da BIOS deve
conter uma seção intitulada remote
console, serial console ou algo nessa
linha e o manual do BMC especificará as configurações necessárias.
Uma vez configurado, será possível ver
todas as mensagens do POST; também
é possível entrar na configuração da
BIOS através do console SOL.
É importante atentar à saída na
tela, durante o POST, pois algumas
teclas – principalmente [Del] e [F9] a
[F12] – são atribuídas diferentemente.
Se [Del] costuma ser usado para en-
ipmitool -I lanplus -U
➥admin -a -H
➥192.168.2.1 chassis
➥power status
Password:
Chassis Power is off
A máquina está desligada. Para ligá-la, basta o comando:
Figura 1 Saída do POST da BIOS.
ipmitool -I lanplus -U admin -a -H
➥192.168.2.1 chassis power on
A tabela 1 e a documentação do
IPMItool detalham outros comandos.
Serial pela LAN
O protocolo SOL oferece aos administradores o mesmo acesso a um
computador que teriam por meio
de um teclado e um monitor diretamente conectados à máquina. O
SOL requer que a BIOS, o carregador de inicialização e o sistema
trar na configuração da BIOS, talvez
seja necessário pressionar [F4]. Esse
tipo de mapeamento é informado,
geralmente, nas linhas que contêm
on remote keyboard (figura 1).
O Grub precisa ser configurado
para exibir a interface do SOL. A
figura 2 mostra o arquivo /boot/grub/
grub.conf configurado para um console serial através da COM2.
O acesso ao Grub pelo consolepadrão será permitido se for pressionada uma tecla, no intervalo de
ipmitool -I lanplus -U
➥<usuário> -a -H <IP>
Um teste simples para a interface é retornar o estado de energia
da máquina:
Linux Magazine #43 | Junho de 2008
Figura 2 A ttyS1 é especificada para o console do sistema.
63
REDES | IPMI
Última etapa
Figura 3 Grub sobre SOL.
O último passo é configurar um getty para
exibir um prompt de
login pelo console serial. A maioria das distribuições Linux trazem
o agetty, que é o mais
comumente usado em
consoles seriais. Iniciar
um novo getty é simples;
basta adicionar uma linha ao
arquivo /etc/inittab:
s0:2345:/sbin/agetty ttyS1
➥ 57600 vt100
Para impedir o agetty
de tentar detectar a linha
no console serial, pode ser
necessário acrescentar o
argumento -L.
Adicionar ttyS1 ao arquivo
/etc/securetty
permite que o
Figura 4 As mensagens do kernel e do init são
usuário root faça o login pelo
exibidas por SOL.
console serial. Esse arquivo
dez segundos, em um teclado ligado especifica quais dispositivos terminais
diretamente à máquina. Com um devem ser considerados seguros o
monitor conectado diretamente à suficiente para login pelo root.
máquina, a mensagem “Press any
Executar init -q como root força
key to continue” é exibida uma o init a recarregar sua configuração
vez a cada segundo durante o pe- e iniciar um novo processo do agetríodo de espera. A figura 3 mostra ty. Nesse ponto, já deve ser possível
um exemplo do Grub sobre a in- iniciar uma sessão SOL e acessar a
máquina a qualquer momento:
terface SOL.
Quase toda a saída durante o processo de inicialização será exibida ipmitool -I lanplus -U admin -a -H
no console-serial (figura 4) em vez ➥ 192.168.2.1 sol activate
de no console padrão. Quando um
monitor estiver conectado, serão
mostradas apenas algumas mensagens
e depois o console não responderá Se o sistema em questão não suporaté que os programas getty iniciem tar o IPMI, ainda é possível obter alos dispositivos normais de console, gumas das mesmas funcionalidades
o que pode causar confusão e frus- por meio de outras ferramentas. Por
tração ao tentar diagnosticar um exemplo, o controle de energia e o
computador mal comportado.
suporte ao console serial são possíveis
Para evitar o redirecionamento com uso de hardware externo. Unidado console, basta retirar da linha des de energia controladas por rede,
do kernel no Grub o termo console. como o PDU (unidade distribuidora
Após a edição da linha do kernel, de energia) Switched Rack da APC
pode-se iniciá-lo.
ou o Sentry, da Server Technologies,
Alternativa
64
permitem que seja ligado, desligado
ou reiniciado qualquer dispositivo
conectado a eles.
Servidores de console serial,
tais como os da Avocent e Open
Gear, permitem o acesso ao console pela porta serial da placa-mãe.
Sua configuração é semelhante
àquela para o suporte a porta serial
com IPMI. Algumas placas-mãe
permitem também o redirecionamento da BIOS. Diferentemente
do IPMI, as interfaces para esses
dispositivos não seguem o padrão,
impossibilitando o uso de instruções genéricas.
Conclusões
Como os processos de cada fabricante são diferentes, é preciso seguir suas instruções.
Fazer a configuração inicial de
uma implementação de IPMI pode
ser um desafio; porém, esse trabalho,
junto com o planejamento, pode
economizar um tempo considerável
em caso de falha.
A possibilidade de visualizar os erros do POST ou dos estágios iniciais
de carregamento do kernel pode ser
fundamental na tarefa de diagnóstico
de um servidor problemático. ■
Mais informações
[1] Especificação da IPMI:
http://download.intel.
com/design/servers/ipmi/
IPMIv2_0rev1_0.pdf
[2] OpenIPMI: http://
openipmi.sourceforge.net/
[3] IPMItool: htpp://ipmitool.
sourceforge.net/
Sobre o autor
Justin Penney começou a usar Linux por
hobby em 1997 e agora projeta clusters
computacionais de alta performance.
http://www.linuxmagazine.com.br
Download