Diferencia entre revisiones de «Instalación de Fedora por PXE»

De Wiki de BandaAncha.eu
Saltar a: navegación, buscar
(Anotación D)
m (Revertidos los cambios de 67.222.147.13 (disc.) a la última edición de 84.78.184.190)
 
(No se muestran 16 ediciones intermedias de 4 usuarios)
Línea 13: Línea 13:
 
En esta página se explica cómo instalar Fedora usando PXE. Esto es útil cuando hay que instalar muchas máquinas iguales o parecidas. La idea es instalar primero una de las máquinas y coinfigurarla como servidor ''dhcp'' para que el resto de las máquinas carguen el kernel por ''tftp'' y el instalador y los paquetes por ''http''.
 
En esta página se explica cómo instalar Fedora usando PXE. Esto es útil cuando hay que instalar muchas máquinas iguales o parecidas. La idea es instalar primero una de las máquinas y coinfigurarla como servidor ''dhcp'' para que el resto de las máquinas carguen el kernel por ''tftp'' y el instalador y los paquetes por ''http''.
  
=Preliminares=
+
== Preliminares ==
  
 
Después de instalar la primera máquina debemos copiar el contenido del DVD a nuestro disco duro y montarlo.  
 
Después de instalar la primera máquina debemos copiar el contenido del DVD a nuestro disco duro y montarlo.  
Línea 24: Línea 24:
 
  yum install tftp-server syslinux dhcp httpd   
 
  yum install tftp-server syslinux dhcp httpd   
  
=Servidor DHCP=
+
== Servidor DHCP ==
  
 
Para configurar el servidor dhcp es necesario crear o editar el archivo /etc/dhcpd.conf con algo como esto:
 
Para configurar el servidor dhcp es necesario crear o editar el archivo /etc/dhcpd.conf con algo como esto:
Línea 56: Línea 56:
 
Resumiendo un poco, lo que dice este archivo es que cuando la máquina con MAC 00:0A:5E:54:19:A5 haga una petición de IP, se le asigne la IP 192.168.1.11 y se le envíe el archivo /tftpboot/pxelinux.0 como arranque. Se ha supuesto que el servidor tiene IP 192.168.1.1
 
Resumiendo un poco, lo que dice este archivo es que cuando la máquina con MAC 00:0A:5E:54:19:A5 haga una petición de IP, se le asigne la IP 192.168.1.11 y se le envíe el archivo /tftpboot/pxelinux.0 como arranque. Se ha supuesto que el servidor tiene IP 192.168.1.1
  
=Servidor TFTP=
+
== Servidor TFTP ==
  
 
Para activar el servidor tftp hay que editar el archivo /etc/xinetd.d/tftp y cambiar ''disable = yes'' a ''disable = no''.  
 
Para activar el servidor tftp hay que editar el archivo /etc/xinetd.d/tftp y cambiar ''disable = yes'' a ''disable = no''.  
Línea 62: Línea 62:
 
Para configurar correctamente el arranque hay que copiar el archivo /usr/lib/syslinux/pxelinux.0 al directorio /tftpboot/. Deberemos copiar también en el mismo directorio los archivos /boot/initrd.img y /boot/vmlinuz
 
Para configurar correctamente el arranque hay que copiar el archivo /usr/lib/syslinux/pxelinux.0 al directorio /tftpboot/. Deberemos copiar también en el mismo directorio los archivos /boot/initrd.img y /boot/vmlinuz
  
== Nota A ==
+
=== Nota A ===
 
----------------------------
 
----------------------------
 
Es posible crear una jerarquía con diversas arquitecturas y versiones de CentOS/Fedora por ejemplo con esta estructura:
 
Es posible crear una jerarquía con diversas arquitecturas y versiones de CentOS/Fedora por ejemplo con esta estructura:
Línea 84: Línea 84:
 
  00-0A-5E-54-19-A5
 
  00-0A-5E-54-19-A5
  
== Nota B ==
+
=== Nota B ===
 
----------------------------
 
----------------------------
 
Siguiendo este manual para CentOS 5.4 no es necesario crear los ficheros anteriores.
 
Siguiendo este manual para CentOS 5.4 no es necesario crear los ficheros anteriores.
Línea 100: Línea 100:
 
Esto indica al kernel PXE que se use el archivo de configuración ''ks.cfg'' para arrancar el kickstart.
 
Esto indica al kernel PXE que se use el archivo de configuración ''ks.cfg'' para arrancar el kickstart.
  
