Guide du programme d'installation automatisée Oracle Solaris 11 Express

ISC DHCP pour le programme d'installation automatisée

Cette section décrit la configuration DHCP ISC pour servir les informations dont vous avez besoin pour les installations IA.

Configuration réseau de base

Définissez un réseau de base dans votre fichier dhcpd.conf. Dans l'exemple suivant, le réseau 192.168.0.0/24 est défini afin de servir les adresses IP comprises entre 2 et 100 avec un routeur de 192.168.0.1 :

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.2 192.168.0.100;
  option routers 192.168.0.1;
}

Configuration de DNS

De même, ajoutez les informations DNS à votre fichier dhcpd.conf. Si vous souhaitez que chaque sous-réseau servi obtienne des informations DNS différentes, placez les directives dans le bloc de sous-réseau ou, pour que tous les sous-réseaux servis soient affectés, au début du fichier.

option domain-name "example.com";
option domain-name-servers 192.168.0.1;

Configuration du serveur d'initialisation et du fichier d'initialisation

Le programme d'installation automatisée nécessite une configuration du serveur d'initialisation et du fichier d'initialisation dans DHCP. Lorsque vous démarrez un ordinateur client pour l'installation automatisée, ce client a besoin de connaître l'emplacement à partir duquel il peut obtenir un fichier d'initialisation (à partir du serveur IA) et le nom du fichier d'initialisation. Ces informations sont fournies par la commande installadm create-service lorsque vous configurez un service IA. L'exemple suivant illustre la sortie partielle d'une commande installadm create-service :

Boot server IP (BootSrvA) : 192.168.0.1
Boot file      (BootFile) : install_test_ai_x86
GRUB Menu      (GrubMenu) : menu.lst.install_test_ai_x86

En termes de DHCP ISC, le serveur d'initialisation est la directive next-server, et le fichier d'initialisation est la directive filename. Ajoutez ces directives à votre groupe de sous-réseau, comme indiqué dans l'exemple :

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.2 192.168.0.100;
  option routers 192.168.0.1;
  filename "install_test_ai_x86";
  next-server 192.168.0.1;
}

Pour un service IA SPARC, utilisez la même directive filename pour l'objet BootFile. Les installations SPARC ne nécessitent pas de directive next-server (BootSvrA).

Si vous utilisez le programme d'installation automatisée pour installer les machines x86 et SPARC, utilisez la directive DHCP ISC class pour fournir les informations de fichier d'initialisation aux clients SPARC et fournir les informations de fichier d'initialisation et de serveur d'initialisation aux clients x86. Le fait de fournir des informations spécifiques à l'initialisation dans des directives class distinctes vous permet de disposer d'un service par défaut pour chaque architecture sur le réseau.

Classe d'initialisation PXE

L'exemple suivant est une définition class pour une initialisation matérielle x86 :

class "PXEBoot" {
  option dhcp-class-identifier "PXEClient";
  filename "install_test_ai_x86";
  next-server 192.168.0.1;
}

Classe d'initialisation SPARC

L'exemple suivant est une définition class pour l'initialisation matérielle SPARC. Notez qu'une directive next-server n'est pas nécessaire pour SPARC :

class "SPARC" {
  match if ( substring (option vendor-class-identifier, 0, 5) = "SUNW." ) and not
           ( option vendor-class-identifier = "SUNW.i86pc" );
  filename "http://192.168.0.1:5555/cgi-bin/wanboot-cgi";
}

Exemple de fichier de configuration

Avec ces définitions de classe, les clients SPARC demandent un bail et obtiennent des informations spécifiques à SPARC, tandis que les clients x86 demandent et obtiennent des informations spécifiques à x86. Les exemples ci-après présentent l'intégralité du fichier dhcpd.conf :

# option definitions common to all supported networks...
option domain-name "example.com";
option domain-name-servers 192.168.0.1;

default-lease-time 600;
max-lease-time 86400;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# This is an easy way to discriminate on SPARC clients
class "SPARC" {
  match if ( substring (option vendor-class-identifier, 0, 5) = "SUNW." ) and not
           ( option vendor-class-identifier = "SUNW.i86pc" );
  filename "http://192.168.0.1:5555/cgi-bin/wanboot-cgi";
}

# This is a class to discriminate on PXE booting x86 clients
class "PXEBoot" {
  option dhcp-class-identifier "PXEClient";
  filename "install_test_ai_x86";
  next-server 192.168.0.1;
}
        
# This is a very basic subnet declaration
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.2 192.168.0.100;
  option routers 192.168.0.1;
}