第21章 自動インストール

目次

21.1. 単純な大規模インストール
21.2. ルールベースの自動インストール
21.3. 詳細情報

AutoYaSTを使用して、多数のコンピュータに並行してSUSE® Linux Enterpriseをインストールできます。AutoYaSTでは、異種ハードウェア環境への導入に対して柔軟に対応します。この章では、単純な自動インストールを行うための準備作業、および異種ハードウェア環境の場合の高度なインストール方法について説明します。

21.1. 単純な大規模インストール

[Important]同一のハードウェアを使用している環境

ここでは、同一のハードウェアで構成される一連のコンピュータへのSUSE Linux Enterpriseのインストールについて説明します。

AutoYaSTの大規模インストールを準備するには、次の手順に従ってください。

  1. 導入に必要なインストールの詳細を定義したAutoYaSTプロファイルを作成します。詳細は、21.1.1項 「AutoYaSTプロファイルの作成」を参照してください。

  2. AutoYaSTプロファイルのソース、およびインストールルーチンに渡すパラメータを決定します。詳細は、21.1.2項 「プロファイルの配布とAutoYaSTパラメータの決定」を参照してください。

  3. 21.1.3項 「インストールデータの提供」の説明に従って、SUSE Linux Enterpriseインストールデータのソースを決定します

  4. 自動インストールのブートシナリオを決定および設定します。詳細は、21.1.4項 「ブートシナリオの設定」を参照してください。

  5. パラメータを手動で追加、またはinfoファイルを作成して、インストールルーチンにコマンドラインを渡します。詳細は、21.1.5項 「infoファイルの作成」を参照してください。

  6. 自動インストールを開始します。詳細は、21.1.6項 「自動インストールの開始と監視」を参照してください。

21.1.1. AutoYaSTプロファイルの作成

AutoYaSTに、何をインストールするか、そしてインストール先システムをどのように設定するかを知らせるには、AutoYaSTプロファイルを使用します。このプロファイルは、さまざまな方法で作成できます。

  • インストールした直後のコンピュータから同一構成の他のコンピュータに複製する

  • AutoYaST GUIを使って、要件に合うようにプロファイルを作成および変更する

  • XMLエディタを使って最初からプロファイルを作成する

インストール直後のコンピュータから複製するには、次の手順に従ってください。

  1. 通常のインストールを行います。

  2. ハードウェア設定を完了し、リリースノートを読んだら、[このシステムをAutoYaST用に複製する]を選択します(デフォルトで、このチェックボックスが選択されていない場合)。このチェックボックスを選択すると、/root/autoyast.xmlプロファイルが作成されます。このプロファイルは、同一構成の他のコンピュータへの複製インストールに利用できます。

AutoYaST GUIを使って既存のシステム設定からプロファイルを必要に応じて作成および変更するには、次の手順に従ってください。

  1. rootとして、YaSTを開始します。

  2. [その他]+[Autoinstallation]の順に選択して、AutoYaST GUIを起動します。

  3. [ツール]+[参照プロファイルの作成]の順に選択してAutoYaSTを準備し、現在のシステム設定をAutoYaSTプロファイルにミラーリングさせます。

  4. デフォルトリソース(ブートローダ、パーティション分割、ソフトウェアの選択など)に加えて、システムの他の側面もプロファイルに追加したい場合は、[参照コントロールファイルの作成]のリストで項目を選択します。

  5. [作成]をクリックすると、YaSTによりすべてのシステム情報が収集され、新しいプロファイルが作成されます。

  6. 次に、以下のいずれかの作業を行います。

    • 作成されたプロファイルが完全に要件と一致している場合は、[ファイル]+[名前を付けて保存]の順に選択して、autoyast.xmlのようにプロファイル名を入力します。

    • 左側のツリービューから適切な設定項目(ハードウェア、プリンタなど)を選択し、[設定]をクリックして参照プロファイルを変更します。 各YaSTモジュールが開きますが、変更内容はシステムに適用されるのではなく、AutoYaSTプロファイルに書き込まれます。作業が完了したら、[ファイル]+[名前を付けて保存]の順に選択して、適切なプロファイル名を入力します。

  7. ファイル+終了の順に選択して、AutoYaSTモジュールを終了します。

