Remote Boot and PXE Configuration

Para instalação remota, que pode ser via NFS, FTP, HTTP, CDROM, é necessário um boot inicial no node que pode ser um disquete, um cd, um pendrive ou através do pxe. O kickstart facilita a instalação pois automatiza o processo sem a necessidade de intervenção do administrador. Utilizando o kernel padrão da distribuição podemos configurar o boot do mesmo com a opção:

linux ks=floppy

o instalador anaconda procura o arquivo no disquete ou

linux ks=file:\ks.cfg

o instalador procura no mesmo diretorio de instalação ou

linux ks=nfs:192.168.1.200:/export/ks.cfg

onde o instalador procura pela rede e utiliza o sistema de arquivos nfs.

Vamos ao passo a passo para configurar uma instalação com PXE e NFS:

  • Primeiramente, é necessário instalar um DHCP server. O arquivo de configuração /etc/dhcpd.conf, baseado na versão 3.x, deve ser parecido com:

# sample configuration file for DHCP ISC 3.0
ddns-update-style none;
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;

# PXE specific options
class "pxeclients" {
=match if substring (option vendor-class-identifier, 0, 9) = =
"PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
=# At least one of the vendor-specific options must be set in order =
# for the boot ROM on the client to recognize us as a PXE
# compliant server. We set the MCAST IP address to 0.0.0.0 to tell
# the boot ROM we can't provide multicast TFTP, so it will have to
# use just plain ol' TFTP instead (address 0.0.0.0 is considered
# as "no address").
option PXE.mtftp-ip 0.0.0.0;
}
subnet 200.136.80.0 netmask 255.255.255.0
{
}
subnet 192.168.1.0 netmask 255.255.255.0 {
deny unknown-clients;
min-lease-time 300;
default-lease-time 1800;
max-lease-time 1800;
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option routers 192.168.1.200;

host node01
{
hardware ethernet 00:30:48:71:24:23;
fixed-address node01;
filename "/tftpboot/pxelinux.0";
}
host node02
{
hardware ethernet 00:30:48:71:23:A3;
fixed-address node02;
filename "/tftpboot/pxelinux.0";
}}

  • Lembrar de configurar todas as interfaces de rede, mesmo que ela não ofereça o serviço, deixando a em branco.
  • A seguir, basta instalar o tftp server, normalmente é utilizado o tftp-hpa.
  • Carregar o serviço com o daemon xinetd.
  • Verifique se o serviço está ok em /etc/xinetd.d/tftp

  • Com os serviços configurados, agora precisamos configurar o diretório /tftpboot onde o pxe e o sistema carregarão as configurações e o boot para a instalação.
Note que em

dhcpd.conf (filename "/tftpboot/pxelinux.0";)

é definido o arquivo binário de boot. Esse arquivo pode ser copiado do próprio cd de instalação ou http://syslinux.zytor.com/pxe.php

No Redhat esse arquivo pode ser encontrado em

/usr/lib/syslinux/pxelinux.0

  • A seguir criamos um arquivo de configuração baseado no lilo.conf em

/tftpboot/pxelinux.cfg/default

e como exemplo:

# Mensagem a ser apresentada
DISPLAY pxelinux.cfg/message.txt
# timeout de espera
TIMEOUT 100
# Sempre mostrar o prompt
PROMPT 1
# Default e' realizar o boot normal
DEFAULT boot
LABEL boot
LOCALBOOT 0
LABEL linux
kernel vmlinuz
append ks=nfs:192.168.1.200:/export/kickstart/linux.ks initrd=initrd.img devfs=nomount
#console=ttyS1,19200

  • Note que configuramos o boot, parecido com lilo.conf, porém ele será utilizado pelo node remotamente através do pxe.

  • Também podemos configurar a mensagem que aparece no boot remoto. Em

/tftpboot/pxelinux.cfg/message.txt

conforme o arquivo anterior:

DISPLAY pxelinux.cfg/message.txt

  • Por exemplo, digite:

