AutoYaST 可讓您同時在大量機器上安裝 SUSE® Linux Enterprise。AutoYaST 技術提供充足的彈性,可以針對異質硬體調整部署方式。本章說明如何準備簡易的自動安裝,並展示一個涉及不同硬體類型和安裝用途的複雜案例。
![]() | 完全一樣的硬體 |
|---|---|
本案例假設您要將 SUSE Linux Enterprise 部署到硬體組態完全一樣的一組機器上。 | |
若要為 AutoYaST 大量安裝做準備,請執行下列步驟:
建立 AutoYaST 設定檔,以包含部署所需的安裝詳細資料,詳細步驟說明請參閱第 21.1.1 節「建立 AutoYaST 設定檔」。
決定 AutoYaST 設定檔的來源,以及要傳給安裝常式的參數,詳細步驟說明請參閱第 21.1.2 節「配送設定檔和決定 AutoYaST 參數」。
決定 SUSE Linux Enterprise 安裝資料的來源,詳細步驟說明請參閱第 21.1.3 節「提供安裝資料」。
決定和設定自動安裝的開機方式,詳細步驟說明請參閱第 21.1.4 節「設定開機方式」。
手動新增參數或建立 info 檔案,以傳送指令行給安裝常式,詳細步驟說明請參閱第 21.1.5 節「建立 info 檔案」。
開始自動安裝程序,詳細步驟說明請參閱第 21.1.6 節「啟始和監控自動安裝」。
AutoYaST 設定檔會告訴 AutoYaST 要安裝什麼,及如何設定安裝系統,以便在最後獲得完全可用的系統。有多種不同方法可建立 AutoYaST 設定檔:
從參考機器將全新安裝複製到一組完全相同的機器
使用 AutoYaST GUI 建立和修改設定檔,以符合您的需要
使用 XML 編輯器從頭開始建立設定檔
若要複製全新參考安裝,請執行下列步驟:
執行正常安裝。
完成硬體組態並閱讀版本說明後,核取(如果預設尚未勾選這一項),就會建立名稱為 /root/autoyast.xml 的現成設定檔,可用來建立這次安裝的複製檔案。
若要使用 AutoYaST GUI 根據現有系統組態建立設定檔,再依您的需要修改,請執行下列步驟:
以 root 身分啟動 YaST。
選取+,以啟動 AutoYaST 的圖形前端工具。
選取+,讓 AutoYaST 準備將目前的系統組態鏡像複製到一個 AutoYaST 設定檔中。
除了預設資源 (如開機載入程式、磁碟分割和軟體選擇) 以外,您也可以核取中的清單項目,以在設定檔中新增系統的其他各種影響因素。
按一下,讓 YaST 收集所有系統資訊,並寫入新的設定檔。
若要繼續進行,請選擇下列其中之一:
如果設定檔已完成,而且符合您的要求,請選取+,並輸入設定檔的檔案名稱,如 autoyast.xml。
在左側的樹狀檢視中選取適當的組態面向 (如「硬體/印表機」),並按一下,以修改參考設定檔,就會啟動個別的 YaST 模組,但您的設定會寫入 AutoYaST 設定檔,而不是套用到您的系統。完成後,選取+,並為設定檔輸入合適的名稱。
選取+,以離開 AutoYaST 模組。
有多種不同方法可以配送 AutoYaST 設定檔。依用來配送設定檔資料的通訊協定而定,我們會使用不同的 AutoYaST 參數,讓用戶端上的安裝常式知道設定檔的位置在哪裡。設定檔的位置是利用開機提示或開機時載入的 info 檔案傳給安裝常式。可用的選項如下:
|
設定檔位置 |
參數 |
描述 |
|---|---|---|
|
檔案 |
|
可讓安裝常式在指定路徑 (相對於來源根目錄,如果是在 CD-ROM 的最上層目錄,則為 |
|
裝置 |
|
使安裝常式在儲存裝置上尋找控制檔案。只需要裝置名稱─ |
|
磁片 |
|
使安裝常式在軟碟機的磁片上尋找控制檔案。如果要從 CD-ROM 開機,這個選項特別有用。 |
|
NFS |
|
讓安裝常式從 NFS 伺服器取得控制檔案。 |
|
HTTP |
|
讓安裝常式從 HTTP 伺服器取得控制檔案。 |
|
HTTPS |
|
讓安裝常式從 HTTPS 伺服器取得控制檔案。 |
|
TFTP |
|
讓安裝常式從 TFTP 伺服器取得控制檔案。 |
|
FTP |
|
讓安裝常式從 FTP 伺服器取得控制檔案。 |
以符合實際設定的值取代 server 和 path 預留位置。
AutoYaST 包含可將若干設定檔繫結到用戶端 MAC 位址的功能。您不必改變 autoyast= 參數,就可以讓同一個設定使用不同設定檔安裝幾個不同例項。
若要使用這項功能,請繼續執行下列步驟:
以用戶端的 MAC 位址做為檔名建立不同的設定檔,將它們放在存放您的 AutoYaST 設定檔的 HTTP 伺服器上。
建立 autoyast= 參數時應省略包含檔名的真實路徑,例如:
autoyast=tftp://192.168.1.115/
啟動自動安裝。
YaST 會嘗試以下列方式決定設定檔的位置:
YaST 用它自己大寫的十六進位 IP 位址搜尋設定檔,例如 192.0.2.91 是 C000025B。
如果找不到這個檔案,YaST 會移去一個十六進位數,然後再試一次。這個動作會重複八次,直到找到正確名稱的檔案為止。
如果仍然找不到,它會嘗試以用戶端的 MAC 位址做為檔名來尋找檔案。用戶端範例的 MAC 位址是 0080C8F6484C。
如果找不到以 MAC 位址命名的檔案,YaST 會搜尋名稱為 default (小寫字母) 的檔案。YaST 搜尋 AutoYaST 設定檔的位址順序範例如下:
C000025B
C000025
C00002
C0000
C000
C00
C0
C
0080C8F6484C
default
安裝資料可利用產品 CD 或 DVD 或使用網路安裝來源的方式提供。如果使用產品 CD 做為安裝來源,就必須能夠實際存取要安裝的用戶端,因為開機程序必須以手動方式啟始,而且需要更換 CD。
若要透過網路提供安裝來源,請依第 14.2.1 節「使用 YaST 設定安裝伺服器」 所述設定網路安裝伺服器 (HTTP、NFS、FTP)。使用 info 檔案可傳送伺服器的位置給安裝常式。
用戶端有數種不同開機方法:
對於標準遠端安裝,可以用網路喚醒功能和 PXE 啟動自動安裝,並且透過 TFTP 引進開機影像和控制檔案,而安裝來源可以來自任何網路安裝伺服器。
您可以使用原始的 SUSE Linux Enterprise 媒體將系統開機來進行自動安裝,再從網路位置或軟碟引進控制檔案。或者,您可以建立自訂的 CD-ROM,來存放安裝來源和 AutoYaST 設定檔。
下列章節提供網路開機或從光碟機開機的基本程序大綱。
使用網路喚醒功能、PXE 和 TFTP 進行網路開機的方式於第 14.1.3 節「透過 VNC 執行遠端安裝 — PXE 開機和網路喚醒功能」中說明。若要使該處介紹的安裝方式適用於自動安裝,請修改 PXE 功能的 Linux 組態檔案 (/srv/tftp/pxelinux.cfg/default),以包含指到 AutoYaST 設定檔位置的 autoyast 參數。標準安裝的項目範例如下:
default linux
# default label linux
kernel linux
append initrd=initrd install=http://192.168.1.115/install/suse-enterprise/
自動安裝的相同範例如下:
default linux
# default label linux
kernel linux
append initrd=initrd install=http://192.168.1.115/install/suse-enterprise/ \
autoyast=nfs://192.168.1.110/profiles/autoyast.xml
以您的設定中所用的資料取代 IP 位址和路徑範例。
在 AutoYaST 安裝中,有幾種不同方式可以從光碟機開機。請在下列方式之中做選擇:
如果完全以網路為基礎的方式不可行 (例如,硬體不支援 PXE),而且您在大部分過程中可以實際存取要安裝的系統,請使用這種作法。
您需要︰
SUSE Linux Enterprise 媒體
提供設定檔資料的網路伺服器 (詳細資料請參閱第 21.1.2 節「配送設定檔和決定 AutoYaST 參數」)
包含 info 檔案的磁片,以告訴安裝常式要到哪裡找到設定檔
或
存取要安裝系統的開機提示,讓您手動輸入 autoyast= 參數
如果完全以網路為基礎的安裝方式不可行,請使用這種作法。這種作法需要實際存取要安裝的系統,以調整目標機器,而第二種做法則需要在出現開機提示時輸入設定檔的位置。不管是哪一種情況,您都必須根據安裝範圍更換媒體。
您需要︰
SUSE Linux Enterprise 媒體
存放設定檔和 info 檔案的磁片
或
存取目標的開機提示以輸入 autoyast= 參數
如果您只須安裝有限的軟體套件,而且目標數量相當少,理想的作法是建立您自己的自定 CD,來存放安裝資料和設定檔,尤其是在您的設定中無法使用網路時。
info 檔案¶位於目標的安裝常式必須知道 AutoYaST 架構的所有不同元件在哪裡,所以我們必須建立指令行,內含找到 AutoYaST 元件、安裝來源和控制安裝程序所需參數的所有參數。
若要這樣做,請在安裝的開機提示時手動傳送這些參數,或提供名稱為 info 的檔案 (安裝常式 (linuxrc) 會讀取這個檔案)。前者必須實際存取要安裝的任何用戶端,使這種作法不適合用於大型部署。後者可讓您在安裝前於預先準備的媒體上提供 info 檔案,並插入用戶端的磁碟機。或者,使用 PXE 開機,並依第 21.1.4.1 節「準備網路開機」 所述在 pxelinux.cfg/default 檔案中包含 linuxrc 參數。
下列是常用的 linuxrc 參數。如需詳細資訊,請參閱 /usr/share/doc/packages/autoyast 中的 AutoYaST 套件文件。
![]() | 分隔參數和值 |
|---|---|
於開機提示中傳送參數給 linuxrc 時,請使用 | |
|
關鍵字 |
數值 |
|---|---|
|
|
網路設定所要用的網路裝置 (用於 BOOTP/DHCP 要求)。只有在有數個網路裝置可用時才需要。 |
|
|
如果空白,用戶端會傳送 BOOTP 要求;否則,使用指定的資料設定用戶端。 |
|
|
所選網路的網路遮罩。 |
|
|
預設閘道。 |
|
|
名稱伺服器。 |
|
|
自動安裝所用控制檔案的位置,例如 |
|
|
安裝來源的位置,例如 |
|
|
如果設為 |
|
|
VNC 的密碼。 |
|
|
如果設為 |
|
|
如果設為 |
如果您的自動安裝方式涉及透過 DHCP 來設定用戶端並且安裝來源為網路安裝來源,並且您希望使用 VNC 監控安裝程序,則您的 info 應該類似:
autoyast:profile_sourceinstall:install_sourcevnc:1 vncpassword:some_password
如果您習慣在安裝時使用靜態網路設定,您的 info 檔案應該類似:
autoyast:profile_source\ install:install_source\ hostip:some_ip\ netmask:some_netmask\ gateway:some_gateway
\ 是為了方便閱讀而新增的分行符號。所有選項必須以一個連續的字串輸入。
info 資料可以用幾種不同方式提供給 linuxrc:
安裝時做為用戶端磁碟機中的磁片或 CD ROM 上的檔案。新增類似於 info=floppy:/info 或 info=cd:/info 的 info 參數。
做為系統開機所用初始 RAM 磁碟機的根目錄中的一個檔案,由自定安裝媒體或透過 PXE 開機提供。
做為 AutoYaST 設定檔的一部分。在這種情況下,AutoYaST 檔案必須命名為 info,這樣 linuxrc 才能剖析它。這種作法的範例如下。
透過指向 info 檔案位置的 URL。這種方式的語法類似於 info=http://www.example.com/info。
linuxrc 會在設定檔中尋找代表檔案開頭的字串 (start_linuxrc_conf)。如果找到,就從該字串開始剖析,並在找到 end_linuxrc_conf 字串時結束。儲存在設定檔中的選項如下:
....
<install>
....
<init>
<info_file>
<![CDATA[
#
# Don't remove the following line:
# start_linuxrc_conf
#
install: nfs:server/path
vnc: 1
vncpassword: test
autoyast: file:///info
# end_linuxrc_conf
# Do not remove the above comment
#
]]>
</info_file>
</init>
......
</install>
....
linuxrc 會載入包含開機參數的設定檔,而不是傳統的 info 檔案。install: 參數會指示安裝來源的位置。vnc 與 vncpassword 指示使用 VNC 監控安裝。autoyast 參數則告訴 linuxrc 將 info 視為 AutoYaST 設定檔。
提供上述所有基礎結構後 (設定檔、安裝來源和 info 檔案),您可以繼續啟動自動安裝。依選擇的開機和監控程序方式而定,您可能必須與用戶端有實際的互動:
如果用戶端系統從任何實體媒體 (產品媒體或自定光碟) 開機,您必須將這些媒體插入用戶端的磁碟機。
如果用戶端不是透過網路喚醒功能開啟,您至少必須開啟用戶端機器。
如果您未選擇遠端控制的自動安裝,就會傳送 AutoYaST 的圖形回應給連接用戶端的監視器,或 (如果您使用無人操作的用戶端) 序列主控台。
若要啟用遠端控制的自動安裝,請依第 21.1.5 節「建立 info 檔案」 所述使用 VNC 或 SSH 參數,並依第 14.5 節「監控安裝程序」 所述從其他機器連接到用戶端。
下列章節介紹使用 AutoYaST 以規則為基礎的安裝的基本概念,並提供案例範例讓您能夠建立您自己的自訂安裝設定。
以規則為基礎的 AutoYaST 安裝讓您能夠處理異質的硬體環境:
您的網站包含不同廠商的硬體嗎?
您的網站上的機器採用不同硬體組態嗎 (例如,使用不同裝置,或配備不同記憶體和磁碟大小)?
您打算跨越網域進行安裝,而且必須加以區別嗎?
基本上,以規則為基礎的自動安裝會將數個設定檔合併成一個,來產生符合異質案例的自定設定檔。每個規則會描述設定中的一個特色 (例如磁碟大小),並告訴 AutoYaST 當規則符合時要使用哪個設定檔。描述設定中不同特色的數個規則合併在一個 AutoYaST rules.xml 檔案中。然後 AutoYaST 會處理規則堆疊,並將符合 AutoYaST 規則的不同設定檔合併成一個,來產生最後的設定檔。如需這個程序的示範,請參閱第 21.2.2 節「以規則為基礎的自動安裝案例範例」。
在規劃和執行 SUSE Linux Enterprise 部署時,以規則為基礎的 AutoYaST 會為您提供很大的靈活性。您可以:
在 AutoYaST 中建立符合任何預先定義系統屬性的規則
使用邏輯運算子將多個系統屬性 (如磁碟大小和核心結構) 合併成一個規則
執行外圍程序檔並將輸出傳到 AutoYaST 架構以建立自訂規則。自定規則數不得超過 5 個。
![]() | |
如需有關 AutoYaST 的規則建立和用法的更多資訊,請參閱 | |
若要準備進行以規則為基礎的 AutoYaST 大量安裝,請執行下列步驟:
建立數個 AutoYaST 設定檔,以包含異質設定所需的安裝詳細資料,詳細步驟說明請參閱第 21.1.1 節「建立 AutoYaST 設定檔」。
定義符合硬體設定的系統屬性的規則,詳細步驟說明請參閱第 21.2.2 節「以規則為基礎的自動安裝案例範例」。
決定 AutoYaST 設定檔的來源,以及要傳給安裝常式的參數,詳細步驟說明請參閱第 21.1.2 節「配送設定檔和決定 AutoYaST 參數」。
決定 SUSE Linux Enterprise 安裝資料的來源,詳細步驟說明請參閱第 21.1.3 節「提供安裝資料」。
手動新增參數或建立 info 檔案,以傳送指令行給安裝常式,詳細步驟說明請參閱第 21.1.5 節「建立 info 檔案」。
決定和設定自動安裝的開機方式,詳細步驟說明請參閱第 21.1.4 節「設定開機方式」。
開始自動安裝程序,詳細步驟說明請參閱第 21.1.6 節「啟始和監控自動安裝」。
若要對規則的建立方式有基本的瞭解,請參閱圖形 21.2 「AutoYaST 規則」中描述的下列範例。執行 AutoYaST 會安裝下列設定:
這台機器不需要桌面環境,只需要最基本的安裝,和有限的軟體套件。
這些機器需要桌面環境,和大量開發工具。
這些機器需要桌面環境,和有限的專用應用程式,如辦公室和行事曆軟體。
在第一個步驟中,使用第 21.1.1 節「建立 AutoYaST 設定檔」中說明的一種方法針對每一種案例建立設定檔。在此範例中,您會建立 print.xml、engineering.xml 和 sales.xml。
在第二個步驟中,建立規則來區分三種硬體類型,並告訴 AutoYaST 要使用哪個設定檔。使用類似下列演算法來設定規則:
機器有 這個 IP 嗎?有的話,將它設為列印伺服器。
機器有 PCMCIA 硬體而且使用 Intel 晶片組嗎?有的話,將它視為 Intel 筆記型電腦,並安裝銷售部門軟體選擇。
如果上述條件都不成立,則將該機器視為開發工作站,並據此進行安裝。
這可以大致轉換成包含下列內容的 rules.xml 檔案:
<?xml version="1.0"?>
<!DOCTYPE autoinstall SYSTEM "/usr/share/autoinstall/dtd/rules.dtd">
<autoinstall xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<rules config:type="list">
<rule>
<hostaddress>
<match>192.168.2.253</match>
<match_type>exact</match_type>
</hostaddress>
<result>
<profile>print.xml</profile>
<continue config:type="boolean">false</continue>
</result>
</rule>
<rule>
<haspcmcia>
<match>1</match>
<match_type>exact</match_type>
</haspcmcia>
<custom1>
<script>
if grep -i intel /proc/cpuinfo > /dev/null; then
echo -n "intel"
else
echo -n "non_intel"
fi;
</script>
<match>*</match>
<match_type>exact</match_type>
</custom1>
<result>
<profile>sales.xml</profile>
<continue config:type="boolean">false</continue>
</result>
<operator>and</operator>
</rule>
<rule>
<haspcmcia>
<match>0</match>
<match_type>exact</match_type>
</haspcmcia>
<result>
<profile>engineering.xml</profile>
<continue config:type="boolean">false</continue>
</result>
</rule>
</rules>
</autoinstall>
配送規則檔案時,必須確定 rules 目錄位於 autoyast= URL 中指定的 通訊協定:伺服器 IP/profiles/profiles 目錄下。AutoYaST 會尋找包含 rules.xml 檔案的 rules 子目錄,然後載入並合併規則檔案中指定的設定檔。
其餘自動安裝程序依正常方式執行。
如需關於 AutoYaST 技術的深入資訊,請參閱 AutoYaST (↑AutoYaST) 或隨軟體一起安裝的文件 (/usr/share/doc/packages/autoyast2)。