図21.1 AutoYaSTフロントエンドを使ったAutoYaSTプロファイルの編集

AutoYaSTフロントエンドを使ったAutoYaSTプロファイルの編集

21.1.2. プロファイルの配布とAutoYaSTパラメータの決定

AutoYaSTプロファイルは、さまざまな方法で配布できます。プロファイルデータを配布するために使用するプロトコルによって、プロファイルの場所を知らせるために使用するAutoYaSTパラメータが異なります。プロファイルの場所は、ブートプロンプト、またはブート時にロードされるinfoファイルを使って、インストールルーチンに渡されます。次のオプションを指定できます。

プロファイルの場所

パラメータ

説明

ファイル

autoyast=file://path

指定したパス(ソースルートディレクトリへの相対パス。CD ROMの最上位ディレクトリにある場合は、file:///autoyast.xml)にあるコントロールファイルをインストールルーチンに参照させます。

Device

autoyast=device://path

インストールルーチンに、ストレージデバイス上の制御ファイルを参照させます。デバイス名以外は必要ありません。たとえば、/dev/sda1ではなく、sda1と指定する必要があります。

フロッピー(Floppy)

autoyast=floppy://path

インストールルーチンに、フロッピードライブにあるフロッピーディスク上の制御ファイルを参照させます。このオプションは、CD-ROM からブートする場合などに役立ちます。

NFS

autoyast=nfs://server/path

インストールルーチンに、NFSサーバから制御ファイルを取得させます。

HTTP

autoyast=http://server/path

インストールルーチンに、HTTPサーバから制御ファイルを取得させます。

HTTPS

autoyast=https://server/path

インストールルーチンに、HTTPSサーバから制御ファイルを取得させます。

TFTP

autoyast=tftp://server/path

インストールルーチンに、TFTPサーバから制御ファイルを取得させます。

FTP

autoyast=ftp://server/path

インストールルーチンに、FTPサーバから制御ファイルを取得させます。

serverおよびpathの部分には、それぞれ実際のサーバ名またはパス名を指定してください。

AutoYaSTには、クライアントのMACアドレスに特定のプロファイルをバインドできる機能があります。この機能を利用することにより、autoyast=パラメータを変更せずに、異なるプロファイルを使用して、同じセットアップで別のインスタンスのインストールを行うことができます。

この機能を使用するには、次の手順に従ってください。

  1. クライアントのMACアドレスをファイル名にして、個別のプロファイルを作成します。作成したプロファイルは、自分のAutoYaSTプロファイルがあるHTTPサーバに保管します。

  2. autoyast=パラメータの作成時には、パスとファイル名を省略します。以下に例を示します。

    autoyast=tftp://192.168.1.115/
  3. 自動インストールを開始します。

YaSTは、次の手順でプロファイルの場所を判断します。

  1. YaSTは、自分のIPアドレスの大文字16進数表記を使ってプロファイルを検索します。たとえば、IPアドレスの}}192.0.2.91は、16進数表記でC000025Bとなります。

  2. このファイルが見つからなかった場合、16進数表記の桁を1つ削除して、もう一度検索を行います。適切な名前を持つファイルが見つかるまで、この手順を8回繰り返します。

  3. それでも失敗する場合は、ファイル名としてクライアントのMACアドレスを使用してファイルを検索します。たとえば、クライアントのMACアドレスが0080C8F6484Cである場合、この名前を持つファイルが検索されます。

  4. ファイル名がMACアドレスであるファイルが見つからなかった場合は、ファイル名がdefault(小文字)のファイルを探します。YaSTがAutoYaSTプロファイルを検索する順序の例を以下に示します。

    C000025B 
    C000025 
    C00002 
    C0000 
    C000 
    C00 
    C0 
    C 
    0080C8F6484C 
    default
         

21.1.3. インストールデータの提供

インストールデータは、製品CD、DVD、またはネットワークインストールソースを介して提供できます。製品CDをインストールソースとして使用する場合は、ブートプロセスを手動で開始したり、CDを交換する必要があるため、インストール先のクライアントに物理的にアクセスする必要があります。