== Nota C ==
+
=== Nota C ===
 
----------------------------
 
----------------------------
 
Siguiendo la jerarquía de images/centos/i386/5.4 un posible fichero /tftpboot/pxelinux.cfg/default podría ser este:
 
Siguiendo la jerarquía de images/centos/i386/5.4 un posible fichero /tftpboot/pxelinux.cfg/default podría ser este:
Línea 117: Línea 117:
 
----------------------------
 
----------------------------
  
=Servidor HTTP=
+
== Servidor HTTP ==
 
Los contenidos del DVD que hemos montado tienen que ser publicados por http, así como nuestro archivo de kickstart. Primero hacemos el directorio ''linux''.
 
Los contenidos del DVD que hemos montado tienen que ser publicados por http, así como nuestro archivo de kickstart. Primero hacemos el directorio ''linux''.
  
Línea 129: Línea 129:
 
Si Apache está configurado para que siga los enlaces debería publicar bien los contenidos.
 
Si Apache está configurado para que siga los enlaces debería publicar bien los contenidos.
  
=Reiniciar los servicios=
+
== Reiniciar los servicios ==
 
Para que la configuración se cargue debemos reiniciar los servicios
 
Para que la configuración se cargue debemos reiniciar los servicios
 
  /etc/init.d/dhcpd restart
 
  /etc/init.d/dhcpd restart
Línea 135: Línea 135:
 
  /etc/init.d/xinetd restart
 
  /etc/init.d/xinetd restart
 
   
 
   
=Kickstart=
+
== Kickstart ==
  
 
La configuración del archivo ''ks.cfg'' debe editarse para reflejar el tipo de instalación que deseamos hacer, en particular:
 
La configuración del archivo ''ks.cfg'' debe editarse para reflejar el tipo de instalación que deseamos hacer, en particular:
Línea 150: Línea 150:
 
Además pueden añadirse muchas otras opciones. Existe una excelente página sobre kickstart en https://fedoraproject.org/wiki/Anaconda/Kickstart y una utilidad llamada ''system-config-kickstart'' que pueden usarse para estas modificaciones.
 
Además pueden añadirse muchas otras opciones. Existe una excelente página sobre kickstart en https://fedoraproject.org/wiki/Anaconda/Kickstart y una utilidad llamada ''system-config-kickstart'' que pueden usarse para estas modificaciones.
  
== Anotación D ==
+
=== Nota D ===
 
------------------------
 
------------------------
Otra posible versión del fichero ks.cfg dónde es especifican entre otras opciones de instalación un sistema base a nivel de paquetes a instalar:
+
Otra posible versión del fichero ks.cfg dónde se especifican entre otras opciones de instalación un sistema base a nivel de paquetes a instalar:
  
 
<pre>
 
<pre>
# Use text mode install
+
# Use text mode install                  
text
+
text                                    
# Install OS instead of upgrade
+
# Install OS instead of upgrade          
 
install
 
install
 
# Use network installation
 
# Use network installation
Línea 165: Línea 165:
 
lang es_ES.UTF-8
 
lang es_ES.UTF-8
 
keyboard es
 
keyboard es
 +
network --device eth0 --bootproto static --ip 192.168.1.100 --netmask 255.255.255.0 --gateway 192.168.1.2 --nameserver 80.58.32.33,80.58.0.33 --hostname NOMBRE_SERVIDOR!
 
firewall --disabled
 
firewall --disabled
 
authconfig --enableshadow --enablemd5
 
authconfig --enableshadow --enablemd5
 
selinux --disabled
 
selinux --disabled
 
timezone --utc Europe/Madrid
 
timezone --utc Europe/Madrid
 +
bootloader --location=mbr
 +
rootpw CAMBIAR_ROOT_PASS!
 +
# Partitions
 +
# clearpart --all
 +
# part /boot --fstype ext3 --size=100 --asprimary
 +
# part / --fstype ext3 --size=7000
 +
# part /var --fstype ext3 --size=14000
 +
# part /tmp --fstype ext3 --size=2000
 +
# part swap --grow
 +
 
# Reboot after installation
 
# Reboot after installation
 
reboot
 
reboot
Línea 176: Línea 187:
 
@base
 
@base
 
@core
 
@core
@dialup
 
 
@editors
 
@editors
 
@spanish-support
 
@spanish-support
Línea 184: Línea 194:
 
fipscheck
 
fipscheck
 
