Outils pour utilisateurs

Outils du site


kickstart

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

kickstart [2016/03/28 21:12] (Version actuelle)
Ligne 1: Ligne 1:
 +
 +===== Kickstart =====
 +
 +==== Introduction ====
 +//​kickstart//​ est un mécanisme d'​installation automatique proposé par RedHat et [[:​installationcentos|CentOS]].
 +
 +Le principe consiste à automatiser les réponses aux différentes étapes de l'​installation (configuration de la langue, du clavier, partitionnement des disques, etc.
 +
 +Il "​suffit"​ de démarrer le processus d'​installation en fournissant un fichier //​kickstart//​. Cela peut se faire en créant son propre média d'​installation ou en démarrant sur le réseau (PXE).
 +
 +Ces fichiers peuvent être générés de 2 manières:
 +  * en éditant un fichier existant (par exemple le fichier // /​root/​anaconda-ks.cfg //) généré par une installation manuelle type.
 +  * via l'​outil graphique //​system-config-kickstart//,​ qui a l'​inconvénient de ne pas permettre la configuration de **[[:​lvm|lvm]]**
 +
 +==== serveur dhcp ====
 +
 +Il va répondre aux requêtes DHCP/BOOTP émises par les [[:​clients|clients]],​ y répondre (configuration réseau) puis leur indiquer le serveur à interroger pour récupérer la configuration de démarrage ([[:​noyau|noyau]],​ initrd et paramètre de boot - notamment localisation du fichier [[:​kickstart|kickstart]] - ).
 +
 +pour [[:​dnsmasq|dnsmasq]] il suffit de spécifier les lignes suivantes dans la configuration:​
 +<​code>​
 +dhcp-boot=/​tftpboot/​pxelinux.0,​lenine,​192.168.10.128
 +</​code>​
 +
 +//lenine// et //​192.168.10.128//​ désigne respectivement le nom et l'​adresse du serveur //tftp//
 +
 +==== serveur tftp ====
 +
 +yum install tftp-server
 +systemctl enable tftp-server
 +systemctl start tftp-server
 +
 +Celui-ci met à disposition des [[:​clients|clients]] pxe [[:​noyau|noyau]],​ initrd, paramètres de démarrage afin d'​initier l'​installation.
 +
 +
 +==== pxe ====
 +
 +Il faut installer les paquets:
 +  * syslinux
 +  * syslinux-tftpboot
 +
 +Créer le fichier // /​var/​lib/​tftpboot/​pxelinux.cfg/​default // ( créer le répertoire si nécessaire).
 +
 +Ce fichier est récupéré par le client pxe. Il fait office de bootloader. Dans cet exemple, il présente un menu permettant de choisir un démarrage sur le disque local, ou une installation par le réseau.
 +
 +<​code>​
 +UI menu.c32
 +MENU TITLE Boot Method
 +
 +
 +default local
 +label ^local
 +   TEXT HELP
 +   Boot to local disk
 +   ​ENDTEXT ​
 +   BOOT menu ^Local
 +   ​TIMEOUT 200
 +   ​TOTALTIMEOUT 1200
 +   ​LOCALBOOT 0
 +
 +label network
 +   TEXT HELP
 +   Boot on network, hopefully installing centos via kickstart
 +   ​ENDTEXT ​
 +   BOOT menu ^Network install
 +   ​KERNEL /vmlinuz
 +   ​APPEND ksdevice=eth0 load_ramdisk=1 initrd=/​initrd.img network ks=nfs:​192.168.10.99:/​srv/​tftp/​ks.cfg
 +</​code>​
 +
 +Les 2 dernières lignes sont à modifier en fonction de votre configuration:​
 +
 +// KERNEL **[[:​noyau|noyau]]** //
 +
 +// APPEND ksdevice=eth0 load_ramdisk=1 initrd=**initrd** network ks=**method**:​**adresse** //
 +
 +  * //noyau// fait référence au fichier de [[:​noyau|noyau]] qui doit se trouver dans le répertoire /tftpboot. Vous pouvez par exemple récupérer le [[:​noyau|noyau]] du cd d'​installation
 +  * //initrd// fait référence au fichier initrd correspondant au [[:​noyau|noyau]] ci-dessus.
 +  * //method// indique le protocole à utiliser pour accéder au fichier [[:​kickstart|kickstart]],​ soit **nfs**, soit **http**
 +  * //adresse// renseigne l'​adresse et le chemin vers le fichier [[:​kickstart|kickstart]]. par exemple:
 +    * ks=nfs:​192.168.10.99:/​srv/​tftp/​ks.cfg
 +    * ks=http://​serveur/​install/​ks.cfg
 +
 +
 +Insérer ensuite le DVD centos dans le lecteur physique ou virtuel de la machine
 +
 +Créer le répertoire /​var/​lib/​tftpboot/​CentOS
 +
 +Monter le CD dans ce répertoire
 +
 +Copier les fichiers isolinux/​{vmlinuz,​initrd.img} dans /​var/​lib/​tftpboot
 +
 +Copier le fichier cp /​root/​anaconda-ks.cfg dans /​var/​lib/​tftpboot/​ks.cfg
 +
 +Remplacer la ligne //cdrom// par <​code>​url --url "​http://​192.168.10.135/​CentOS/"</​code>​
 +
 +Remplacer la ligne <​code>​clearpart --none</​code>​ par <​code>​clearpart --all</​code>​
 +
 +fichier ks complet et fonctionnel dans //​Fichiers//​
 +
 +==== Serveur apache ====
 +
 +Pour publier les différents fichiers -et éventuellement servir de base à un la création d'un dépôt local
 +
 +Configuration:​
 +<​code>​
 +<​VirtualHost *:80>
 +  ServerName localhost
 +  ServerAlias 192.168.10.99
 +  DocumentRoot /​var/​lib/​tftpboot/​
 +  errorlog /dev/null
 +  customlog /dev/null combined
 +  <​Directory /​var/​lib/​tftpboot/>​
 +          require all granted
 +          Options indexes
 +  </​Directory>​
 +</​VirtualHost>​
 +</​code>​
 +
 +==== kickstart ====
 +
 +On peut utiliser //​system-config-kickstart//​ pour le mettre au point.
 +
 +Il faut ensuite le mettre à disposition suivant la méthode (http ou nfs) voulue, au bon endroit.
 +
 +# vim: set filetype=dokuwiki:​
  
kickstart.txt · Dernière modification: 2016/03/28 21:12 (modification externe)