"boot" para boot via hd

“linux” para instalar o node

  • Lembre-se que os termos em “” depende da definição do arquivo anterior: LABEL linux.

  • Explicando sobre o kickstart:

# Kickstart file automatically generated by anaconda.

  • Essa primeira parte define o teclado e o suporte de linguas
lang en_US.UTF-8
langsupport --default en_US.UTF-8 en_US.UTF-8 pt_BR.UTF-8
keyboard us-acentos

  • Define se será configurado um mouse no sistema

mouse genericwheelps/2 --device psaux

  • Reboot apos instalacao

reboot

  • Metodo de instalacao pode ser upgrade ou install

install

  • Modo de instalaçao se será grafico ou texto

text

  • De onde posso pegar os arquivos para instalação, nesse caso, são os arquivos contidos no cd ou ftp da distribuição
  • NFS ou CD ou FTP ou HTTP
nfs --server 192.168.1.100 --dir /raid1/SL_308_i386

#Configurando o X

  • A primeira linha eh especifica para o node novo, a segunda eh generica, onde é detectada a placa de video

#xconfig --card "ATI Radeon (generic)" --videoram 16384 --hsync 30-70 --vsync 50-160 --resolution 1024x768 --depth 24 --defaultdesktop gnome
xconfig --resolution 1024x768 --depth 24 --defaultdesktop gnome

  • Definindo a placa de rede. Você pode definir como sera a placa de rede e quais interfaces

#network --device eth0 --bootproto dhcp
network --device eth1 --bootproto dhcp

  • Senha criptografada: itautec
rootpw --iscrypted $1$96lpAZKJ$RpfvtqR8nP9AHrScGgjQM.

  • Habilita ou desabilita o firewall

firewall –disabled

  • Define autenticacao e timezone

authconfig --enableshadow --enablemd5
timezone America/Sao_Paulo
#System bootloader, utiliza o grub como padrão e instala na mbr
bootloader --location=mbr
#Partition, particionamento automático
zerombr yes
clearpart --all
part /boot --fstype ext3 --size 100 --asprimary

part / --fstype ext3 --size 12288 --asprimary
part swap --size 4096 --asprimary
part /var --fstype ext3 --size 4096
part /tmp --fstype ext3 --size 2048
part /scratch --fstype ext3 --size 1 --grow

  • Definicao dos pacotes a serem instalados. @ quer dizer que são grupos, os pacotes listados a seguir são opcionais aos grupos e os pacotes que possuem – no inicio, são para não serem instaladas mesmo sendo dos grupos.

%packages
@ engineering-and-scientific
@ brazilian-support
@ admin-tools
@ portuguese-support
@ editors
@ system-tools
@ base-x
@ graphics
@ development-tools
@ misc-sl
@ gnome-desktop
@ dialup
@ apt-rpm
@ yum
@ openafs-client
@ server-cfg
pine
-octave
net-snmp-utils
SL_enable_serialconsole
anacron
firefox
-pvm
-units
kernel
grub
pcp
-samba-client
-blas
kernel-module-openafs-2.4.21-47.0.1.ELsmp
-lam
kernel-smp-unsupported
-lapack
kernel-smp

  • Aqui voce pode personalizar a instalacao, rodando scripts bash padrao após a instalacao basica. Um detalhe, eh que na instalacao o source (onde estao os arquivos) esta montado em /mnt/source e o seu hd (o sistema que foi instalado) em
/mnt/sysimage

%post --nochroot

  • Aqui por exemplo, configura os serviços que serão ou não utilizados

echo "Configurando chkconfig"
for f in sshd
{chroot /
mnt/sysimage chkconfig ${f} on
}
for f in cups hpoj pcmcia rhnsd sendmail yum
{chroot /
mnt/sysimage chkconfig --level 23456 ${f} off
}


This topic: Main > WebHome > RemoteBoot
Topic revision: r2 - 2006-11-09 - SergioNovaes
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

antalya escort bursa escort eskisehir escort istanbul escort izmir escort