Solaris 10 安裝指南:網路安裝

建立 Solaris 安裝參數的 DHCP 選項與巨集

當您使用 add_install_client -d 程序檔於安裝伺服器上增加用戶端時,該程序檔會將 DHCP 配置資訊報告到標準輸出。當您建立用於將網路安裝資訊傳輸至用戶端的選項與巨集時,可以使用此資訊。

您可以在 DHCP 服務中自訂選項和巨集,以執行下列類型的安裝。

如需有關設定用戶端以使用 DHCP 伺服器執行進行網路安裝的更多資訊,請參閱下列程序。

DHCP 選項和巨集值

若要從網路安裝 DHCP 用戶端,您必須建立供應商目錄選項以傳送安裝 Solaris 作業系統所需的資訊。下表說明您可用以安裝 DHCP 用戶端的常用 DHCP 選項。

如需有關 DHCP 選項的詳細資訊,請參閱「System Administration Guide: IP Services」中的「DHCP Option Information」

表 6–4 標準 DHCP 選項的值

選項名稱 

字碼 

資料類型 

顆粒性 

最大 

說明 

BootFile

不適用 

ASCII 

用戶端的啟動檔案路徑 

BootSrvA

不適用 

IP 位址 

啟動伺服器的 IP 位址 

DNSdmain

15 

ASCII 

DNS 網域名稱 

DNSserv

IP 位址 

DNS 名稱伺服器清單 

NISdmain

40 

ASCII 

NIS 網域名稱 

NISservs

41 

IP 位址 

NIS 伺服器的 IP 位址 

NIS+dom

64 

ASCII 

NIS+ 網域名稱 

NIS+serv

65 

IP 位址 

NIS+ 伺服器的 IP 位址 

Router

IP 位址 

網路路由器的 IP 位址 

表 6–5 用於建立 Solaris 用戶端供應商種類選項的值

名稱 

字碼 

資料類型 

顆粒性 

最大 

供應商用戶端類別 * 

說明 

若要使 DHCP 伺服器支援 Solaris 安裝用戶端,需要以下供應商種類選項。該選項在 Solaris 用戶端的啟動程序檔中使用。


備註 –

此處列出的供應商用戶端類別僅為範例。在您想要從網路進行安裝的用戶端中,您應該指定其用戶端類別。SUNW.i86pc 供應商用戶端類別僅對 Solaris 10 3/05 發行版本和相容版本有效。


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

安裝伺服器上安裝影像的路徑 

用戶端啟動程序檔可以使用以下選項,但這些選項不是程序檔所必需的。


備註 –

此處列出的供應商用戶端類別僅為範例。在您想要從網路進行安裝的用戶端中,您應該指定其用戶端類別。SUNW.i86pc 供應商用戶端類別僅對 Solaris 10 3/05 發行版本和相容版本有效。


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 用戶端啟動程序檔目前不使用以下選項。你只有編輯該啟動程序檔才可以使用它們。


備註 –

此處列出的供應商用戶端類別僅為範例。在您想要從網路進行安裝的用戶端中,您應該指定其用戶端類別。SUNW.i86pc 供應商用戶端類別僅對 Solaris 10 3/05 發行版本和相容版本有效。


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 安裝的巨集範例。

表 6–6 支援網路安裝用戶端的巨集範例

巨集名稱 

包含以下選項與巨集 

Solaris

SrootIP4、SrootNM、SinstIP4、SinstNM

sparc

SrootPTH、SinstPTH

sun4u

Solarissparc 巨集

sun4v

Solarissparc 巨集

i86pc

Solaris 巨集、SrootPTH、SinstPTH、SbootFIL

SUNW.i86pc

i86pc 巨集


備註 –

SUNW.i86pc 供應商用戶端類別僅對 Solaris 10 3/05 發行版本和相容版本有效。


SUNW.Sun-Blade-1000

sun4u 巨集、SbootFIL

SUNW.Sun-Fire-880

sun4u 巨集、SbootFIL

PXEClient:Arch:00000:UNDI:002001

BootSrvABootFile

xxx.xxx.xxx.xxx 網路位址巨集

BootSrvA 選項可以增加到現有網路位址巨集中。BootSrvA 的值應該表示 tftboot 伺服器。

01client-MAC-address 用戶端專用巨集 (例如 010007E9044ABF)

BootSrvABootFile

上表所列出的巨集名稱與用戶端上必須從網路安裝的供應商用戶端類別符合。這些名稱為網路上可能存在的用戶端範例。如需有關決定用戶端之供應商用戶端類別的資訊,請參閱「System Administration Guide: IP Services」中的「Working With DHCP Options (Task Map)」

您可以使用以下方法建立這些選項與巨集。

