Overblog
Editer la page Suivre ce blog Administration + Créer mon blog
/ / /

Plusieurs méthodes permettent l'installation d'un serveur Solaris 10x86 :

    Via le DVD (ou CD) : méthode simple et efficace mais pas très optimal (en production)
    Via le réseau : méthode d'installation basé sur les réseaux avec une image de type flar.

Cette dernière méthode peut être mise en oeuvre soit par :

    Un boot via PXE : nécessite la mise en place d'un serveur DHCP (un peu lourd) et d'un serveur d'images
    Un boot via GRUB : nécessite la mise en place d'un serveur TFTP (très simple) et d'un serveur d'images

L'article va porter sur une installation réseau initialisé par GRUB.


Petits rappels


Sur une architecture i386, l'activation d'un device (disque, clé usb, cd, dvd, ...) fonctionne si et seulement si une structure MBR (Master Boot Record) est présente sur les premiers secteurs du device. A partir de l'update 1 de Solaris 10, la structure MBR est initialisée par le programme GRUB (qui plus est un chainloader).

Il faut donc que le serveur soit initialisé avec un device possédant une MBR valide.


Schéma





Explications

Le plus simple est de créer une image iso bootable pour l'utiliser comme :

    Une image gravée sur un support physique (clé usb, dvd, cd, ...) à mettre dans le serveur
    Une image lancée via la javaconsole du déport Console

Cette image contiendra le programme GRUB ainsi qu'un fichier "menu.lst" contenant :

    La configuration de l'interface réseau
    L'entrée pour rechercher les fichiers de configuration jumpstart
    Le nom du miniroot Solaris


Boot réseau selon GRUB


GRUB permet la configuration dynamique d'une interface réseau disponible sur le serveur (à condition que GRUB dispose du bon driver réseau). Par exemple :

ifconfig --address=192.168.100.20 --gateway=192.168.100.254 --mask=255.255.255.0 --server=192.168.0.20
root (nd)


Dans cette exemple:

    Le serveur à installer est configuré avec l'adresse 192.168.100.20/24
    L'adresse du routeur par défaut est 192.168.100.254
    Le server tftpd (contenant le miniroot et le programme multiboot) est joignable à l'adresse suivante 192.168.0.20

Une fois l'intercace réseau correctement configurée, il faut indiquer l'emplacement des fichiers de configuration jumpstart. Par exemple :

kernel multiboot kernel/unix install nfs://192.168.0.20/jumpstarts/config/maya/config.tar -B install_media=192.168.0.20:/jumpstarts/miniroot/0508,output-device=ttya,input-device=ttya -k

Attention il s'agit d'une seule ligne

Quelques précisions sont nécessaires :

    kernel multiboot kernel/unix : on utilise le programme multiboot qui doit être disponible sur le serveur tftpd
    install : mot clé qui sera interprété par le miniroot Solaris 10 pour lancer le processus d'installation
    nfs://... : indique l'emplacement des fichiers jumpstart archivés par la commande tar.
    -B install_media : indique l'emplacement des fichiers catalogues de l'image Solaris 10
    output-device=ttya : redirection de la sortie sur le port série (uniquement utilise si utilisation d'un déport console)
    input-device=ttya : redirection de l'entrée sur le port série (uniquement utilise si utilisation d'un déport console)
    -k : lancement du kernel en mode debug

Il suffit de préciser l'emplacement du miniroot Solaris 10 par l'instruction module :

module x86.miniroot

Schéma :




Exemple complet du fichier menu.lst


  ifconfig --address=192.168.100.20 --gateway=192.168.100.254 --mask=255.255.255.0 --server=192.168.0.20
  root (nd)

  kernel multiboot kernel/unix install nfs://192.168.0.20/jumpstarts/config/maya/config.tar -B install_media=192.168.0.20:/jumpstarts/miniroot/0508,output-device=ttya,input-device=ttya -k
  module x86.miniroot


Configuration du serveur ftpd


Si tout est correctement assimilé, le serveur tftpd doit contenir :

    Le miniroot Solaris 10
    Le programme multiboot

Le miniroot et le programme multiboot sont disponibles sur l'image Solaris 10 dans ./Solaris_10/Tools/Boot.

# mkdir /tftpboot
# chmod 755 /tftpboot
# cd /jumpstarts/image/0508/Solaris_10/Tools/Boot
# cp -pr multiboot /tftpboot
# cp -pr x86.miniroot /tftpboot
# egrep tftp /etc/inetd.conf
tftp    dgram   udp6    wait    root    /usr/sbin/in.tftpd      in.tftpd -s /tftpboot
# inetconv -i
/etc/inetd.conf
# inetadm -l svc:/network/tftp/udp6:default
SCOPE    NAME=VALUE
         name="tftp"
         endpoint_type="dgram"
         proto="udp6"
         isrpc=FALSE
         wait=TRUE
         exec="/usr/sbin/in.tftpd -s /tftpboot"
         user="root"
default  bind_addr=""
default  bind_fail_max=-1
default  bind_fail_interval=-1
default  max_con_rate=-1
default  max_copies=-1
default  con_rate_offline=-1
default  failrate_cnt=40
default  failrate_interval=60
default  inherit_env=TRUE
default  tcp_trace=FALSE
default  tcp_wrappers=FALSE
# inetadm | egrep tftp
enabled   online         svc:/network/tftp/udp6:default

Configuration du serveur d'images

Le serveur d'images et le serveur tftp peuvent être sur le même serveur. Le service nfs server doit être activé.

# svcs svc:/network/nfs/server:default
STATE          STIME    FMRI
disabled       Sep_29   svc:/network/nfs/server:default
# svcadm enable
svc:/network/nfs/server:default
# svcs svc:/network/nfs/server:default
STATE          STIME    FMRI
online           Sep_29   svc:/network/nfs/server:default


Il faut partager le répertoire où l'archive des fichiers jumpstart est présente, tout comme le répertoire où les images flar sont disponibles. Par exemple :

    Les fichiers de configuration se trouvent dans /jumpstart/config
    On distingue la configuration d'un serveur par son nom
    Les images flar sont disponibles dans /jumpstart/flar   

# share -F nfs -o ro,anon=0
/jumpstarts/config
# share -F nfs -o ro,anon=0 /jumpstarts/flar
# ls /jumpstarts/config
bros    maya   porcine    snoopy
# cd /jumpstarts/config/maya
# ls -l
-rwxr-xr-x   1 root     sys        59536 Dec 30  2005 check
-rw-r--r--   1 root     sys          494 Oct 14 10:16 class
-rw-r--r--   1 root     sys        89600 Oct 14 10:16 config.tar
-rwxr-xr-x   1 root     sys         2115 Oct 14 10:14 final
-rwxr-xr-x   1 root     sys          104 Oct 14 09:59 rules
-rw-r--r--   1 root     sys           50 Oct 14 10:16 rules.ok
-rw-r--r--   1 root     sys         8211 Oct 14 10:16 start
-rw-r--r--   1 root     sys          493 Oct 14 10:16 sysidcfg
# tar tpvf config.tar
-rwxr-xr-x   0/3    59536 Dec 30 16:38 2005 check
-rw-r--r--   0/3      494 Oct 14 10:16 2008 class
-rwxr-xr-x   0/3     2115 Oct 14 10:14 2008 final
-rwxr-xr-x   0/3      104 Oct 14 09:59 2008 rules
-rw-r--r--   0/3       50 Oct 14 10:16 2008 rules.ok
-rw-r--r--   0/3     8211 Oct 14 10:16 2008 start
-rw-r--r--   0/3      493 Oct 14 10:16 2008 sysidcfg
# cd
/jumpstarts/flar
# ls -l
-rw-r--r--   1 nobody   nobody   1395713430 Jul 24 22:11 Solaris10_0508_i386_137112-03.flar
-rw-r--r--   1 nobody   nobody   1354739700 Jun 27  2007 Solaris10_0606_i386_125101-03.flar
-rw-r--r--   1 nobody   nobody   1537956952 Jul 23 15:35 Solaris10_0807_i386_127112-11.flar
-rw-r--r--   1 nobody   nobody   1308381763 Jun 29  2007 Solaris10_1106_i386_125101-10.flar



Informations sur les fichiers jumpstart

Le contenu des fichiers jumpstart ne sera pas expliqué ici (ce n'est pas le but de larticle). Le fichier class doit contenir les informations suivantes :

# pwd
/jumpstarts/config/maya
# cat class
install_type    flash_install
archive_location nfs 192.168.0.20:/jumpstarts/flar/Solaris10_0508_i386_137112-03.flar
...


En résumé

Il est possible de charger un serveur Solaris 10x86 par le réseau en utilisant GRUB pour initialiser la connexion. Une fois les points suivants adaptés, il s'agit d'une solution reobuste pour un environnement de production :

    Génération automatique des fichiers iso bootables
    Génération automatique des fichiers jumpstart
Partager cette page