Diferencia entre revisiones de «Instalación de Fedora por PXE»
m (Revertidos los cambios de 67.222.147.13 (disc.) a la última edición de 84.78.184.190) |
|||
(No se muestran 35 ediciones intermedias de 5 usuarios) | |||
Línea 1: | Línea 1: | ||
+ | {| class="wikitable" align="right" cellpadding="4" | ||
+ | |+ '''Sobre este documento''' | ||
+ | |- | ||
+ | | bgcolor="#ddf"|'''Tipo''' || Manual (How To) | ||
+ | |- | ||
+ | | bgcolor="#ddf"|'''Categoria''' || [[:Categoría:Linux|Linux]] | ||
+ | |- | ||
+ | | bgcolor="#ddf"|'''Plataforma''' || Fedora Linux | ||
+ | |- | ||
+ | | bgcolor="#ddf"|'''Dificultad''' || [[Imagen:Micro_tux.png|Tux]][[Imagen:Micro_tux.png|Tux]][[Imagen:Micro_tux.png|Tux]] | ||
+ | |- | ||
+ | |} | ||
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 12: | 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 44: | 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''. | ||
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 === | ||
+ | ---------------------------- | ||
+ | Es posible crear una jerarquía con diversas arquitecturas y versiones de CentOS/Fedora por ejemplo con esta estructura: | ||
+ | <pre> | ||
+ | /tftpboot/images/centos/i386/5.4 | ||
+ | </pre> | ||
+ | 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'': | Hay que crear el directorio /tftpboot/pxelinux.cfg/ y crear los siguientes archivos usando ''touch'': | ||
Línea 61: | Línea 83: | ||
C0A800FE | C0A800FE | ||
00-0A-5E-54-19-A5 | 00-0A-5E-54-19-A5 | ||
+ | |||
+ | === Nota B === | ||
+ | ---------------------------- | ||
+ | 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: | 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: | ||
Línea 71: | Línea 99: | ||
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. | ||
− | + | ||
− | =Servidor HTTP= | + | === Nota C === |
+ | ---------------------------- | ||
+ | Siguiendo la jerarquía de images/centos/i386/5.4 un posible fichero /tftpboot/pxelinux.cfg/default podría ser este: | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | ---------------------------- | ||
+ | |||
+ | == 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 84: | 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 90: | 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 105: | 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. | ||
− | =Instalando= | + | === Nota D === |
+ | ------------------------ | ||
+ | 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> | ||
+ | # 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 | ||
+ | </pre> | ||
+ | |||
+ | Nota: Algunos parámetros se deben ajustar a la instalación en particular que se haga! | ||
+ | ------------------------ | ||
+ | |||
+ | == 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 22:51 14 abr 2010
Tipo | Manual (How To) |
Categoria | Linux |
Plataforma | Fedora Linux |
Dificultad | ![]() ![]() ![]() |
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.
Contenido
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.