Instalação automatizada de servidores com Kickstart (parte 2)

Nesse artigo entenderemos como montar um servidor de instalação utilizando o PXE (Pre-boot eXecution Environment) e integrando-o com os kickstarts já criados. Dividiremos esse post em 3 etapas, que na verdade são os 3 sub-sistemas envolvidos na configuração de um servidor de instalação PXE: DHCP, TFTP-SERVER, FILE SHARE.

[ Hits: 22.283 ]

Por: Marcelo Moreira de Mello em 07/04/2010 | Blog: http://tchellomello.blogspot.com


Introdução



No artigo anterior comentamos como podemos automatizar a instalação de vários servidores utilizando kickstarts dinâmicos, entretanto ainda era preciso utilizar uma mídia bootável para inicializar o processo de instalação.

Nesse artigo entenderemos como montar um servidor de instalação utilizando o PXE (Pre-boot eXecution Environment) e integrando-o com kickstarts já criados anteriormente.

Dividiremos esse post em 3 etapas, que na verdade são os 3 sub-sistemas envolvidos na configuração de um servidor de instalação PXE: DHCP, TFTP-SERVER, FILE SHARE.

Configurando DHCP Server

Para quem desconhece a sigla DHCP (Dynamic Host Configuration Protocol), saiba que muito provavelmente você já tenha utilizado esse serviço sem perceber. O serviço de DHCP (resumindo de maneira bem coloquial) é muito útil quando o cliente não sabe qual IP configurar em sua estação e passa a pedir essa informação à um servidor de endereços IP, que irá processar o pedido informando ao cliente qual endereçamento correto para aquele segmento de rede.

Uma informação que acaba passando despercebida quanto ao serviço de DHCP é que ele não serve somente para informar o endereço IP, mas também máscara de rede, roteador padrão, sufixo de pesquisa de DNS (domínio), servidores de DNS, servidores de NTP, servidores NetBios e também servidores TFTP (Trivial File Transfer Protocol).

A informação de TFTP server por sua vez será usada pelo cliente para fazer o download do bootloader, kernel e initrd para inicializar o processo de instalação. Mas isso é um assunto para a próxima parte deste texto. Por enquanto vamos nos concentrar na configuração do DHCP.

Vamos começar instalando o serviço de DHCP em nosso servidor.

# rpm -q dhcp
dhcp-4.1.1-9.fc12.x86_64

Uma vez instalado, precisamos definir em seu arquivo de configuração localizado em /etc/dhcp/dhcpd.conf (em outros distribuições esse arquivo geralmente está em /etc/dhcpd.conf). Se você prestar atenção, o arquivo padrão irá sugerir que você visite o diretório de documentação do serviço para utilizar um arquivo de exemplo.

Utilizando o arquivo de documentação, deixe-o com essa aparência:

# ifconfig eth0
eth0  Link encap:Ethernet  HWaddr 52:54:00:73:59:6E  
      inet addr:192.168.240.10  Bcast:192.168.240.255  Mask:255.255.255.0
      inet6 addr: fe80::5054:ff:fe73:596e/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:22239 errors:0 dropped:0 overruns:0 frame:0
      TX packets:15888 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:22604353 (21.5 MiB)  TX bytes:2421924 (2.3 MiB)

# cat /etc/dhcp/dhcpd.conf

authoritative;
ddns-update-style none;

subnet 192.168.240.0 netmask 255.255.255.0 {
  range 192.168.240.50 192.168.240.100;
  option domain-name-servers 192.168.240.1;
  option domain-name "blog.tchello.mello";
  option routers 192.168.240.1;
  option broadcast-address 192.168.240.1;
  default-lease-time 600;
  max-lease-time 7200;
}

host inst-automatico {
  hardware ethernet 52:54:00:24:4d:78;
  fixed-address 192.168.240.49;
  filename "pxelinux.0";
  next-server 192.168.240.10;
}

# cat /etc/sysconfig/dhcpd

# Command line options here
DHCPDARGS=eth0

# chkconfig dhcpd on

Como vocês podem ver, já compilamos acima uma série de informações que precisarão ser alteradas nos arquivos de configuração. Temos o IP do servidor como 192.168.240.1. O arquivo de configuração do DHCP é muito intuitivo, porém gostaria de salientar 2 parâmetros de configuração:
  • filename "pxelinux.0"; esse parâmetro irá informar ao cliente nominado como inst-automatico que possui o endereço MAC 52:54:00:24:4d:78 qual arquivo será oferecido a ele no caso de uma solicitação via TFTP.
  • next-server 192.168.240.10; esse parâmetro informa ao cliente qual é o servidor TFTP disponível para o cliente inst-automatico, ou seja, o servidor que irá transmitir o arquivo pxelinux.0.

Detalhe: Colocamos essas informações dentro das chaves, sendo válidas somente à máquina inst-automatico, porém poderiam estar dentro da seção global acima do arquivo.

Alterações executadas, já estamos prontos para inicializar o serviço de DHCPD e partir para a próxima etapa.

# service dhcpd start

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando TFTP Server
   3. Configurando File Share
Outros artigos deste autor

Criando firewalls dinâmicos com Iptables Recent

Instalação automatizada de servidores com kickstart

Transportando dados com segurança - encripte seu pendrive em 5 passos

Leitura recomendada

Dicas rápidas para linha de comando

Clonando HDs pela rede com UDP-CAST (parte 2)

Criando vídeo com características de DVD

DHCP no GNU/Linux - Guia para ISC-DHCP Server

Instalando Debian direto do HD

  
Comentários
[1] Comentário enviado por grandmaster em 07/04/2010 - 18:58h

Uso processos automatizados para os servidores e desktops/laptios windows.

testarei esse.
--
Renato de Castro Henriques
ITILv3 Foundation Certified
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br


[2] Comentário enviado por gostt em 10/04/2010 - 11:15h

Muito bom seu artigo, vou testa-lo!
Renato o que processos automatizados voce esta usando para os servidores e desktops/laptios windows?

Abraços

[3] Comentário enviado por vinigusto em 26/10/2010 - 22:51h

Olá, gostaria de saber se este tutorial se aplica a distribuição do Debian Lenny. Estou num projeto em que precisa fazer a comunicação entre cliente (terminal burro) e o servidor (debian, virtualizado com xen). Onde o cliente faz o requisito ao master e este envia o so.
Obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts