Utilisation des fichiers kickstart

Les fichiers Kickstart

Les fichiers Kickstart sont utilisés par l’installeur anaconda (l’installateur de RHEL et CentOS) ils permettent d’automatiser l’installation du système. Lors d’une installation manuelle anaconda génère une fichier nommé /root/anaconda-ks.cfg qui permet de refaire l’installation de façon automatisée.

Des exemples de fichiers Kickstart sont disponibles dans mon repository sur GitHub https://github.com/U03/kickstart

Les mots clés et les options disponibles diffèrent légèrement entre RHEL 6 et RHEL 7, il est donc conseillé de se référer à la documentation officielle:

Les exemples fournis dans mon répertoire GitHub permettent de faire une installation simple:

  • Installation d’un serveur basique
  • Partitionnement automatique du disque
  • Adresse IP statique
  • Authentification de l’utilisateur root par clé SSH
  • Installation en anglais avec clavier français

Ainsi avant utilisation pensez à changer les paramètres suivants:

  • Le nom de l’interface réseau (en particulier sur RHEL 7) puisqu’elle dépend de la position physique de l’interface dans le serveur
  • Adresse IP, masque de réseau et passerelle par défaut
  • hostname
  • La clé publique SSH pour l’authentification de l’utilisateur root
  • Le mot de passe de l’utilisateur root, dans les fichiers d’exemple il est positionné à ‘xxxxxxxxn’oubliez pas de le changer

Il est possible de crypter le mot de passe root en utilisant la commande suivante, le résultat ‘$6$…‘ est dans le bon format pour la commande rootpw:

Création d’une image de disquette

Une des méthodes pour mettre à disposition les fichiers Kickstart est d’utiliser une disquette (réelle, mais plutôt virtuelle maintenant).

Les commandes suivantes permettent de créer une image virtuelle de disquette et de copier dedans les fichiers Kickstart.

Cette image peut ensuite être transférée vers le datastore d’un serveur ESXi par exemple, ou vers un poste de travail pour la monter depuis la carte iLO.

Utilisation du fichier Kickstart

On utilise le fichier Kickstart en ajoutant des paramètres à la commande de boot. Le format de la commande est le même entre les différentes versions de CentOS ou RHEL.

Pour lire le fichier Kickstart depuis un périphérique physique ou virtuel (le paramètre ‘périphérique’ permet de spécifier sur quel device se trouve le fichier Kickstart):

ks=hd:péripherique:/chemin/fichier.ks

Il est également possible de lire le fichier Kickstart depuis le réseau (si un serveur DHCP est disponible) par exemple en HTTP (serveur peut être un nom DNS, dans ce cas il faut que le serveur DHCP ai fourni un serveur DNS):

ks=http://serveur/chemin/fichier.ks

Un serveur NFS est également utilisable avec les mêmes remarques que pour HTTP, NFS est légèrement plus lourd à mettre que HTTP côté serveur:

ks=nfs:serveur/chemin/fichier.ks

Utilisation avec ESXi

Il faut transférer l’image de la disquette de la même manière qu’on transfère l’image ISO de l’OS à installer, puis il faut modifier les paramètres de la VM pour rajouter un lecteur de disquette virtuel à partir de l’image, mais ne pas le connecter à la mise sous tension car par défaut la VM va essayer de booter sur la disquette:

Si vous montez l’image de disquette au démarrage, la VM va tenter de booter en premier sur disquette et vous allez obtenir le genre de message qu’on avait dans le temps lorsqu’on laissait une disquette dans un lecteur avant de rallumer un PC. C’était d’ailleurs un des vecteurs d’infection par les virus avant l’ère d’Internet. Comme dans la chanson, il s’agit d’un message d’erreur que « les moins de 20 ans ne peuvent pas connaître »:

Il ne faudra monter le lecteur de disquette que plus tard, lorsque la mire de boot s’affiche.

Le device pour le lecteur de disquette est ‘fd0‘, ainsi la commande est de la forme:

ks=hd:fd0:/chemin/fichier.ks

Attention, il y a un bug avec la console dans le navigateur (avec ESXi par exemple) qui fait que le clavier est inutilisable s’il est en français au niveau de Windows, il faut obligatoirement paramétrer un clavier anglais en utilisant la barre de langue de Windows.

Utilisation avec une carte iLO

Les cartes iLO des serveurs HPE quand elles sont utilisées avec une licence ont des fonctionnalités très puissantes en termes de lecteurs virtuels:

  • Possibilité de monter une ISO de CD/DVD à partir d’une image présente sur la station de travail de l’utilisateur, ou d’un lecteur de CD/DVD physique présent sur la station de travail de l’utilisateur  (pratique pour installer un serveur avec une station de travail disposant d’une liaison rapide avec le serveur)
  • Possibilité de monter une ISO de CD/DVD à partir d’une image sur un serveur web en spécifiant son URL (pratique pour installer un serveur avec une station de travail disposant d’une liaison lente si le serveur dispose d’une liaison rapide avec le serveur web)
  • Possibilité de monter un lecteur virtuel (en mode stockage de masse) à partir d’une image, d’une URL ou d’un répertoire sur le poste de travail de l’utilisateur (ce qui évite d’avoir à générer une image de disquette pour les fichiers Kickstart par exemple)

CentOS 6 / RHEL 6

Lors du boot le menu qui s’affiche permet de choisir les différentes options (mode ‘rescue’ par exemple), il faut choisir avec les flèches ‘Install or upgrade an existing system‘ puis appuyer sur la touche ‘TAB »:

Après avoir appuyé sur la touche ‘TAB’ vous pouvez taper la commande qui permet de spécifier le chemin vers le fichier Kickstart, ci-dessous pour une disquette virtuelle sous ESXi (voir plus haut) et un nom de fichier ‘rh6a1.ks‘:

Après avoir appuyé sur ‘Entrée’ le système démarre et charge Anaconda et l’installation va commencer automatiquement.

CentOS 7 / RHEL 7

La procédure est la même avec CentOS 7 et RHEL 7, seuls les écrans sont différents.

En sélectionnant ‘Install CentOS Linux 7’ et en appuyant la touche ‘TAB’ vous pouvez entrer les paramètres pour le fichier Kickstart (ci dessous pour une carte iLO avec un répertoire de la station de travail monté en mode stockage de masse):

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.