device-mapper-multipath
 
device-mapper-multipath
 +
 +
# TODO: auth ldap
 
</pre>
 
</pre>
 +
 +
Nota: Algunos parámetros se deben ajustar a la instalación en particular que se haga!
 
------------------------
 
------------------------
  
=Instalando=
+
== Instalando ==
 
Para instalar sólo tenemos que asegurarnos que la máquina esté conectada en red local con el servidor y escoger en la BIOS el arranque por PXE. si todo va bien la instalación se ejecutará automágicamente. Si hay problemas podemos revisar los ficheros /var/log/messages y /var/log/httpd para tratar de identificar y corregir los problemas.
 
Para instalar sólo tenemos que asegurarnos que la máquina esté conectada en red local con el servidor y escoger en la BIOS el arranque por PXE. si todo va bien la instalación se ejecutará automágicamente. Si hay problemas podemos revisar los ficheros /var/log/messages y /var/log/httpd para tratar de identificar y corregir los problemas.
  
 
Para instalar la siguiente máquina sólo hay que editar el archivo /etc/dhcpd.conf, reiniciar el servidor de dhcp y crear con touch un archivo en /tftpboot/ que se corresponda a la MAC nueva.
 
Para instalar la siguiente máquina sólo hay que editar el archivo /etc/dhcpd.conf, reiniciar el servidor de dhcp y crear con touch un archivo en /tftpboot/ que se corresponda a la MAC nueva.
  
=Referencias=
+
== Referencias ==
 
*http://linux.duke.edu/doc/pxe-Quick-Start.ptml
 
*http://linux.duke.edu/doc/pxe-Quick-Start.ptml
 
*http://www.linux-sxs.org/internet_serving/pxeboot.html
 
*http://www.linux-sxs.org/internet_serving/pxeboot.html

Revisión actual del 21:51 14 abr 2010

Sobre este documento
Tipo Manual (How To)
Categoria Linux
Plataforma Fedora Linux
Dificultad TuxTuxTux

En esta página se explica cómo instalar Fedora usando PXE. Esto es útil cuando hay que instalar muchas máquinas iguales o parecidas. La idea es instalar primero una de las máquinas y coinfigurarla como servidor dhcp para que el resto de las máquinas carguen el kernel por tftp y el instalador y los paquetes por http.

Preliminares[editar]

Después de instalar la primera máquina debemos copiar el contenido del DVD a nuestro disco duro y montarlo.

dd if=/dev/sr0 of=/root/fedora_dvd.iso
mount -o ro,loop -t iso9660 /root/fedora_dvd.iso /mnt

Hay que instalar las herramientas necesarias.

yum install tftp-server syslinux dhcp httpd  

Servidor DHCP[editar]

Para configurar el servidor dhcp es necesario crear o editar el archivo /etc/dhcpd.conf con algo como esto:

ddns-update-style ad-hoc;
deny unknown-clients;
not authoritative;
allow bootp;
allow booting;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option domain-name-servers 192.168.1.1;
        range dynamic-bootp 192.168.1.10 192.168.1.254;
        default-lease-time 36000;
        max-lease-time 72000;
        option routers 192.168.1.1;
        option broadcast-address 192.168.1.255;
        option subnet-mask 255.255.255.0;
        next-server 192.168.1.1;
        option root-path "/tftpboot/";
        filename "pxelinux.0";
}

host maq1 {
        hardware ethernet 00:0A:5E:54:19:A5;
        fixed-address 192.168.1.11;
}

Resumiendo un poco, lo que dice este archivo es que cuando la máquina con MAC 00:0A:5E:54:19:A5 haga una petición de IP, se le asigne la IP 192.168.1.11 y se le envíe el archivo /tftpboot/pxelinux.0 como arranque. Se ha supuesto que el servidor tiene IP 192.168.1.1

Servidor TFTP[editar]

Para activar el servidor tftp hay que editar el archivo /etc/xinetd.d/tftp y cambiar disable = yes a disable = no.

Para configurar correctamente el arranque hay que copiar el archivo /usr/lib/syslinux/pxelinux.0 al directorio /tftpboot/. Deberemos copiar también en el mismo directorio los archivos /boot/initrd.img y /boot/vmlinuz

Nota A[editar]


Es posible crear una jerarquía con diversas arquitecturas y versiones de CentOS/Fedora por ejemplo con esta estructura:

/tftpboot/images/centos/i386/5.4

