動態主機配置協定 (DHCP) 可以使 TCP/IP 網路中的主機系統在啟動時,自動針對網路進行配置。DHCP 使用用戶端與伺服器機制。伺服器會為用戶端儲存並管理配置資訊,並在用戶端的要求下提供這些資訊。該資訊包括用戶端的 IP 位址以及有關用戶端可用的網路服務之資訊。
DHCP 的主要優點在於它能夠藉由租用來管理 IP 位址的指定。通過租用,可以在 IP 位址不使用時將其收回,並重新指定給其他用戶端。為所有用戶端均指定一個永久性位址會需要較大的儲存區,與之相比,此功能可使網站使用較小的 IP 位址儲存區。
您可以使用 DHCP 在網路中的特定用戶端系統上安裝 Solaris 作業環境。只有符合執行 Solaris 作業系統所需的硬體需求的 Sun Enterprise Ultra 系統與 x86 系統才能使用此功能。
以下工作表顯示了必須執行以使用戶端透過使用 DHCP 取得安裝參數的高階工作。
表 7–3 工作表:使用 DHCP 服務預先配置系統配置資訊
工作 |
描述 |
操作指示 |
---|---|---|
設定安裝伺服器。 |
設定 Solaris 伺服器以支援那些必須從網路安裝 Solaris 作業系統的用戶端。 | |
設定用戶端系統,以便能夠使用 DHCP 透過網路安裝 Solaris。 |
使用 add_install_client -d 以加入對某類用戶端 (例如,具有特定機器類型) 的支援或加入特定的用戶端 ID。 |
使用 Solaris DVD: 使用 Solaris CD: |
準備網路以使用 DHCP 服務。 |
確定如何配置 DHCP 伺服器。 |
「System Administration Guide: IP Services」中的「Planning for DHCP Service (Task)」 |
配置 DHCP 伺服器。 |
使用 DHCP 管理程式配置 DHCP 伺服器 |
「System Administration Guide: IP Services」中的「Configuring DHCP Service (Task)」 |
建立安裝參數的 DHCP 選項以及包含選項的巨集。 |
使用 DHCP 管理程式或 dhtadm 建立新的供應商選項與巨集,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 |
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 管理程式中建立選項與巨集。請參閱使用 DHCP 管理程式建立安裝選項與巨集,以取得有關如何在 DHCP 管理程式中建立選項與巨集的說明。
您可以透過改寫範例 7–1 中的範例,建立表 7–4 中列出的所有選項以及某些有用巨集,來建立一個 Korn shell 程序檔。一定要將所有的 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)。
您可以使用 DHCP 管理程式建立表 7–4 中列出的選項以及表 7–5 中列出的巨集。
此程序假定您已經配置了 DHCP 伺服器。如果您尚未配置 DHCP 伺服器,請參閱「System Administration Guide: IP Services」中的「Planning for DHCP Service (Task)」。
成為 DHCP 伺服器系統上的超級使用者。
啟動 DHCP 管理程式。
# /usr/sadm/admin/bin/dhcpmgr & |
螢幕上會顯示 [DHCP 管理程式] 視窗。
在 [DHCP 管理程式] 中,選取 [選項] 標籤。
從 [編輯] 功能表中選擇 [建立]。
即會開啟 [建立選項] 對話方塊。
首先輸入第一個選項的名稱,然後再輸入適當的選項值。
使用表 7–4 檢查必須建立的選項之名稱與值。請注意,供應商用戶端類別僅為建議值。您應該建立表示實際用戶端類型 (需要該類型從 DHCP 服務中取得 Solaris 安裝參數) 的類別。請參閱「System Administration Guide: IP Services」中的「Working With DHCP Options (Task Map)」,以取得有關如何確定用戶端的供應商用戶端類別的資訊。
輸入完所有的值之後,按一下 [確定]。
在 [選項] 標籤中,選取剛剛建立的選項。
從 [編輯] 功能表中選取 [複製]。
即會開啟 [複製選項] 對話方塊。
輸入另一個選項的名稱,然後相應地修改其他值。
字碼值、資料類型值、顆粒性值以及最大值一般都需要修改。請參閱表 7–4,以取得有關的值。
您現在即可建立巨集以將這些選項傳送至網路安裝用戶端,如以下程序中所示。
您無需將這些選項加入至 Solaris 用戶端的 /etc/dhcp/inittab 檔案,因為它們已經包含在該檔案中。
此程序假定您已經配置了 DHCP 伺服器。如果您尚未配置 DHCP 伺服器,請參閱「System Administration Guide: IP Services」中的「Planning for DHCP Service (Task)」。
在 [DHCP 管理程式] 中,選取 [巨集] 標籤。
從 [編輯] 功能表中選擇 [建立]。
即會開啟 [建立巨集] 對話方塊。
輸入巨集名稱。
請參閱表 7–5,以取得可以使用的巨集名稱。
按一下 [選取] 按鈕。
即會開啟 [選取選項] 對話方塊。
在 [種類] 清單中,選取 [供應商]。
即會列出您建立的供應商選項。
選取一個要加入至巨集的選項,然後按一下 [確定]。
輸入此選項的值。
請參閱表 7–4,以取得選項的資料類型,並參閱 add_install_client -d 報告的資訊。
若要納入另一個巨集,請輸入 Include 作為選項名稱,輸入巨集名稱作為選項值。
巨集納入之後,按一下 [確定]。