Installation automatisée

Démarrage à partir du réseau

Objectif : avant d'installer la machine, nous allons mettre en place un environnement de démarrage à partir du réseau basé sur le protocole PXE.

  1. Dans la configuration réseau de votre VM, changez le type de la carte réseau en PCnet-FAST III.
  2. Modifiez la configuration du serveur DHCP pour ajouter des informations de démarrage (nom du serveur de démarrage et fichier de démarrage) :
    subnet 192.168.X.0 netmask 255.255.255.0 {
      range                       192.168.X.100 192.168.X.200;
      option domain-name-servers  192.168.0.250;
      option domain-name          "isl.dil.univ-mrs.fr";
      option subnet-mask          255.255.255.0;
      option routers              192.168.X.10;
      default-lease-time          600;
      max-lease-time              7200;
    
      ### fichier et serveur de démarrage
      filename      "boot-vm/pxelinux.0";   
      next-server   192.168.X.10;
    }
    
  3. Tentez un démarrage réseau de votre VM (F12 au démarrage puis « l »). Vous devez observer les tentatives de chargement qui échouent.
  4. Pour que le matériel de démarrage soit accessible nous allons installer un serveur TFTP (Trivial FTP) :
    yum -y install tftp-server xinetd
    chkconfig tftp on
    service xinetd restart
    
    Vérifiez que le serveur TFTP (via le démon xinetd) est bien à l'écoute :
    netstat -uap|grep tftp
    
  5. Nous allons maintenant préparer un répertoire (boot-vm) qui va regrouper les fichiers nécessaires au démarrage de notre VM.
    ### fichiers utiles
    yum -y install syslinux
    
    ### répertoires TFTP
    mkdir /var/lib/tftpboot/boot-vm
    mkdir /var/lib/tftpboot/boot-vm/pxelinux.cfg
    
    ### mise en place des fichiers
    cd /var/lib/tftpboot/boot-vm
    cp -v /usr/share/syslinux/pxelinux.0 .
    cp -v /usr/share/syslinux/menu.c32   .
    wget http://www.dil.univ-mrs.fr/linux/centos/6/os/x86_64/images/pxeboot/vmlinuz
    wget http://www.dil.univ-mrs.fr/linux/centos/6/os/x86_64/images/pxeboot/initrd.img
    
    Préparez le menu de démarrage dans le fichier /var/lib/tftpboot/boot-vm/pxelinux.cfg/default :
    DEFAULT menu.c32
    PROMPT 0
    TIMEOUT 100
    NOESCAPE 1
    
    LABEL Centos 6
      KERNEL vmlinuz
      APPEND initrd=initrd.img ramdisk_size=8192
    
    LABEL Centos 6 Rescue
      KERNEL vmlinuz
      APPEND initrd=initrd.img ramdisk_size=8192 rescue
    
  6. Vous pouvez maintenant tentez un démarrage à partir du réseau. Observez le traffic réseau avec la commande ci-dessous :
    tcpdump -i vboxnet0
    

Installation automatisée

Principe : Pour préparer un grand nombre de postes de travail, les installations automatisées se proposent de stocker les réponses aux questions posées par le logiciel d'installation afin d'automatiser et d'accélérer le processus.

Pour les distributions de type Redhat, la technologie se nomme kickstart (plus d'information ici). Vous pouvez rédiger le fichier des réponses à la main, mais il est plus simple d'utiliser l'utilitaire system-config-kickstart (installez-le si besoin).

♦ Préparez un fichier kickstart simple (langue, date, mot-de-passe administrateur, partitions, réseau et choix des packages) et rendez le disponible sur votre site WEB personnel de votre machine de travail (pensez à activer httpd). On doit pouvoir y accéder via une URL de ce type :

http://192.168.0.xx/~votre_login/ks.cfg

♦  Une installation complètement automatisée est constituée de cinq étapes :

  1. Démarrage de la machine par le BIOS,
  2. Amorçage par la carte réseau (protocole PXE),
    1. Configuration de l'adressage IP (par DHCP),
    2. Chargement du noyau identifié par PXE (TFTP),
    3. Lancement du noyau,
  3. Lancement du logiciel d'installation (anaconda),
  4. Lecture du fichier kickstart,
  5. installation automatisée.

♦ Nous allons maintenant préparer les trois dernières étapes. Ajoutez au fichier /var/lib/tftpboot/boot-vm/pxelinux.cfg/default les lignes ci-dessous :

LABEL Centos 6 Kickstart
  KERNEL vmlinuz
  APPEND initrd=initrd.img ramdisk_size=8192 ks=http://192.168.0.xx/~votre_login/ks.cfg

Vous indiquez sur la ligne de commande du noyau la position du fichier des réponses. le logiciel anaconda va récupérer cette information afin de charger le fichier. L'installation doit se dérouler sans questions.

♦  Modifiez votre fichier kickstart de manière à configurer votre machine après l'installation (script placé dans la clause post). A titre d'exemple,

  1. assurez-vous que le service httpd est lancé,
  2. ajoutez des règles iptables spécifiques,
  3. mettez en place un message de login (/etc/motd),
  4. mettez en place un message de présentation (/etc/issue),

Relancez une nouvelle installation.