Solaris 9 4/04 安装指南

使用 DHCP 服务预先配置系统配置信息(任务)

动态主机配置协议 (DHCP) 使 TCP/IP 网络中的主机系统能够在引导时被自动配置,以适应网络。DHCP 使用客户机和服务器机制。服务器为客户机存储和管理配置信息,并按照客户机的请求提供此信息。该信息包含客户机的 IP 地址,以及客户机可以使用的关于网络服务的信息。

DHCP 的主要优点是它能够通过租用来管理 IP 地址的指定。租用使 IP 地址可以在不使用时被回收并被重新指定给其它客户机。该功能使站点能够使用比为所有客户机均指定永久地址所需 IP 地址池小的 IP 地址池。

您可以使用 DHCP 在网络上的特定客户机系统中安装 Solaris 操作环境。只有符合运行 Solaris 操作环境的硬件要求的 Sun Enterprise Ultra 系统和 x86 系统才可以使用此功能。

以下任务图显示了必须执行的高级任务,使客户机可以通过使用 DHCP 来获得安装参数。

表 7–3 任务图:使用 DHCP 服务预先配置系统配置信息

任务 

说明 

参考 

设置安装服务器。 

设置 Solaris 服务器以支持必须从网络安装 Solaris 操作环境的客户机。 

第 13 章,准备从网络安装(概述)

通过使用 DHCP 在网络上为 Solaris 安装设置客户机系统。 

使用 add_install_client -d为某类客户机(例如,特定类型的计算机)或特定客户机 ID 添加 DHCP 网络安装支持。

使用 Solaris DVD: 

使用 DVD 映像添加要从网络安装的系统

使用 Solaris CD: 

添加要使用 CD 映像从网络上安装的系统

add_install_client(1M)

准备您的网络以使用 DHCP 服务。 

决定要如何配置您的 DHCP 服务器。 

System Administration Guide: IP Services 中的“Planning for DHCP Service (Task)”

配置 DHCP 服务器。 

使用 DHCP Manager 来配置您的 DHCP 服务器 

System Administration Guide: IP Services 中的“Configuring DHCP Service (Task)”

为安装参数和包含选项的宏创建 DHCP 选项。 

使用 DHCP Manager 或 dhtadm 创建新的供应商选项和宏,DHCP 服务器可以使用这些选项和宏将安装信息传送到客户机。

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

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

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

要从网络安装 DHCP 客户机,您必须创建供应商种类选项,以传送安装 Solaris 操作环境所需的信息。表 7–4 显示了您必须创建的选项以及创建这些选项时所需的特性。

您可以在 DHCP 服务中定制宏,以执行以下类型的安装。

有关设置客户机以从网络进行安装的详细信息,请参见以下过程。

下表中列出的供应商客户机类确定哪些类的客户机可以使用该选项。此处列出的供应商客户机类仅作实例使用。您应当指定客户机类,它表示您的网络中需要从网络安装的实际客户机。关于如何确定客户机的供应商客户机类的信息,请参见 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

数字 

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 中列出的宏。

如何创建选项以支持 Solaris 安装 (DHCP Manager)

此过程假定您已经配置了您的 DHCP 服务器。如果您没有配置您的 DHCP 服务器,请参见 System Administration Guide: IP Services 中的“Planning for DHCP Service (Task)”

  1. 成为 DHCP 服务器系统中的超级用户。

  2. 启动 DHCP Manager。


    # /usr/sadm/admin/bin/dhcpmgr &
    

    将显示“DHCP Manager”窗口。

  3. 在“DHCP Manager”中选择“选项”选项卡。

  4. 从“编辑”菜单中选择“创建”。

    “创建选项”对话框将打开。

  5. 为第一个选项键入选项名,然后为该选项键入相应的值。

    使用表 7–4 检查您必须创建的选项的选项名和值。请注意,供应商客户机类只是建议的值。您应当创建类,以表示需要从 DHCP 服务获取 Solaris 安装参数的实际客户机类型。关于如何确定客户机的供应商客户机类的信息,请参见 System Administration Guide: IP Services 中的“Working With DHCP Options (Task Map)”

  6. 输入了所有值以后,请单击“确定”。

  7. 在“选项”选项卡中,选择您刚刚创建的选项。

  8. 从“编辑” 菜单中选择“复制”。

    “复制选项”对话框将打开。

  9. 键入另一个选项的名称,然后相应修改其它值。

    代码值、数据类型值、粒度值和最大值可能都需要修改。关于这些值,请参见表 7–4

  10. 重复步骤 7步骤 9,直到您创建了所有选项。

    您现在可以创建宏,以将选项传送给网络安装客户机(如以下过程中所述)。


    注意:

    您不需要将这些选项添加到 Solaris 客户机的 /etc/dhcp/inittab 文件中,因为此文件中已经包含了这些选项。


如何创建宏以支持 Solaris 安装 (DHCP Manager)

此过程假设您已经配置了您的 DHCP 服务器。如果您没有配置您的 DHCP 服务器,请参见 System Administration Guide: IP Services 中的“Planning for DHCP Service (Task)”

  1. 在“DHCP Manager”中选择“宏”选项卡。

  2. 从“编辑”菜单中选择“创建”。

    “创建宏”对话框将打开。

  3. 键入宏的名称。

    关于您可以使用的宏名,请参见表 7–5

  4. 单击“选择”按钮。

    “选择选项”对话框将打开。

  5. 在“种类”列表中选择“供应商”。

    将列出您创建的供应商选项。

  6. 选择您要添加到宏的选项并单击“确定”。

  7. 为选项键入值。

    请参见表 7–4 以获得选项的值类型,并参考 add_install_client -d 报告的信息。

  8. 重复步骤 6步骤 7 以获得您要包含的各个选项。

    要包含其它宏,请键入 Include 作为选项名,并键入宏名作为选项值。

  9. 宏完成后,单击“确定”。