ネットワーク経由でインストールソースを提供する場合は、14.2.1項 「YaSTを使ったインストールサーバのセットアップ」の説明に従ってネットワークインストールサーバ(HTTP、NFS、FTP)を設定します。インストールルーチンにサーバの場所を渡すには、infoファイルを使用します。

21.1.4. ブートシナリオの設定

クライアントは、さまざまな方法でブートできます。

ネットワークブート

通常のリモートインストールでは、Wake on LANとPXEで自動インストールを開始することができます。また、ブートイメージとコントロールファイルはTFTPで取得し、インストールソースはネットワークインストールサーバから取得できます。

ブート可能CD-ROM

自動インストールするシステムのブートにオリジナルのSUSE Linux Enterpriseメディアを使い、制御ファイルをネットワークやフロッピーディスクから取得します。あるいは、インストールソースとAutoYaSTプロファイルの両方を格納する独自のCD-ROMを作成することもできます。

以降の項では、ネットワークブートまたはCD-ROMからのブート手順の基本的な概略を説明します。

21.1.4.1. ネットワークブートの準備

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/autoyast.xml
	

これらの例のIPアドレスとパスは、実際の環境に合わせて変更する必要があります。

21.1.4.2. CD-ROM からのブートの準備

AutoYaSTインストールでCD-ROMからブートするには、さまざまな方法があります。次の中から、適切な方法を選択してください。

SUSE Linux Enterpriseメディアからブートし、プロファイルをネットワーク経由で取得する

ネットワークベースのインストールでは完全にインストールできない場合(ハードウェアがPXEをサポートしていない場合など)で、プロセス中にシステムに物理的にアクセスできる場合は、この方法を使用します。

この方法では、次のものが必要になります。

  • SUSE Linux Enterpriseメディア

  • プロファイルデータを提供するネットワークサーバ(詳細は21.1.2項 「プロファイルの配布とAutoYaSTパラメータの決定」を参照)

  • プロファイルの場所をインストールルーチンに知らせるinfoファイルを含んだフロッピーディスク

    または

    autoyast=パラメータを手動で入力するため、システムのブートプロンプトへのアクセス

SUSE Linux Enterpriseメディアからブートおよびインストールを行い、プロファイルはフロッピーから取得する

ネットワークベースのインストールでは完全にインストールできない場合に、この方法を使用します。この方法では、ターゲットコンピュータをオンにしたり、ブートプロンプトでプロファイルの場所を入力するため、インストールするシステムに物理的にアクセスする必要があります。また、いずれの場合でも、インストールの内容によってはメディアを交換しなければならないこともあります。

この方法では、次のものが必要になります。

  • SUSE Linux Enterpriseメディア

  • プロファイルとinfoファイルの両方を格納したフロッピーディスク

    または

    autoyast=パラメータを入力するため、ターゲットのブートプロンプトへのアクセス

カスタムメディアからブートおよびインストールを行い、プロファイルもそのメディアから取得する

特定のソフトウェアパッケージだけをインストールすればよく、ターゲット数が比較的少ない場合は、インストールデータとプロファイルの両方を格納した独自のCDを作成することも考慮してください。この方法は、ネットワークが利用できない場合などに役立ちます。

21.1.5. infoファイルの作成

ターゲットのインストールルーチンには、AutoYaSTフレームワークのすべてのコンポーネントを認識させる必要があります。認識させるには、インストールプロセスを制御するために必要なAutoYaSTコンポーネント、インストールソース、およびパラメータを探すのに必要なすべてのパラメータを含んだコマンドラインを作成します。

このためには、インストール時にブートプロンプトから手動でこれらのパラメータを指定するか、またはインストールルーチン(linuxrc)に参照させるinfoファイルを作成します。ブートプロンプトから手動で指定する方法は、インストール対象クライアントに物理的にアクセスする必要があるため、大規模な導入には向いていません。ファイルを作成する方法は、infoファイルをいくつかのメディアに格納し、それを自動インストールの前にクライアントのドライブに挿入して準備しておくことができます。かわりに、pxelinux.cfg/defaultファイルにlinuxrcパラメータを指定して、PXEブートを使用することもできます。詳細は、21.1.4.1項 「ネットワークブートの準備」を参照してください。

