当您使用 add_install_client -d 脚本在安装服务器上增加客户机时,该脚本会以标准输出的形式报告 DHCP 配置信息。 创建将网络安装信息传送到客户机时所需的选项和宏时,可以使用此信息。
要从网络安装 DHCP 客户机,您必须创建供应商目录选项,以传送安装 Solaris 操作环境所需的信息。 表 7–4 显示了您必须创建的选项以及创建这些选项时所需的特性。
您可以在 DHCP 服务中定制宏,以执行以下类型的安装。
特定于类型的安装 - 您可以指示 DHCP 服务针对某一特定类型的所有客户机执行网络安装。 例如,您可以定义一个 DHCP 宏,对网络上的所有 Sun Blade 系统执行相同的安装。 请使用 add_install_client -d 命令的输出来设置特定于类型的安装。
特定于客户机的安装 - 您可以指示 DHCP 服务针对具有特定以太网地址的客户机执行网络安装。 例如,您可以定义一个 DHCP 宏,对以太网地址为 00:07:e9:04:4a:bf 的客户机执行特定的安装。 请使用 add_install_client -d -e ethernet_address 命令的输出来设置特定于客户机的安装。
有关设置客户机,以便从网络进行安装的详细信息,请参见以下过程。
有关使用 DVD 介质的网络安装,请参见使用 DVD 映像添加要从网络安装的系统。
有关使用 CD 介质的网络安装,请参见使用 CD 映像添加要从网络安装的系统。
下表中列出的供应商客户机类型确定了哪些类型的客户机可以使用该选项。 此处列出的供应商客户机类型仅用作实例。 您应当指定自己的客户机类型,它表示您的网络中需要从网络安装的实际客户机。 有关如何确定客户机的供应商客户机类型,请参见 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 |
2 |
IP 地址 |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
根服务器的 IP 地址 |
SrootNM |
3 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
根服务器的主机名 |
SrootPTH |
4 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向根服务器上客户机的根目录的路径 |
SinstIP4 |
10 |
IP 地址 |
1 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
JumpStart 安装服务器的 IP 地址 |
SinstNM |
11 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
安装服务器的主机名 |
SinstPTH |
12 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向安装服务器上的安装映像的路径 |
以下选项可由客户机启动脚本使用,但不是脚本中所必需的。 |
||||||
SrootOpt |
1 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
客户机的根文件系统的 NFS 装载选项 |
SbootFIL |
7 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向客户机的引导文件的路径 |
SbootRS |
9 |
数字 |
2 |
1 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
装入内核时,独立引导程序所使用的 NFS 读大小 |
SsysidCF |
13 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向 sysidcfg 文件的路径,格式为 server:/path |
SjumpsCF |
14 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向 JumpStart 配置文件的路径,格式为 server:/path |
16 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向独立引导文件或 WAN Boot 文件的路径。 对于独立引导文件,请使用以下格式。 tftp://inetboot.sun4u 对于 WAN Boot 文件,格式为 http://host.domain/path-to-file 此选项可用于覆盖 BootFile 设置和 siaddr 设置,以检索独立引导文件。 支持的协议: tftp (inetboot) 和 http (wanboot)。 例如,使用以下格式。 tftp://inetboot.sun4u |
|
17 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
网络上使用的代理服务器的 IP 地址和端口号。 仅当客户机通过 WAN 引导,且本地网络使用了代理服务器时才需要此选项。 例如,使用以下格式: 198.162.10.5:8080 |
|
以下这些选项当前无法由 Solaris 客户机启动脚本直接使用, 您必须编辑启动脚本才能使用它们。 |
||||||
SswapIP4 |
5 |
IP 地址 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
交换服务器的 IP 地址 |
SswapPTH |
6 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
指向交换服务器上客户机的交换文件的路径 |
Stz |
8 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
客户机的时区 |
Sterm |
15 |
ASCII 文本 |
1 |
0 |
SUNW.Sun-Blade-1000, SUNW.Sun-Fire-880, SUNW.i86pc |
终端类型 |
创建选项之后,您可以创建包含这些选项的宏。 下表列出了样例宏,您可以创建这些宏以支持客户机的 Solaris 安装。
表 7–5 支持网络安装客户机的样例宏
宏名 |
包含以下这些选项和宏 |
---|---|
Solaris |
SrootIP4, SrootNM, SinstIP4, SinstNM |
sparc |
SrootPTH, SinstPTH |
sun4u |
Solaris 宏和 sparc 宏 |
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 命令编写一个创建选项和宏的脚本。 有关如何编写创建这些选项和宏的脚本的信息,请参见编写使用 dhtadm 来创建选项和宏的脚本。
在 DHCP Manager 中创建选项和宏。 有关如何在 DHCP Manager 中创建选项和宏的说明,请参见使用 DHCP Manager 创建安装选项和宏。
您可以通过改写实例 7–13 中的实例来创建一个 Korn shell 脚本,从而创建表 7–4 中列出的所有选项和一些有用的宏。 请确保将括在引号中的所有 IP 地址和值更改为适用于您的网络的正确的 IP 地址、服务器名和路径。 您还应编辑 Vendor= 关键字以指明您拥有的客户机类型。 请使用 add_install_client -d 报告的信息,以获取改写脚本所需的数据。
# 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)。