AutoYaSTを使用して、多数のマシンに並行してSUSE® Linux Enterpriseをインストールできます。AutoYaST技術は、異種ハードウェア環境への導入に対して柔軟に対応します。この章では、単純な自動インストールを行うための準備作業、および異種ハードウェア環境の場合の高度なインストール方法について説明します。
このシナリオでは、全く同じハードウェア設定の一連のコンピュータにSUSE Linux Enterpriseを展開することが想定されています。
AutoYaSTの大規模インストールを準備するには、次の手順に従ってください。
導入に必要なインストールの詳細を定義したAutoYaSTプロファイルを作成します。詳細は、21.1.1項 「AutoYaSTプロファイルの作成」を参照してください。
AutoYaSTプロファイルのソース、およびインストールルーチンに渡すパラメータを決定します。詳細については、21.1.2項 「プロファイルの配布とAutoYaSTパラメータの決定」を参照してください。
21.1.3項 「インストールデータの提供」の説明に従って、SUSE Linux Enterpriseインストールデータのソースを決定します。
自動インストールのブートシナリオを決定および設定します。詳細は、21.1.4項 「ブートシナリオの設定」を参照してください。
パラメータを手動で追加、またはinfoファイルを作成して、インストールルーチンにコマンドラインを渡します。詳細は、21.1.5項 「infoファイルの作成」を参照してください。
自動インストールを開始します。詳細は、21.1.6項 「自動インストールの開始と監視」を参照してください。
AutoYaSTに、何をインストールするか、そしてインストール先システムをどのように設定するかを知らせるには、AutoYaSTプロファイルを使用します。このプロファイルは、さまざまな方法で作成できます。
インストールした直後のコンピュータから同一構成の他のコンピュータに複製する
AutoYaST GUIを使って、要件に合うようにプロファイルを作成および変更する
XMLエディタを使って最初からプロファイルを作成する
インストール直後のコンピュータから複製するには、次の手順に従ってください。
第6章 YaSTによるインストールで説明している通常のインストールを開始し、必要に応じてシステムを構成します。画面(6.13項 「インストールの設定」)で、を選択して、を有効にします。
すぐに使用できるプロファイルが/root/autoinst.xmlに作成されます。プロファイルは、この特定のインストールの複製を作成するために使用できます。
AutoYaST GUIを使って既存のシステム設定からプロファイルを必要に応じて作成および変更するには、次の手順に従ってください。
rootとして、YaSTを起動します。
› の順に選択して、AutoYaST GUIを起動します。
› の順に選択してAutoYaSTを準備し、現在のシステム設定をAutoYaSTプロファイルにミラーリングさせます。
デフォルトリソース(ブートローダ、パーティション分割、ソフトウェアの選択など)に加えて、システムの他の側面もプロファイルに追加したい場合は、のリストで項目を選択します。
[作成]
次に、以下のいずれかの作業を行います。
作成されたプロファイルが完全に要件と一致している場合は、 › の順に選択して、autoinst.xmlのようにプロファイル名を入力します。
左側のツリービューから適切な設定項目(「」「ハードウェア」、「プリンタ」など)を選択し、をクリックして参照プロファイルを変更します。各YaSTモジュールが開きますが、変更内容はシステムに適用されるのではなく、AutoYaSTプロファイルに書き込まれます。作業が完了したら、 › の順に選択して、適切なプロファイル名を入力します。
› の順に選択して、AutoYaSTモジュールを終了します。
AutoYaSTプロファイルは、さまざまな方法で配布できます。プロファイルデータを配布するために使用するプロトコルによって、プロファイルの場所を知らせるために使用するAutoYaSTパラメータが異なります。プロファイルの場所は、ブートプロンプト、またはブート時にロードされるinfoファイルを使って、インストールルーチンに渡されます。次のオプションを指定できます。
|
プロファイルの場所 |
パラメータ |
説明 |
|---|---|---|
|
ファイル |
|
インストールルーチンが指定されたパス(ソースルートディレクトリへの相対パス。CD ROMの最上位ディレクトリにある場合は、 |
|
Device |
|
インストールルーチンに、ストレージデバイス上の制御ファイルを参照させます。デバイス名以外は必要ありません。たとえば、 |
|
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アドレスの大文字16進数表記を使ってプロファイルを検索します。たとえば、IPアドレスの192.0.2.91は、16進数表記でC000025Bとなります。
このファイルが見つからなかった場合、16進数表記の桁を1つ削除して、もう一度検索を行います。適切な名前を持つファイルが見つかるまで、この手順を8回繰り返します。
それでも失敗する場合は、ファイル名としてクライアントのMACアドレスを使用してファイルを検索します。たとえば、クライアントのMACアドレスが0080C8F6484Cである場合、この名前を持つファイルが検索されます。
ファイル名がMACアドレスであるファイルが見つからなかった場合は、ファイル名が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ファイルを使用します。
クライアントは、さまざまな方法でブートできます。
通常のリモートインストールでは、Wake on LANとPXEで自動インストールを開始することができます。また、ブートイメージとコントロールファイルはTFTPで取得し、インストールソースはネットワークインストールサーバから取得できます。
自動インストールするシステムのブートにオリジナルのSUSE Linux Enterpriseメディアを使い、コントロールファイルをネットワークやリムーバブルメディアから取得します。または、インストールソースとAutoYaSTプロファイルの両方を格納した独自のCD-ROMを作成することもできます。
以降の項では、ネットワークブートまたはCD-ROMからのブート手順の基本的な概略を説明します。
Wake on LAN、PXE、およびTFTPを使ったネットワークブートについては、14.1.3項 「VNCによるリモートインストール—PXEブートとWake on LAN」を参照してください。自動インストールの準備を行うには、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/autoinst.xml
これらの例のIPアドレスとパスは、実際の環境に合わせて変更する必要があります。
AutoYaSTインストールでCD-ROMからブートするには、さまざまな方法があります。次の中から、適切な方法を選択してください。
ネットワークベースのインストールでは完全にインストールできない場合(ハードウェアがPXEをサポートしていない場合など)で、プロセス中にシステムに物理的にアクセスできる場合は、この方法を使用します。
この方法では、次のものが必要になります。
SUSE Linux Enterprise Serverメディア
プロファイルデータを提供するネットワークサーバ(詳細は21.1.2項 「プロファイルの配布とAutoYaSTパラメータの決定」を参照)
プロファイルの場所をインストールルーチンに知らせるinfoファイルを含んだリムーバブルメディア
または
autoyast=パラメータを手動で入力するため、システムのブートプロンプトへのアクセス
ネットワークベースのインストールでは完全にインストールできない場合に、この方法を使用します。この方法では、ターゲットコンピュータをオンにしたり、ブートプロンプトでプロファイルの場所を入力するため、インストールするシステムに物理的にアクセスする必要があります。また、いずれの場合でも、インストールの内容によってはメディアを交換しなければならないこともあります。
この方法では、次のものが必要になります。
SUSE Linux Enterprise Serverメディア
プロファイルとinfoファイルの両方を格納したリムーバブルメディア
または
autoyast=パラメータを入力するため、ターゲットのブートプロンプトへのアクセス
特定のソフトウェアパッケージをインストールすればよく、ターゲット数が比較的少ない場合は、インストールデータとプロファイルの両方を格納した独自のCDを作成することも考慮してください。この方法は、ネットワークが利用できない場合などに役立ちます。
ファイルの作成 #ターゲットのインストールルーチンには、AutoYaSTフレームワークのすべてのコンポーネントを認識させる必要があります。認識させるには、インストールプロセスを制御するために必要なAutoYaSTコンポーネント、インストールソース、およびパラメータを探すのに必要なすべてのパラメータを含んだコマンドラインを作成します。
このためには、インストール時にブートプロンプトから手動でこれらのパラメータを指定するか、またはインストールルーチン(linuxrc)に参照させるinfoファイルを作成します。ブートプロンプトから手動で指定する方法は、インストール対象クライアントに物理的にアクセスする必要があるため、大規模な導入には向いていません。ファイルを作成する方法は、infoファイルをいくつかのメディアに格納し、それを自動インストールの前にクライアントのドライブに挿入して準備しておくことができます。かわりに、pxelinux.cfg/defaultファイルにlinuxrcパラメータを指定して、PXEブートを使用することもできます。詳細は、21.1.4.1項 「ネットワークブートの準備」を参照してください。
linuxrcで一般的に使用されるパラメータを以下に示します。詳細は、/usr/share/doc/packages/autoyastにある、AutoYaSTパッケージのドキュメントを参照してください。
ブートプロンプトからlinuxrcに渡すパラメータを入力する場合、パラメータと値の間は「=」で区切ります。infoファイルを使用する場合は、パラメータと値の間を「:」で区切ります。
|
キーワード |
値 |
|---|---|
|
|
ネットワークセットアップに使用するネットワークデバイス(BOOTP/DHCPリクエスト用) 複数のネットワークデバイスを利用できる場合にのみ指定する必要があります。 |
|
|
指定しない場合、クライアントはBOOTPリクエストを送信します。値を指定した場合は、指定したデータに基づいてクライアントが設定されます。 |
|
|
選択したネットワークのネットマスク。 |
|
|
デフォルトゲートウェイ。 |
|
|
ネームサーバ。 |
|
|
自動インストールに使用するコントロールファイルの場所で、「 |
|
|
インストールソースの場所で、「 |
|
|
「 |
|
|
VNCのパスワードを指定します。 |
|
|
「 |
|
|
|
自動インストール時にDHCP経由でクライアントを設定し、ネットワークインストールソースをを使用し、インストールプロセスをVNCを使って監視する場合、infoファイルは次のようになります。
autoyast:profile_source install:install_source vnc:1 vncpassword:some_password
インストール時に静的なネットワーク設定を使う場合、infoファイルは次のようになります。
autoyast:profile_source \ install:install_source \ hostip:some_ip \ netmask:some_netmask \ gateway:some_gateway
改行箇所の\マークは、それらの改行が読みやすさのためにだけ追加されていることを示します。すべてのオプションは、連続した文字列として入力する必要があります。
infoファイル中のデータをlinuxrcに利用させるには、さまざまな方法があります。
インストール時にクライアントで使用可能なリムーバブルメディアのファイルとして提供する。info=cd:/infoに類似したinfoパラメータを追加する。
カスタムインストールメディアまたはPXEブートから提供されるシステムのブート用初期RAMディスクのルートディレクトリにファイルを格納する。
AutoYaSTプロファイルの一部としてファイルデータを保管する。この場合、linuxrcに認識させるために、AutoYaSTファイルのファイル名は、infoでなければなりません。この場合の例を以下に示します。
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パラメータは、infoをAutoYaSTプロファイルとして扱うように指示します。
前述の準備が完了したら(プロファイル、インストールソース、およびinfoファイル)、自動インストールを開始できます。ブート方法やプロセスの監視方法によっては、クライアントでの物理的な操作が必要なこともあります。
クライアントシステムを物理メディア(製品CDやカスタムCDなど)からブートする場合は、それらのメディアをクライアントのドライブに挿入する必要があります。
Wake on LANを使ってクライアントの電源を入れる場合以外は、クライアントの電源を手動で入れる必要があります。
リモートによる自動インストールを行わない場合は、AutoYaSTからのメッセージはクライアントのモニタに表示されます。モニタが接続されていない場合は、シリアルコンソールに送られます。
リモートによる自動インストールを行うには、21.1.5項 「infoファイルの作成」の説明に従ってVNCまたはSSHパラメータを指定し、14.5項 「インストールプロセスのモニタ」の説明に従って、他のコンピュータからクライアントに接続します。
以降の項では、AutoYaSTを使用したルールベースのインストールの基本的な概念、およびカスタム自動インストール設定の作成例について説明します。
ルールベースのAutoYaSTインストールを利用すれば、異種ハードウェアが存在する環境で自動インストールを実施できます。
サイトに異なるベンダからのハードウェアが混在していますか?
サイトにあるコンピュータのハードウェア構成がそれぞれ異なっていますか(違うデバイスを使っていたり、メモリ量やディスクサイズが異なる場合など)?
複数のドメイン間でインストールを実施する場合に、これらのドメインを区別する必要がありますか?
基本的に、ルールベースの自動インストールでは、異種ハードウェア環境に合わせて複数のプロファイルをマージした、独自のカスタムプロファイルを作成します。各ルールにはセットアップの特徴(ディスクサイズなど)が記述されており、ルールに一致した場合にどのプロファイルを使用するかをAutoYaSTに指示します。それぞれの特徴が記述された複数のルールは、AutoYaSTのrules.xmlファイルに保管されます。AutoYaSTはこれらのルールを処理して、AutoYaSTルールに一致する複数のプロファイルをマージした最終プロファイルを生成します。この手順の概略図は、21.2.2項 「ルールベースの自動インストールの例」を参照してください。
ルールベースのAutoYaST自動インストールを利用すれば、柔軟にSUSE Linux Enterpriseの導入を計画し、それを実行することができます。実行可能なアクションは次のとおりです。
AutoYaSTで事前定義されているシステム属性に一致するかどうかを判断するルールを作成する
論理演算子を使って複数のシステム属性(ディスクサイズとカーネルのアーキテクチャなど)を1つのルールにまとめる
シェルスクリプトを実行して、その出力をAutoYaSTフレームワークに渡すことによって独自のカスタムルールを作成する作成可能なカスタムルールの数は5つです。
AutoYaSTを使ったルールの作成と使用については、/usr/share/doc/packages/autoyast2/html/index.htmlにあるパッケージドキュメントの「」の章を参照してください。
ルールベースのAutoYaSTの大規模インストールを準備するには、次の手順に従ってください。
異種ハードウェア環境のセットアップに必要なインストールの詳細を定義した、複数のAutoYaSTプロファイルを作成します。詳細は、21.1.1項 「AutoYaSTプロファイルの作成」を参照してください。
ハードウェアセットアップのシステム属性と一致するルールを定義します。詳細については、21.2.2項 「ルールベースの自動インストールの例」を参照してください。
AutoYaSTプロファイルのソース、およびインストールルーチンに渡すパラメータを決定します。詳細については、21.1.2項 「プロファイルの配布とAutoYaSTパラメータの決定」を参照してください。
21.1.3項 「インストールデータの提供」の説明に従って、SUSE Linux Enterpriseインストールデータのソースを決定します。
パラメータを手動で追加、またはinfoファイルを作成して、インストールルーチンにコマンドラインを渡します。詳細は、21.1.5項 「infoファイルの作成」を参照してください。
自動インストールのブートシナリオを決定および設定します。詳細は、21.1.4項 「ブートシナリオの設定」を参照してください。
自動インストールを開始します。詳細は、21.1.6項 「自動インストールの開始と監視」を参照してください。
ルールをどのように作成するかを理解するため、ここでは次の例を使って説明します。概略図は、図21.2「AutoYaSTルール」を参照してください。AutoYaSTインストールを1回実行すると、次のセットアップが行われます。
このマシンには、最低限の項目しかインストールされません。デスクトップ環境は必要なく、一部のソフトウェアパッケージのみが必要とされます。
これらのコンピュータにはデスクトップ環境と、さまざまな開発ソフトウェアが必要です。
これらのコンピュータには、デスクトップ環境と特定のアプリケーション(オフィス、カレンダソフトウェアなど)が必要です。
まず最初に、21.1.1項 「AutoYaSTプロファイルの作成」に説明されているいずれかの方法を使って、それぞれのケースに対応するプロファイルを作成します。この例では、それぞれprint.xml、engineering.xml、およびsales.xmlを作成します。
次に、AutoYaSTに使用するプロファイルを指示するために、3種類のハードウェアタイプを識別するルールを作成します。次のようなアルゴリズムに基づいて、ルールをセットアップします。
コンピュータの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>
このルールファイルを配布する場合、autoyast=protocol:serverip/profiles/ URLで指定されているprofilesディレクトリ内にrulesディレクトリが常駐することを確認してください。AutoYaSTは、rulesサブディレクトリのrules.xmlを探し、ファイルに指定されているプロファイルをロードおよびマージします。
以降の自動インストール作業は、通常と同じように実施します。
AutoYaST技術の詳細な情報については、AutoYaSTまたはソフトウェアとともにインストールされたマニュアル(/usr/share/doc/packages/autoyast2)を参照してください。