linuxrcで一般的に使用されるパラメータを以下に示します。詳細は、/usr/share/doc/packages/autoyastにある、AutoYaSTパッケージのドキュメントを参照してください。

[Important]パラメータと値の区切り方

ブートプロンプトからlinuxrcに渡すパラメータを入力する場合、パラメータと値の間は「=」で区切ります。infoファイルを使用する場合は、パラメータと値の間を「:」で区切ります。

キーワード

netdevice

ネットワークセットアップに使用するネットワークデバイス(BOOTP/DHCPリクエスト用) 複数のネットワークデバイスを利用できる場合にのみ指定する必要があります。

hostip

指定しない場合、クライアントはBOOTPリクエストを送信します。値を指定した場合は、指定したデータに基づいてクライアントが設定されます。

netmask

選択したネットワークのネットマスク。

ゲートウェイ

デフォルトゲートウェイ。

nameserver

ネームサーバ。

autoyast

自動インストールに使用するコントロールファイルの場所で、「autoyast=nfs//192.168.1.110/profiles/」のように指定します。

install

インストールソースの場所で、「install=nfs://192.168.1.110/CDs/」のように指定します。

vnc

1」を設定すると、VNCリモート制御によるインストールが有効になります。

vncpassword

VNCのパスワードを指定します。

usessh

1」を設定すると、SSHリモート制御によるインストールが有効になります。

自動インストール時に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に利用させるには、さまざまな方法があります。

  • インストール時に、クライアントのドライブ内にあるフロッピーディスクまたはCD ROMにファイルを格納する。info=floppy:/infoまたはinfo=cd:/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:パラメータは、インストールソースの場所を示しています。 vncvncpasswordは、インストールの監視にVNCを使うことを表しています。autoyastパラメータは、infoをAutoYaSTプロファイルとして扱うように指示します。

21.1.6. 自動インストールの開始と監視

前述の準備が完了したら(プロファイル、インストールソース、およびinfoファイル)、自動インストールを開始できます。ブート方法やプロセスの監視方法によっては、クライアントでの物理的な操作が必要なこともあります。

  • クライアントシステムを物理メディア(製品CDやカスタムCDなど)からブートする場合は、それらのメディアをクライアントのドライブに挿入する必要があります。

  • Wake on LANを使ってクライアントの電源を入れる場合以外は、クライアントの電源を手動で入れる必要があります。

  • リモートによる自動インストールを行わない場合は、AutoYaSTからのメッセージはクライアントのモニタに表示されます。モニタが接続されていない場合は、シリアルコンソールに送られます。

リモートによる自動インストールを行うには、21.1.5項 「infoファイルの作成」の説明に従ってVNCまたはSSHパラメータを指定し、14.5項 「インストールプロセスのモニタ」の説明に従って、他のコンピュータからクライアントに接続します。

21.2. ルールベースの自動インストール

以降の項では、AutoYaSTを使用したルールベースのインストールの基本的な概念、およびカスタム自動インストール設定の作成例について説明します。

21.2.1. ルールベースの自動インストールとは

ルールベースのAutoYaSTインストールを利用すれば、異種ハードウェアが存在する環境で自動インストールを実施できます。

  • サイトに異なるベンダからのハードウェアが混在していますか?

  • サイトにあるコンピュータのハードウェア構成がそれぞれ異なっていますか(違うデバイスを使っていたり、メモリ量やディスクサイズが異なる場合など)?

  • 複数のドメイン間でインストールを実施する場合に、これらのドメインを区別する必要がありますか?

基本的に、ルールベースの自動インストールでは、異種ハードウェア環境に合わせて複数のプロファイルをマージした、独自のカスタムプロファイルを作成します。各ルールにはセットアップの特徴(ディスクサイズなど)が記述されており、ルールに一致した場合にどのプロファイルを使用するかをAutoYaSTに指示します。それぞれの特徴が記述された複数のルールは、AutoYaSTのrules.xmlファイルに保管されます。AutoYaSTはこれらのルールを処理して、AutoYaSTルールに一致する複数のプロファイルをマージした最終プロファイルを生成します。この手順の概略図は、21.2.2項 「ルールベースの自動インストールの例」を参照してください。