Del DVD de la CentOS debemos copiar los ficheros initrd.img y vmlinuz de images/pxeboot/ al directorio /tftpboot/images/centos/i386/5.4



Hay que crear el directorio /tftpboot/pxelinux.cfg/ y crear los siguientes archivos usando touch:

C
C0
C0A
C0A8
C0A80
C0A800
C0A800F
C0A800FE
00-0A-5E-54-19-A5

Nota B[editar]


Siguiendo este manual para CentOS 5.4 no es necesario crear los ficheros anteriores.



Nótese que el último archivo corresponde a la MAC de la máquina a instalar. La verdadera configuración de PXE la escribimos en el archivo /tftpboot/pxelinux.cfg/default:

default linux
label linux
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.1.1/linux/ks.cfg 

Esto indica al kernel PXE que se use el archivo de configuración ks.cfg para arrancar el kickstart.

Nota C[editar]


Siguiendo la jerarquía de images/centos/i386/5.4 un posible fichero /tftpboot/pxelinux.cfg/default podría ser este:

prompt 0
timeout 300
ONTIMEOUT local

MENU TITLE PXE Menu

LABEL CentOS 5.4 i386
        MENU LABEL CentOS 5.4 i386
        kernel images/centos/i386/5.4/vmlinuz
        append initrd=images/centos/i386/5.4/initrd.img ks=http://192.168.1.1/linux/ks.cfg

Servidor HTTP[editar]

Los contenidos del DVD que hemos montado tienen que ser publicados por http, así como nuestro archivo de kickstart. Primero hacemos el directorio linux.

mkdir /var/www/html/linux
cp /root/anaconda-ks.cfg /var/www/html/linux/ks.cfg

Y hacemos accesible el contenido del DVD:

ln -s /mnt/ /var/www/html/dvd 

Si Apache está configurado para que siga los enlaces debería publicar bien los contenidos.

Reiniciar los servicios[editar]

Para que la configuración se cargue debemos reiniciar los servicios

/etc/init.d/dhcpd restart
/etc/init.d/httpd restart
/etc/init.d/xinetd restart

Kickstart[editar]

La configuración del archivo ks.cfg debe editarse para reflejar el tipo de instalación que deseamos hacer, en particular:

# Use text mode install
text
# Install OS instead of upgrade
install
# Use network installation
url --url=http://192.168.1.1/dvd/
# Reboot after installation
reboot

Además pueden añadirse muchas otras opciones. Existe una excelente página sobre kickstart en https://fedoraproject.org/wiki/Anaconda/Kickstart y una utilidad llamada system-config-kickstart que pueden usarse para estas modificaciones.

Nota D[editar]


Otra posible versión del fichero ks.cfg dónde se especifican entre otras opciones de instalación un sistema base a nivel de paquetes a instalar:

# Use text mode install                   
text                                      
# Install OS instead of upgrade           
install
# Use network installation
url --url=http://192.168.1.1/dvd/

# Options
lang es_ES.UTF-8
keyboard es
network --device eth0 --bootproto static --ip 192.168.1.100 --netmask 255.255.255.0 --gateway 192.168.1.2 --nameserver 80.58.32.33,80.58.0.33 --hostname NOMBRE_SERVIDOR!
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Europe/Madrid
bootloader --location=mbr
rootpw CAMBIAR_ROOT_PASS!
# Partitions
# clearpart --all
# part /boot --fstype ext3 --size=100 --asprimary
# part / --fstype ext3 --size=7000
# part /var --fstype ext3 --size=14000
# part /tmp --fstype ext3 --size=2000
# part swap --grow

# Reboot after installation
reboot


%packages
@base
@core
@editors
@spanish-support
@text-internet
keyutils
trousers
fipscheck
device-mapper-multipath

# TODO: auth ldap

Nota: Algunos parámetros se deben ajustar a la instalación en particular que se haga!


Instalando[editar]

Para instalar sólo tenemos que asegurarnos que la máquina esté conectada en red local con el servidor y escoger en la BIOS el arranque por PXE. si todo va bien la instalación se ejecutará automágicamente. Si hay problemas podemos revisar los ficheros /var/log/messages y /var/log/httpd para tratar de identificar y corregir los problemas.

Para instalar la siguiente máquina sólo hay que editar el archivo /etc/dhcpd.conf, reiniciar el servidor de dhcp y crear con touch un archivo en /tftpboot/ que se corresponda a la MAC nueva.

Referencias[editar]