跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 10 1/13 安装指南:基于网络的安装 Oracle Solaris 10 1/13 Information Library (简体中文) |
1. 在何处查找 Oracle Solaris 安装规划信息
13. SPARC: 使用 WAN boot 进行安装(任务)
动态主机配置协议 (Dynamic Host Configuration Protocol, DHCP) 允许 TCP/IP 网络中的主机系统在引导时自动配置,以适应网络。DHCP 使用客户机和服务器机制。服务器为客户机存储和管理配置信息,并根据客户机的请求提供此信息。该信息中包含客户机的 IP 地址,以及关于客户机可使用的网络服务的信息。
DHCP 的主要优点是它能够通过租用来管理 IP 地址的指定。租用允许收回未使用的 IP 地址,然后重新指定给其他客户机。此功能使得站点使用的 IP 地址池可以小于为所有客户机指定永久地址所需的 IP 地址池。
您可以使用 DHCP 在网络的特定客户机系统上安装 Oracle Solaris OS。所有受 Oracle Solaris OS 支持的基于 SPARC 的系统和满足运行 Oracle Solaris OS 的硬件要求的基于 x86 的系统可以使用此功能。
以下任务列表显示了一些高级任务,要使客户机能够使用 DHCP 来获取安装参数就必须执行这些任务。
表 3-2 任务列表:使用 DHCP 服务来预配置系统配置信息
|
当您使用 add_install_client -d脚本在安装服务器上添加客户机时,脚本将把 DHCP 配置信息报告到标准输出。创建将网络安装信息传送到客户机时所需的选项和宏时,可以使用此信息。
您可以在 DHCP 服务中定制选项和宏来执行以下类型的安装:
特定于类的安装-可以指示 DHCP 服务针对某一特定类的所有客户机执行网络安装。例如,您可以定义一个 DHCP 宏,对网络上的所有 Sun Blade 系统执行相同的安装。请使用 add_install_client -d 命令的输出来设置特定于类的安装。
特定于网络的安装-可以指示 DHCP 服务针对某一特定网络的所有客户机执行网络安装。例如,可以定义一个 DHCP 宏,以便对 192.168.2 网络上的所有系统执行相同的安装。
特定于客户机的安装-可以指示 DHCP 服务针对具有特定以太网地址的客户机执行网络安装。例如,您可以定义一个 DHCP 宏,以便对以太网地址为 00:07:e9:04:4a:bf 的客户机执行特定的安装。使用 add_install_client -d -e ethernet_address 命令的输出设置特定于客户机的安装。
有关设置客户机使用 DHCP 服务器进行网络安装的更多信息,请参见以下过程:
有关使用 DVD 介质的网络安装,请参见使用 DVD 映像添加要从网络安装的系统。
有关使用 CD 介质的网络安装,请参见使用 CD 映像添加要从网络安装的系统。
要从网络安装 DHCP 客户机,您必须创建供应商目录选项,以传送安装 Oracle Solaris OS 所需的信息。以下各表说明了可以用来安装 DHCP 客户机的通用 DHCP 选项。
可以使用表 3-3 中列出的标准 DHCP 选项来配置和安装基于 x86 的系统。这些选项不特定于平台,并且可以用来通过 DHCP 在各种基于 x86 的系统上安装 Oracle Solaris OS。有关标准选项的完整列表,请参见 dhcp_inittab(4) 手册页。
表 3-4 列出了可以用来安装 Oracle Solaris 客户机系统的选项。此表中列出的供应商客户机类确定了哪些客户机类可以使用该选项。此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。有关如何确定客户机的供应商客户机类的信息,请参见《Oracle Solaris 管理:IP 服务》中的"使用 DHCP 选项(任务列表)"。
有关 DHCP 选项的详细信息,请参见《Oracle Solaris 管理:IP 服务》中的"DHCP 选项信息"。
表 3-3 标准 DHCP 选项的值
|
要使 DHCP 服务器支持 Oracle Solaris 安装客户机,下表中列出的供应商目录选项是必需的。这些选项将用在 Oracle Solaris 客户机的启动脚本中。
注 - 此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。
表 3-4 用于为 Oracle Solaris 客户机创建所需供应商目录选项的值
|
下表中列出的选项可供客户机启动脚本使用,但不是这些脚本所必需的。
注 - 此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。
表 3-5 用于 Oracle Solaris 客户机的可选供应商目录选项的值
|
下表中列出的选项当前未在 Oracle Solaris 客户机启动脚本中使用。您必须编辑启动脚本才能使用它们。
注 - 此处列出的供应商客户机类仅用作示例。您应当指定自己的客户机类,它表示您的网络中需要从网络安装的实际客户机。
表 3-6 启动脚本供应商目录选项
|
创建选项后,您可以创建包含这些选项的宏。下表列出了样例宏,您可以创建这些宏以支持客户机的 Oracle Solaris 安装。
表 3-7 支持网络安装客户机的样例宏
|
上表中列出的宏名称与必须从网络安装的客户机的供应商客户机类相匹配。这些宏名是可能位于您的网络上的客户机示例。有关如何确定客户机的供应商客户机类的信息,请参见《Oracle Solaris 管理:IP 服务》中的"使用 DHCP 选项(任务列表)"。
您可以使用以下方法来创建这些选项和宏。
在 DHCP 管理程序中创建选项和宏。有关如何在 DHCP 管理程序中创建选项和宏的说明,请参见使用 DHCP 管理程序创建安装选项和宏。
使用 dhtadm 命令编写一个创建选项和宏的脚本。有关如何编写创建这些选项和宏的脚本的信息,请参见编写使用 dhtadm 创建选项和宏的脚本。
请注意,提供给特定客户机的供应商选项的总大小不得超过 255 字节,包括选项代码和长度信息。一般情况下,应该能够传送所需的最小量的供应商信息。在需要输入路径名的选项中,使用简短的路径名。如果创建指向长路径的符号链接,则可以使用更简短的链接名。
您可以使用 DHCP 管理程序创建表 3-4 中列出的选项和表 3-7 中列出的宏。
开始之前
在为安装创建 DHCP 宏之前执行以下任务。
将希望使用 DHCP 进行安装的客户机添加为网络安装服务器的安装客户机。有关如何将客户机添加至安装服务器的信息,请参见第 4 章。
配置 DHCP 服务器。如果尚未配置 DHCP 服务器,请参见《Oracle Solaris 管理:IP 服务》中的第 13 章 "规划 DHCP 服务(任务)"。
注 - 角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"。
# /usr/sadm/admin/bin/dhcpmgr &
将显示 "DHCP Manager"(DHCP 管理程序)窗口。
此时会显示 "Create Option"(创建选项)面板。
请使用 add_install_client 命令的输出以及表 3-3 和表 3-4 中的信息,来检查必须创建的选项的名称和值。
此时会显示 "Duplicate Option"(复制选项)面板。
注 - 您不需要将这些选项添加到 Oracle Solaris 客户机的 /etc/dhcp/inittab 文件中,因为此文件中已经包含了这些选项。
接下来的步骤
您现在可以创建宏,以将选项传送给网络安装客户机,如以下过程所述。
开始之前
在为安装创建 DHCP 宏之前执行以下任务。
将希望使用 DHCP 进行安装的客户机添加为网络安装服务器的安装客户机。有关如何将客户机添加至安装服务器的信息,请参见第 4 章。
配置 DHCP 服务器。如果尚未配置 DHCP 服务器,请参见《Oracle Solaris 管理:IP 服务》中的第 13 章 "规划 DHCP 服务(任务)"。
创建要在宏中使用的 DHCP 选项。有关如何创建 DHCP 选项的说明,请参见如何创建选项来支持 Oracle Solaris 安装(DHCP 管理程序)。
此时会显示 "Create Macro"(创建宏)面板。
有关可以使用的宏名,请参见表 3-7。
"Select Option"(选择选项)面板会打开。
将列出您创建的供应商选项。
要包含其他宏,请键入 Include 作为选项名,并键入宏名作为选项值。
接下来的步骤
从网络安装系统时,如果计划使用 DHCP,那么需要设置一个安装服务器并将系统添加为安装客户机。有关更多信息,请参见第 4 章。
如果计划在 WAN boot 安装中使用 DHCP,则需要执行其他任务。有关更多信息,请参见第 10 章。
如果计划在 JumpStart 安装中使用 DHCP,则需要创建一个配置文件和一个 rules.ok 文件。有关更多信息,请参见《Oracle Solaris 10 1/13 安装指南:JumpStart 安装》中的第 2 章 "JumpStart(概述)"。
另请参见
有关 DHCP 的更多信息,请参见《Oracle Solaris 管理:IP 服务》中的第 III 部分, "DHCP"。
可以通过改写示例 3-1 中的示例创建一个 Korn shell 脚本,来创建表 3-3 和表 3-4 中列出的所有选项以及一些有用的宏。请确保将括在引号中的所有 IP 地址和值更改为适用于您的网络的正确的 IP 地址、服务器名和路径。您还应编辑 Vendor= 关键字以指明您拥有的客户机类。使用 add_install_client -d 报告的信息,以获取改写脚本所需的数据。
示例 3-1 支持网络安装的样例脚本
# Load the Solaris vendor specific options. We'll start out supporting # the Sun-Blade-1000, Sun-Fire-880, and i86 platforms. Note that the # SUNW.i86pc option only applies for the Solaris 10 3/05 release. # 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. # Note that this macro applies only for the Solaris 10 3/05 release. 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. # Note that this class only applies for the Solaris 10 3/05 release. 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_ # Create a macro for PXE clients that want to boot from our boot server. # Note that this macro applies for the Solaris 10 3/05 release. dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \ :BootFile=nbp.i86pc:BootSrvA=10.21.0.2: # Create a macro for PXE clients that want to boot from our boot server. # Note that this macro applies for the Solaris 10 2/06 release. dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \ :BootFile=i86pc:BootSrvA=10.21.0.2: # Create a macro for the x86 based client with the Ethernet address 00:07:e9:04:4a:bf # to install from the network by using PXE. dhtadm -A -m 010007E9044ABF -d :BootFile=010007E9044ABF:BootSrvA=10.21.0.2: # 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) 手册页。