Installation de CentOS via PXE et automatiser grace à KickStart
Par Romain Tiennot le jeudi 8 décembre 2011, 14:54 - Linux - Lien permanent
Vous pouvez retrouver mon article pour la création d'un serveur DHCP et TFTP pour démarrer sous PXE afin d'installer différente distribution. L'avantage de ceci est que nous n'avons plus besoin de media. Cette article permet d'automatiser cette installation grâce à KickStart. Il suffit de créer un fichier avec différente information. C'est information peuvent être retrouvé sur le site de Fedora ou encore CentOS.
Pour commencer, il faut installer un serveur apache :
apt-get install apache2
Ensuite créer un fichier de réponse à la racine (par exemple) du répertoire "/var/www" :
wget http://romain.tiennot.fr/public/pxelinux/centos5.ks && mv centos5.ks /var/www/
Voici mon exemple :
# Kickstart file for CentOS 5 # TP CESI # General option install url --url http://mirror.centos.org/centos-5/5.7/os/x86_64/ lang fr_FR.UTF-8 keyboard fr-latin1 skipx # Use text for normal install, cmdline for debug cmdline firstboot --disable network --device=eth0 --bootproto=dhcp firewall --disabled selinux --enforcing timezone Europe/Paris authconfig --enableshadow --enablemd5 rootpw --iscrypted $1$Cr6bSPjq$0PDcH3i5r0AOHDt.oDHRt1 # Reboot after install reboot # Disable unnecessary services services --disabled=avahi-daemon,bluetooth,isdn,cups,mdmonitor,NetworkManager,pcscd,smartd,ip6tables,yum-updatesd,portmap,rpcidmapd,netfs,rpcgssd,gpm,nfslock,firstboot,iscsid,iscsi # Partition bootloader --location=mbr --append="console=xvc0" clearpart --all --initlabel part /boot --fstype ext3 --size=150 --ondisk=sda part pv.01 --size=1 --grow --asprimary --ondisk=sda volgroup rootvg --pesize=32768 pv.01 logvol swap --fstype swap --name=LV_swap --vgname=rootvg --size=1024 logvol / --fstype ext4 --name=LV_Racine --vgname=rootvg --size=4092 logvol /var --fstype ext4 --name=LV_var --vgname=rootvg --size=4048 # Select package to install %packages @editors @core @base @french-support rsyslog postfix nfs-utils # Remove unnecessary package -sendmail-cf -sendmail -exim -smartmontools -autofs -bluez-utils -acpid -mdmonitor -microcode_ctl -xinetd -pcsc-lite -sysklogd # Postinstall script %post --log=/root/kickstart_post_install.log cat <<EOF >>/etc/motd Installed `date` EOF
Par la suite, s'assurer que le serveur à un accès internet afin de télécharger les sources d'installation indiqué un peu plus haut dans le fichier de réponse "url --url http://mirror.centos.org/centos-5/5.7/os/x86_64/". Il est possible d'indiquer l'emplacement du CDROM ou encore d'un emplacement sur le disque dur.
Il faut indiquer dans le fichier "default" que l'installation du CentOS utilisera le fichier "centos5.ks" présent sur notre serveur Apache :
LABEL CentOS 5.7 KS eth0 KERNEL image/centos/5.7/vmlinuz APPEND ks=http://172.16.0.152/centos5.ks initrd=image/centos/5.7/initrd.img
Il ne vous reste plus qu'à démarrer en PXE et lancer l'installation. Si une erreur est rencontré à cause du fichier de réponse, celui si vous demandera de modifier les informations (Par exemple, le chemin du fichier KS ou encore les sources d'installation).
A bientôt,
Romain
Il y a 3 commentaires
je pense qu'il y a un problème avec ton fichier de réponse centos5.ks.
J'ai pris les fichiers de boot de centos-6 changeant l'url du centos6.ks par http://mirror.centos.org/centos-6/6...
Mon client pxe boot en reconnaissant bien mon fichier .ks mais l'installation se bloque après la "création du système de fichier ext4 sur /dev/mapper/rootvg-LV_var
En cours "
Je sais pas si tu peux réessayé ton fichier tel que tu l'a mis sur ton blog ?
Bon en fait ça merde bien avant, je ne sais pas pourquoi c'est passé un moment donné jusqu'à la fin de la création des lvm.
Maintenant j'ai refais un test en prenant le vmlinuz et initrd ici:
http://mirror.centos.org/centos-6/6... && mv mlinuz /tftpboot/images/centos
http://mirror.centos.org/centos-6/6... && mv initrd.img /tftpboot/images/centos
Ensuite dans le fichier ks,
j'ai juste changé cette ligne par rapport à toi:
url --url http://mirror.centos.org/centos-6/6...
Et donc en bootant en pxe, mon client s'arrête à :
"
Analyse des périphériques de stockages
En cours
impossible d'avoir une question en ligne de commande !
questionInitializeDisk
"
Effectivement, avec la version 6 de CentOS, il y a peu être des choses à modifier. (même sur, car mon fichier de réponse est pour la version 5 "# Kickstart file for CentOS 5"
Merci pour ton retour, je vais essayer mettre à jour mon billet quand j'aurais le temps.
Romain