Le programme d'installation automatisée utilise DHCP pour indiquer l'adresse IP, le masque de sous-réseau, le routeur, le serveur DNS et l'emplacement d'une image d'initialisation à l'ordinateur client à installer.
Si vous souhaitez configurer un serveur DHCP Oracle Solaris ou le configurer pour une utilisation avec le programme d'installation automatisée, reportez-vous à la section DHCP Oracle Solaris pour le programme d'installation automatisée.
Si vous souhaitez configurer un serveur DHCP ISC ou le configurer pour une utilisation avec le programme d'installation automatisée, reportez-vous à la section ISC DHCP pour le programme d'installation automatisée.
Vous pouvez configurer votre serveur d'installation IA afin qu'il soit également un serveur DHCP Oracle Solaris, ou vous pouvez configurer un serveur DHCP distinct.
Si vous avez déjà configuré un serveur DHCP Oracle Solaris, vous devrez peut-être le configurer pour qu'il fonctionne avec le programme d'installation automatisée.
Si vous n'avez pas configuré un serveur DHCP, vous pouvez utiliser la commande installadm create-service avec les options -i et -c pour configurer un pool d'adresses IP à utiliser avec ce service d'installation. Reportez-vous à la section Création d'un service d'installation comprenant la configuration du serveur DHCP Oracle Solaris pour obtenir un exemple. Consultez également la page de manuel installadm(1M). L'option -i définit un nouveau serveur DHCP à partir de l'adresse IP spécifiée. L'option -c définit le nombre spécifié d'adresses IP dans la table DHCP.
Si vous souhaitez configurer un serveur DHCP Oracle Solaris distinct, reportez-vous à la section Partie II, DHCP du System Administration Guide: IP Services. Passez ensuite à la configuration pour le programme d'installation automatisée décrite dans Configuration d'un serveur DHCP existant pour le programme d'installation automatisée.
Si vous n'utilisez pas les options -i et -c, la commande installadm create-service fournit des instructions vous permettant de configurer DHCP. Cette section fournit des informations supplémentaires sur la configuration d'un serveur DHCP pour le programme d'installation automatisée.
Assurez-vous que les entrées de la table netmasks du serveur DHCP sont correctes, pour tous les réseaux pour lesquels il fournira le service DHCP.
# cat >>/etc/netmasks 192.168.0.0 255.255.255.0 # getent netmasks 192.168.0.0 192.168.0.0 255.255.255.0 |
Exécutez dhcpconfig(1M) pour initialiser le service SMF DHCP. La commande suivante crée un référentiel basé sur des fichiers et une macro d'hôte avec un bail par défaut d'un jour. Cette commande active également le service SMF svc:/network/dhcp-server .
# /usr/sbin/dhcpconfig -D -r SUNWfiles -p /var/dhcp # dhtadm -P Name Type Value ================================================== example-host Macro :Include=Locale:DNSdmain="example.com":DNSserv=192.168.0.1: Locale Macro :UTCoffst=-25200: |
Pour ajouter des macros pour chaque réseau de site, utilisez dhcpconfig pour ajouter la macro de site et renseigner les tables de réseau. L'option -t indique le routeur pour ce réseau. Vous pouvez également utiliser cette fonction pour ajouter de nouvelles informations réseau aux serveurs DHCP hébergeant les réseaux existants.
# dhcpconfig -N 192.168.0.1 -m 255.255.255.0 -t 192.168.0.1 |
Pour configurer votre serveur DHCP Oracle Solaris en vue d'une utilisation avec le programme d'installation automatisée, créez une macro DHCP et utilisez dhtadm pour ajouter la macro à la table de configuration DHCP, dhcptab(4). Voir l'exemple de sortie installadm create-service dans Création d'un service d'installation sans configuration DHCP .
La première macro créée pour une architecture est la macro par défaut pour tous ses clients.
Affectez les adresses IP de client si nécessaire.
Utilisez la commande pntadm(1M) pour ajouter les réseaux à la table de réseau DHCP, dhcp_network(4).
Vérifiez les tables de réseau :
# pntadm -L |
Attribuez au client un bail DHCP et définissez sa macro DHCP pour utiliser l'image d'installation IA correcte. Exécutez les commandes de cette section sur le serveur DHCP.
L'option -i de la commande pntadm est l'ID du client à installer. L'option -m spécifie le nom de cette macro. Dans cet exemple, le nom de la macro est le même que l'adresse MAC du client. Ceci permet d'assurer que vous n'avez qu'un bail par hôte.
# pntadm -A 192.168.0.2 -i 01C0FFEEC0FFEE -m 01C0FFEEC0FFEE \ -f "PERMANENT+MANUAL" 192.168.0.0 |
La valeur d'indicateurs 03 représente PERMANENT+MANUAL : le bail est permanent et le serveur DHCP ne sera pas en mesure d'attribuer une adresse différente pour le client.
# pntadm -P 192.168.0.0 | grep 01C0FFEEC0FFEE Client ID Flags Client IP Server IP Lease Expiration Macro Comment 01C0FFEEC0FFEE 03 10.41.30.42 172.30.95.10 Forever 01C0FFEEC0FFEE |
# dhtadm -g -A -m 01COFFEECOFFEE \ -d ":Include=`uname -n`:BootSrvA=192.168.0.1:BootFile=install_test_ai_x86:" |
# dhtadm -P |grep 01C0FFEEC0FFEE 01C0FFEEC0FFEE Macro :Include=example-host:BootSrvA=192.168.0.1:BootFile="install_test_ai_x86": |
Cette section décrit la configuration DHCP ISC pour servir les informations dont vous avez besoin pour les installations IA.
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; }
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;
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.
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; }
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"; }
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; }