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.268 ]

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

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

Criando firewalls dinâmicos com Iptables Recent

Instalação automatizada de servidores com kickstart

Leitura recomendada

Horário de verão automático

Como contribuir para projetos abertos no GitHub

Fãs do pinguim, vamos à luta!

A Revista Espírito Livre

Por que uso Linux?

  
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