請注意,提供給特定用戶端的供應商選項大小總數,包括選項代碼和長度資訊在內,不得超過 255 個位元組。這是目前 Solaris DHCP 協定實作的限制。通常,您應傳送盡可能少的所需供應商資訊。應在需要路徑名稱的選項中使用短路徑名稱。若建立指向長路徑的符號連結,便可使用較短的連結名稱。

使用 DHCP 管理程式建立安裝選項與巨集

您可使用 DHCP 管理程式建立列於表 6–5 中的選項,以及列於表 6–6 中的巨集。

Procedure如何建立支援 Solaris 安裝的選項 (DHCP 管理程式)

開始之前

請在建立用於安裝的 DHCP 巨集之前,先執行下列作業。

步驟
  1. 成為 DHCP 伺服器系統上的超級使用者。

  2. 啟動 DHCP 管理程式。


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

    螢幕上會顯示 [DHCP 管理程式] 視窗。

  3. 在 [DHCP 管理程式] 中,選取 [選項] 標籤。

  4. 從 [編輯] 功能表中選擇 [建立]。

    即會開啟 [建立選項] 對話方塊。

  5. 首先輸入第一個選項的名稱,然後再輸入適當的選項值。

    使用 add_install_client 指令的輸出、表 6–4表 6–5 來檢查必須建立之選項的選項名稱和值。請注意,供應商用戶端類別僅為建議值。您應該建立表示實際用戶端類型 (需要該類型從 DHCP 服務中取得 Solaris 安裝參數) 的類別。如需有關如何決定用戶端之供應商用戶端類別的資訊,請參閱「System Administration Guide: IP Services」中的「Working With DHCP Options (Task Map)」

  6. 輸入完所有的值之後,按 [確定]。

  7. 在 [選項] 標籤中,選取剛剛建立的選項。

  8. 從 [編輯] 功能表中選取 [複製]。

    即會開啟 [複製選項] 對話方塊。

  9. 輸入另一個選項的名稱,然後相應地修改其他值。

    字碼值、資料類型值、顆粒性值以及最大值一般都需要修改。如需這些值,請參閱表 6–4表 6–5

  10. 重複步驟 7步驟 9 直到建立完所有選項。

    您現在即可建立巨集以將這些選項傳送至網路安裝用戶端,如以下程序中所示。


    備註 –

    您無需將這些選項增加到 Solaris 用戶端的 /etc/dhcp/inittab 檔案,因為它們已經包含在該檔案中。


Procedure如何建立支援 Solaris 安裝的巨集 (DHCP 管理程式)

開始之前

請在建立用於安裝的 DHCP 巨集之前,先執行下列作業。

步驟
  1. 在 [DHCP 管理程式] 中,選取 [巨集] 標籤。

  2. 從 [編輯] 功能表中選擇 [建立]。

    即會開啟 [建立巨集] 對話方塊。

  3. 輸入巨集名稱。

    如需可能使用的巨集名稱,請參閱表 6–6

  4. 按 [選取] 按鈕。

    即會開啟 [選取選項] 對話方塊。

  5. 在 [種類] 清單中,選取 [供應商]。

    即會列出您建立的供應商選項。

  6. 選取一個要增加到巨集的選項,然後按 [確定]。

  7. 輸入此選項的值。

    請參閱表 6–4表 6–5,以取得選項資料類型,並參照 add_install_client -d 報告的資訊。

  8. 對每個您想包含的選項重複步驟 6步驟 7

    若要納入另一個巨集,請鍵入 Include 做為選項名稱,輸入巨集名稱做為選項值。

  9. 巨集納入之後,按 [確定]。

繼續安裝

如果您計劃在網路安裝中使用 DHCP,您需要設置安裝伺服器並增加該系統做為安裝用戶端。如需更多資訊,請參閱第 7 章, 準備從網路安裝 (簡介)

如果您計劃在 WAN 啟動安裝中使用 DHCP,便需要執行額外的作業。如需更多資訊,請參閱第 11 章, WAN Boot (簡介)

如果您計劃在自訂 JumpStart 安裝中使用 DHCP,便需要建立一個設定檔和一個 rules.ok 檔案。如需更多資訊,請參閱「Solaris 10 安裝指南:自訂 JumpStart 及進階安裝」中的第 5 章「自訂 JumpStart (簡介)」

另請參閱

如需有關 DHCP 的更多資訊,請參閱「System Administration Guide: IP Services」中的第 III部分「DHCP」

撰寫使用 dhtadm 建立選項與巨集的程序檔

您可以改寫範例 6–13 中的範例,以建立表 6–4表 6–5 中所列之所有選項和一些有用的巨集來建立 Korn shell 程序檔。一定要將所有的 IP 位址和引號中的值變更為正確的網路 IP 位址、伺服器名稱以及路徑。您還應該編輯 Vendor= 金鑰以指示您所擁有的用戶端之類別。使用 add_install_client -d 報告的資訊,以取得改寫程序檔所需的資料。


範例 6–13 支援網路安裝的程序檔範例

# 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)」。