Guida all'installazione di Solaris 10 8/07: installazioni di rete

Scrittura di uno script che utilizza dhtadm per creare opzioni e macro

È possibile creare uno script con la Korn shell adattando la procedura descritta nell'Esempio 3–1 in modo da creare tutte le opzioni elencate nella Tabella 3–3 e nella Tabella 3–4 e alcune utili macro. Accertarsi di modificare tutti gli indirizzi IP e i valori contenuti tra virgolette in modo che corrispondano agli indirizzi IP corretti, ai nomi dei server e ai percorsi per la rete. Inoltre si dovrebbe modificare la chiave Vendor= per indicare la classe di client presenti. Usare le informazioni indicate da add_install_client -d per ottenere i dati necessari per adattare lo script.


Esempio 3–1 Esempio di script per il supporto dell'installazione di rete

# Carica le opzioni specifiche dei fornitori per Solaris. Inizialmente sono supportati 
# i sistemi Sun-Blade-1000, Sun-Fire-880 e le piattaforme i86. Si noti che le 
# opzioni SUNW.i86pc sono valide solo per Solaris 10 3/05. 
# Modificando -A in -M i valori vengono sostituiti anzichè aggiunti.
dhtadm -A -s SrootOpt -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,1,ASCII,1,0'
dhtadm -A -s SrootIP4 -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,2,IP,1,1'
dhtadm -A -s SrootNM -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,3,ASCII,1,0'
dhtadm -A -s SrootPTH -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,4,ASCII,1,0'
dhtadm -A -s SswapIP4 -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,5,IP,1,0'
dhtadm -A -s SswapPTH -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,6,ASCII,1,0'
dhtadm -A -s SbootFIL -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,7,ASCII,1,0'
dhtadm -A -s Stz -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,8,ASCII,1,0'
dhtadm -A -s SbootRS -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,9,NUMBER,2,1'
dhtadm -A -s SinstIP4 -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,10,IP,1,1'
dhtadm -A -s SinstNM -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,11,ASCII,1,0'
dhtadm -A -s SinstPTH -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,12,ASCII,1,0'
dhtadm -A -s SsysidCF -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,13,ASCII,1,0'
dhtadm -A -s SjumpsCF -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,14,ASCII,1,0'
dhtadm -A -s Sterm -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,15,ASCII,1,0'
dhtadm -A -s SbootURI -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,16,ASCII,1,0'
dhtadm -A -s SHTTPproxy -d \
'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,17,ASCII,1,0'
# Carica alcune definizioni di macro utili.
# Definisce tutte le opzioni generiche di Solaris in questa macro denominata Solaris.
dhtadm -A -m Solaris -d \
':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":'
# Definisce tutte le opzioni sparc di Solaris in questa macro denominata sparc.
dhtadm -A -m sparc -d \
':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":'
# Definisce tutte le opzioni di sun4u in questa macro denominata sun4u. 
#  (Include le macro Solaris e sparc.)
dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:'
# I parametri specifici di Solaris su IA32 sono in questa macro denominata i86pc.
# Questa macro si applica solo a Solaris 10 3/05.
dhtadm -A -m i86pc -d \
':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\
:SbootFIL="/platform/i86pc/kernel/unix":'
# I sistemi Solaris su IA32 sono identificati dalla classe "SUNW.i86pc". Tutti
# i client che sono membri di questa classe vedranno questi parametri
# nella macro denominata SUNW.i86pc, che include la macro i86pc.
# Si noti che questa classe si applica solo a Solaris 10 3/05.
dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:'
# Le piattaforme Sun-Blade-1000 si identificano come membri 
# della classe "SUNW.Sun-Blade-1000".
# Tutti i client che si identificano come membri di questa classe
#  vedranno questi parametri.
dhtadm -A -m SUNW.Sun-Blade-1000 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\
Include=sun4u:'
# Le piattaforme Sun-Fire-880 si identificano come membri della classe "SUNW.Sun-Fire-880".
# Tutti i client che sono membri di questa classe vedranno questi parametri.
dhtadm -A -m SUNW.Sun-Fire-880 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:'
# Aggiunge l'IP del server di avvio a tutte le macro di rete della topologia servite dal
# server DHCP. Nell'esempio, il server di avvio è anche il server DHCP.
dhtadm -M -m 10.20.64.64 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.20.64.0 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.20.64.128 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.21.0.0 -e BootSrvA=10.21.0.2
dhtadm -M -m 10.22.0.0	-e BootSrvA=10.21.0.2
# Verifica che i nomi degli host vengano restituiti ai client.
dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_
# Crea una macro per i client PXE che devono essere avviati dal server di avvio.
# Questa macro si applica solo a Solaris 10 3/05.
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=nbp.i86pc:BootSrvA=10.21.0.2:
# Crea una macro per i client PXE che devono essere avviati dal server di avvio.
# Questa macro si applica solo a Solaris 10 2/06.
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=i86pc:BootSrvA=10.21.0.2:
# Crea una macro per il client x86 con l'indirizzo Ethernet 00:07:e9:04:4a:bf 
# per l'installazione dalla rete con PXE.
dhtadm -A -m 010007E9044ABF -d :BootFile=010007E9044ABF:BootSrvA=10.21.0.2:
# Il client con questo indirizzo MAC è un client diskless. Vengono ignorate le impostazioni
# di root della configurazione di rete e impostata la directory root del client.
dhtadm -A -m 0800201AC25E -d \
':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":'

Come superutente, eseguire dhtadm in modalità batch. Specificare il nome dello script per aggiungere le opzioni e le macro a dhcptab. Ad esempio, se il nome dello script è netinstalloptions, digitare il comando seguente:


# dhtadm -B netinstalloptions

I client con classi di fornitori elencate nella stringa Vendor= possono ora utilizzare DHCP per l'installazione dalla rete.

Per maggiori informazioni sull'uso del comando dhtadm, vedere dhtadm(1M). Per maggiori informazioni sul file dhcptab, vedere dhcptab(4).