ルールベースのAutoYaST自動インストールを利用すれば、柔軟にSUSE Linux Enterpriseの導入を計画し、それを実施することができます。以下の操作を行えます。

  • AutoYaSTで事前定義されているシステム属性に一致するかどうかを判断するルールを作成する。

  • 論理演算子を使って複数のシステム属性(ディスクサイズとカーネルのアーキテクチャなど)を1つのルールにまとめる

  • シェルスクリプトを実行して、その出力をAutoYaSTフレームワークに渡すことによって独自のカスタムルールを作成する 作成可能なカスタムルールの数は5つです。

[Note]

AutoYaSTを使ったルールの作成と使用については、/usr/share/doc/packages/autoyast2/html/index.htmlにあるパッケージドキュメントの「Rules and Classes」の章を参照してください。

ルールベースのAutoYaSTの大規模インストールを準備するには、次の手順に従ってください。

  1. 異種ハードウェア環境のセットアップに必要なインストールの詳細を定義した、複数のAutoYaSTプロファイルを作成します。詳細は、21.1.1項 「AutoYaSTプロファイルの作成」を参照してください。

  2. ハードウェアセットアップのシステム属性と一致するルールを定義します。詳細は、21.2.2項 「ルールベースの自動インストールの例」を参照してください。

  3. AutoYaSTプロファイルのソース、およびインストールルーチンに渡すパラメータを決定します。詳細は、21.1.2項 「プロファイルの配布とAutoYaSTパラメータの決定」を参照してください。

  4. 21.1.3項 「インストールデータの提供」の説明に従って、SUSE Linux Enterpriseインストールデータのソースを決定します

  5. パラメータを手動で追加、またはinfoファイルを作成して、インストールルーチンにコマンドラインを渡します。詳細は、21.1.5項 「infoファイルの作成」を参照してください。

  6. 自動インストールのブートシナリオを決定および設定します。詳細は、21.1.4項 「ブートシナリオの設定」を参照してください。

  7. 自動インストールを開始します。詳細は、21.1.6項 「自動インストールの開始と監視」を参照してください。

21.2.2. ルールベースの自動インストールの例

ルールをどのように作成するかを理解するため、ここでは次の例を使って説明します。概略図は、図21.2「AutoYaSTルール」を参照してください。AutoYaSTインストールを1回実行すると、次のセットアップが行われます。

プリントサーバ

このコンピュータには、最低限の項目しかインストールされません。デスクトップ環境は必要なく、一部のソフトウェアパッケージのみが必要とされます。

技術部門のワークステーション

これらのコンピュータにはデスクトップ環境と、さまざまな開発ソフトウェアが必要です。

営業部門のラップトップ

これらのコンピュータには、デスクトップ環境と特定のアプリケーション(オフィス、カレンダソフトウェアなど)が必要です。

図21.2 AutoYaSTルール

AutoYaSTルール

まず最初に、21.1.1項 「AutoYaSTプロファイルの作成」に説明されているいずれかの方法を使って、それぞれのケースに対応するプロファイルを作成します。この例では、それぞれprint.xmlengineering.xml、およびsales.xmlを作成します。

次に、AutoYaSTに使用するプロファイルを指示するために、3種類のハードウェアタイプを識別するルールを作成します。次のようなアルゴリズムに基づいて、ルールをセットアップします。

  1. コンピュータのIPアドレスが192.168.2.253かどうか?そうならば、プリントサーバとして設定する。

  2. コンピュータにPCMCIAハードウェアが搭載されており、Intel製のチップセットが使用されているか? そうならば、Intel製ラップトップであると判断し、営業部門に適したソフトウェアをインストールする。

  3. 前述の条件に当てはまらない場合は、開発部門のワークステーションと判断し、適切なソフトウェアやパッケージをインストールする。

このような条件を定義した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を探し、ファイルに指定されているプロファイルをロードおよびマージします。

以降の自動インストール作業は、通常と同じように実施します。

21.3. 詳細情報

AutoYaST技術の詳細は、ソフトウェアと一緒にインストールされているドキュメントを参照してください。このドキュメントは、/usr/share/doc/packages/autoyast2ディレクトリにあります。このドキュメントの最新版については、http://www.suse.de/~ug/autoyast_doc/index.htmlを参照してください。