Solaris 9 12/03 安装指南

为 Solaris 安装参数创建 DHCP 选项和宏

当您使用 add_install_client -d 脚本在安装服务器上添加客户机时,脚本将把 DHCP 配置信息报告到标准输出。在创建将网络安装信息传送给客户机所需的选项和宏时,可以使用此信息。

要从网络安装 DHCP 客户机,您必须创建供应商种类选项,以传送安装 Solaris 操作环境所需的信息。表 7–4 显示了您必须创建的选项以及创建这些选项所需的属性。下表中列出的供应商客户机类确定哪些类的客户机可以使用该选项。此处列出的供应商客户机类仅作实例使用。您应当指定客户机类,它表示您的网络中需要从网络安装的实际客户机。关于如何确定客户机的供应商客户机类的信息,请参见System Administration Guide: IP Services》中的“Working With DHCP Options (Task Map)”

关于 DHCP 选项的详细信息,请参见System Administration Guide: IP Services》中的“DHCP Option Information”

表 7–4 用于为 Solaris 客户机创建供应商种类选项的值

名称 

代码 

数据类型 

粒度 

最大值 

供应商客户机类 * 

说明 

需要以下供应商种类选项,以使 DHCP 服务器能够支持 Solaris 安装客户机。这些选项在 Solaris 客户机的启动脚本中使用。

SrootIP4

IP 地址 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

根服务器的 IP 地址 

SrootNM

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

根服务器的主机名 

SrootPTH

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

根服务器上客户机的根目录的路径 

SinstIP4

10 

IP 地址 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

JumpStart 安装服务器的 IP 地址  

SinstNM

11 

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

安装服务器的主机名 

SinstPTH

12 

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

安装服务器上的安装映像的路径 

客户机启动脚本可以使用以下选项,但是脚本不需要使用这些选项。

SrootOpt

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

客户机的根文件系统的 NFS 装载选项 

SbootFIL

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

客户机的根文件的路径 

SbootRS

9  

数字 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

在装入内核时,NFS 读取独立引导程序所使用的大小 

SsysidCF

13 

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

sysidcfg 文件的路径,格式为 server:/path

SjumpsCF

14 

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

JumpStart 配置文件的路径,格式为 server:/path

SbootURI

16 

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

独立引导文件的路径或 WAN Boot 文件的路径。对于独立引导文件,请使用以下格式。 

tftp://inetboot.sun4u

对于 WAN Boot 文件,格式为 

http://host.domain/path-to-file

可以使用此选项覆盖 BootFilesiaddr 设置,以便检索独立引导文件。支持的协议:tftp (inetboot) 和 http (wanboot)。 例如,使用以下格式。tftp://inetboot.sun4u

SHTTPproxy

17 

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

您的网络中使用的代理服务器的 IP 地址和端口号。仅当客户机在 WAN 内引导时才需要此选项,并且本地网络使用代理服务器。例如,使用以下格式: 198.162.10.5:8080

Solaris 客户机启动脚本当前不使用以下选项。仅当您编辑启动脚本时,才可以使用这些选项。

SswapIP4

IP 地址 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

交换服务器的 IP 地址 

SswapPTH

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

交换服务器上客户机的交换文件的路径 

Stz

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

客户机的时区 

Sterm

15 

ASCII 文本 

SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc

终端类型 

创建了选项以后,您可以创建包含这些选项的宏。下表列出了样例宏,您可以创建这些宏以支持客户机的 Solaris 安装。

表 7–5 支持网络安装客户机的样例宏

宏名 

包含这些选项和宏 

Solaris

SrootIP4, SrootNM, SinstIP4, SinstNM

sparc

SrootPTH, SinstPTH

sun4u

Solarissparc

i86pc

Solaris 宏、SrootPTH, SinstPTH, SbootFIL

SUNW.i86pc

i86pc

SUNW.Sun-Blade-1000

sun4u 宏、SbootFIL

SUNW.Sun-Fire-880

sun4u 宏、SbootFIL

xxx.xxx.xxx.xxx 网络地址宏

可以将 BootSrvA 选项添加到现有的网络地址宏中。BootSrvA 的值应表示 tftboot 服务器。

上一个表中列出的宏名与必须从网络安装的客户机的供应商客户机类相匹配。这些名称是可能位于网络上的客户机的实例。关于确定客户机的供应商客户机类的信息,请参见System Administration Guide: IP Services》中的“Working With DHCP Options (Task Map)”

通过使用以下方法,您可以创建这些选项和宏。

写入使用 dhtadm 来创建选项和宏的脚本

通过改写实例 7–1 中的实例创建表 7–4 中列出的所有选项和某些有用的宏,您可以创建 Korn shell 脚本。请确保将引号括住的所有 IP 地址和值更改为适用于您的网络的正确的 IP 地址、服务器名和路径。您也应编辑 Vendor= 关键字以表示您具有的客户机类。使用 add_install_client -d 报告的信息,以获取改写脚本所需的数据。


实例 7–1 支持网络安装的脚本实例

# Load the Solaris vendor specific options. We'll start out supporting 
# the Sun-Blade-1000, Sun-Fire-880, and i86 platforms. Changing -A to -M would replace
# the current values, rather than add them.
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'
# Load some useful Macro definitions.
# Define all Solaris-generic options under this macro named Solaris.
dhtadm -A -m Solaris -d \
':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":'
# Define all sparc-platform specific options under this macro named sparc.
dhtadm -A -m sparc -d \
':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":'
# Define all sun4u architecture-specific options under this macro named sun4u. 
#  (Includes Solaris and sparc macros.)
dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:'
# Solaris on IA32-platform-specific parameters are under this macro named i86pc.
dhtadm -A -m i86pc -d \
':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\
:SbootFIL="/platform/i86pc/kernel/unix":'
# Solaris on IA32 machines are identified by the "SUNW.i86pc" class. All
# clients identifying themselves as members of this class will see these
# parameters in the macro called SUNW.i86pc, which includes the i86pc macro.
dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:'
# Sun-Blade-1000 platforms identify themselves as part of the 
# "SUNW.Sun-Blade-1000" class.
# All clients identifying themselves as members of this class
#  will see these parameters.
dhtadm -A -m SUNW.Sun-Blade-1000 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\
Include=sun4u:'
# Sun-Fire-880 platforms identify themselves as part of the "SUNW.Sun-Fire-880" class.
# All clients identifying themselves as members of this class will see these parameters.
dhtadm -A -m SUNW.Sun-Fire-880 -d \
':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:'
# Add our boot server IP to each of the network macros for our topology served by our
# DHCP server. Our boot server happens to be the same machine running our DHCP server.
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
# Make sure we return host names to our clients.
dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_
# The client with this MAC address is a diskless client. Override the root settings
# which at the network scope setup for Install with our client's root directory.
dhtadm -A -m 0800201AC25E -d \
':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":'

作为超级用户,请在批模式下执行 dhtadm。指定脚本名称以将选项和宏添加到您的 dhcptab 中。 例如,如果您的脚本名为 netinstalloptions,则请键入以下命令。


# dhtadm -B netinstalloptions

具有 Vendor= 字符串中列出的供应商客户机类的客户机现在可以使用 DHCP 在网络上进行安装。

关于如何使用 dhtadm 命令的详细信息,请参见 dhtadm(1M)。关于 dhcptab 文件的详细信息,请参见 dhcptab(4)

使用 DHCP Manager 来创建安装选项和宏

您可以使用 DHCP Manager 来创建表 7–4 中列出的选项和表 7–5 中列出的宏。