OS プロビジョニングプラグインは、SUSE Linux の Kickstart 機能とともに、JumpStart Enterprise Toolkit (JET) テクノロジを通じて提供される機能を使用して、SUSE Linux オペレーティングシステム (OS) をプロビジョニングします。SUSE Linux サーバーを設定する際に、OS をプロビジョニングするための AutoYaST を実行する JET モジュールを作成します。JET についての詳細は、「JumpStart Enterprise Toolkit (JET) テクノロジ」を参照してください。
SUSE Linux ブートおよびインストールサーバーには次のソフトウェアが含まれています。
Linux (RedHat Advanced Server 3.0 および 4.0 でテスト済み) または Solaris OS
TFTP サーバー (tftp-server パッケージ)
NFS サーバー (nfs-utils パッケージ)
N1 SPS リモートエージェント (RA) (Linux 版)。詳細は、『Sun N1 Service Provisioning System 5.2 システム管理者ガイド』の「物理ホストを準備する」を参照してください。
SUSE Linux イメージサーバーを作成する前に、次の作業を行なっておく必要があります。
JET を使用せずプロビジョニングする場合のブートおよびインストールサーバー上の SUSE Linux イメージへの NFS アクセス権の設定
この方法については、「NFS アクセス権を設定する」を参照してください。
ブートおよびインストールサーバー上の SUSE Linux イメージへの TFTP アクセス権の設定
この方法については、「SUSE Linux プロビジョニングするための TFTP アクセス権の設定」を参照してください。
SUSE Linux OS インストールイメージの作成
この方法については、「SUSE Linux ファイルのコピー」を参照してください。
JET を使用せずに SUSE Linux OS をプロビジョニングする場合は、ネットワーク上に NFS アクセス権を設定する必要があります。OS ディストリビューションは、このブートおよびインストールサーバーからサービスを受ける各サブネットに関して、NFS を介してアクセス可能である必要があります。
必ずブートおよびインストールサーバーに NFS ユーティリティーがインストールされていることを確認してください。
/etc/exports ファイルを編集し、次の例のような行を追加します。
/export 10.42.42.*(ro) |
NFS を有効にし、起動します。
RedHat AS 3.0 に適用される、次のようなコマンドを使用します。
#chkconfig --level 35 nfs on #service nfs restart |
SUSE Linux OS をプロビジョニングするために TFTP アクセス権が有効になるようネットワークを設定する必要があります。ここでは、TFTP アクセス権を有効にする方法を示す 2 つの異なる手順を示します。
JET を使用して、SUSE Linux イメージサーバーを作成した場合、TFTP サービスは自動的にプロビジョニング用に構成されます。ただし、その場合でも、ブートおよびインストールサーバー上の TFTP ルートディレクトリに追加のディレクトリおよびファイルを作成またはコピーする必要があります。OS ディストリビューションは、このブートおよびインストールサーバーからサービスを受ける各サブネットに関して、NFS を介してアクセス可能である必要があります。
ブートおよびインストールサーバーに適切な TFTP サーバーソフトウェアがインストールされていることを確認してください。
TFTP ルートディレクトリの下に、次のディレクトリをコピーまたは作成します。
/tftpboot/pxelinux.0 – Linux PXE ブートストラップファイルは http://syslinux.zytor.com/pxe.php からダウンロードできます。
/tftpboot/pxelinux.cfg/ – このディレクトリには PXE 構成ファイルが含まれています。これらのファイルには、各ハードウェアプラットフォームおよび Linux ディストリビューションに固有のパラメータが含まれています。
PXE 構成ファイルの作成方法については、「SUSE Linux OS プロビジョニング用の PXE 構成ファイルを作成する」を参照してください。
この作業では、TFTP ルートディレクトリの 1 例として /tftpboot を使用します。
ディストリビューションは、このブートおよびインストールサーバーからサービスを受ける各サブネットに関して、TFTP を介してアクセス可能である必要があります。
ブートおよびインストールサーバーに適切な TFTP サーバーソフトウェアがインストールされていることを確認してください。
/etc/xinet.d/tftp ファイルで server_args パラメータを探します。
これが、TFTP サーバーにより使用されるルートディレクトリを定義します。ディレクトリが存在しない場合は、ディレクトリを作成します。
この作業では例として /tftpboot を使用します。
TFTP を有効にし、xinetd デーモンを再起動します。
RedHat AS 3.0 で動作する、次の例のようなコマンドを使用します。
#chkconfig tftp on #service xinetd restart |
TFTP ルートディレクトリの下に、次のディレクトリをコピーまたは作成します。
/tftpboot/pxelinux.0 – Linux PXE ブートストラップファイルは http://syslinux.zytor.com/pxe.php からダウンロードできます。
/tftpboot/pxelinux.cfg/ – このディレクトリには PXE 構成ファイルが含まれています。これらのファイルには、各ハードウェアプラットフォームおよび Linux ディストリビューションに固有のパラメータが含まれています。
/tftpboot/pxelinux.cfg/v20z-config – V20z プラットフォームに固有のディレクトリ。
/tftpboot/linux – boot/loader にあるディストリビューションのインストールカーネル。
/tftpboot/initrd – boot/loader にあるディストリビューションのインストール RAM ディスク。
SUSE Linux OS イメージを作成するには、ブートおよびインストールサーバーか、NFS 経由でネットワークからアクセス可能なほかのシステムに製品媒体のファイルをコピーします。これらのファイルは、SUSE Linux OS または Solaris OS のいずれかが動作するシステムにあります。システムの CD-ROM ドライブに物理製品媒体を挿入し、プロビジョニングプラン用のイメージソースとして CD を指定することもできます。SUSE Linux ブートおよびインストールサーバーにコピーを配置する必要はありません。
SUSE Linux ファイルをコピーするには、製品 CD の内容を特定のディレクトリ構造に抽出します。SUSE Linux ファイルをコピーする方法については、http://www.suse.com/~ug/AutoYaST_FAQ.html#a6を参照してください。
SUSE Linux Enterprise Server 8.0 release のプロビジョニングを自動化するには、SUSE Linux 8.0 インストールイメージを作成したあとにインストーラスクリプトを変更する必要があります。詳細については、「インストーラスクリプトを変更して SUSE Linux Enterprise Server 8.0 のプロビジョニングを自動化する」を参照してください。
ブートおよびインストールサーバーではないシステムにコピーを配置する場合は、次の条件が満たされる必要があります。
JET を使用する SUSE Linux プロビジョニングの場合は、ブートおよびインストールサーバーとターゲットホストが NFS 経由で OS ファイルのコピーにアクセスできること。
JET を使用しない SUSE Linux プロビジョニングの場合は、ターゲットホストが NFS 経由で OS ファイルのコピーにアクセスできること。
SUSE Linux Enterprise Server (SLES) 8.0 インストーラには、インストール先のシステムのキーボードの有無をチェックするコードが含まれています。このコードがあると、OS プロビジョニングプラグイン で SLES 8.0 OS のインストールを自動化することができません。SLES 8.0 OS のプロビジョニングを完全に自動化するには、インストーラを編集してこのコードを削除します。次の手順に従ってください。
SLES 8.0 イメージの root ファイルを含む boot ディレクトリに移動します。
boot ディレクトリは、SLES8.0 CD の 1 枚目のコピーにあります。
root ファイルのバックアップコピーを作成します。
# cp root root.orig |
一時ディレクトリに、ループバックモードでファイルのコピーをマウントします。
# mkdir /tmp/loop # mount -o loop root.orig /tmp/loop |
作業用の一時ディレクトリを作成します。
# mkdir /tmp/work |
root を作業用の一時ディレクトリにコピーします。
# cd /tmp/work # rsync -avz /tmp/loop/* . |
テキストエディタで、作業用の一時ディレクトリにある YaST2 インストーラスクリプトを開きます。
前の手順で指定したディレクトリ名を使用する場合は、 YaST2 インストーラスクリプトは /tmp/work/usr/lib/YaST2/bin/ ディレクトリにあります。
YaST2 インストーラスクリプトから次の部分のコードを削除します。
# iSeries and p690 dont have a keyboard but a special console, no need to # run via serial console. if [ ! "$update" -a "$Keyboard" = "0" -a ! "$Braille" -a "$NOTISERIES" != 0 -a "$NOTHVCCONSOLE" != 0 -a "$HOSTTYPE" != "s390" -a "$HOSTTYPE" != "s390x" ] ; then log "no keyboard?" echo "No keyboard detected. Trying to connect via serial interface /dev/ttyS0." echo "On your terminal computer start the user interface with" echo "y2base \"serial(115200):/dev/ttyS0\" qt -geometry 800x600 -style=platinum" echo "or" echo "y2base \"serial(115200):/dev/ttyS1\" qt -geometry 800x600 -style=platinum" echo "or start the YaST2 menu by typing \"yast2\" and select YaST2/Remote Install" y2base "$modulename" $moduleargs "serial(115200):/dev/ttyS0" --timeout 15 y2exitcode=$? [ $y2exitcode -eq 0 ] && y2cc_ncurses if [ "$y2exitcode" = 13 ] ; then echo "Connection timeout. Continuing with normal setup." else exit $y2exitcode fi fi
変更した YaST2 インストーラスクリプトを含めて root ファイルを再作成します。
# cd /tmp # mkfs.cramfs work root |
新しい root ファイルを SLES 8.0 CD の 1 枚目にコピーします。
# cp /tmp/root suse-copy-path/boot/root |
suse-copy-path は、SLES 8.0 CD の 1 枚目のコピーへのパスです。
作業用の一時ディレクトリを削除し、一時ディレクトリへのループバックを削除します。
# rm -rf work # umount /tmp/loop |
SLES 8.0 インストーラを編集したあとに、インストールが対話モードに変わり、ライセンス契約同意書への確認を求められる場合は、SLES 8.0 CD の 1 枚目のコピーにある info.txt ファイルの名前を変更します。次に例を示します。
# mv suse-copy-path /media.1/info.txt suse-copy-path media.1/info.txt.bak
ファイル名を変更したら、SLES 8.0 OS のプロビジョニングを再度実行してください。
SUSE Linux イメージをコピーしたあと、N1 SPS 環境内に SUSE Linux イメージサーバーかブートおよびインストールサーバーを作成する必要があります。ブートおよびインストールサーバーを N1 SPS リモートエージェントにし、ブートおよびインストールサーバーをマスターサーバーに対するリモートエージェントとして追加します。
ブラウザインタフェースからサーバーを作成するには、次の手順に従います。
プロビジョニングソフトウェアのページの「Common Tasks」セクションで、「OS Provisioning」を選択します。
「OS Provisioning Common Tasks」ページの「Linux Image Servers」セクションで「Create」をクリックします。
「Plans Details」ページの「Run」をクリックします。
このプランに使用する変数を選択します。
既存の変数セットを使用するには、「Plan Parameters」テーブルの「LinuxServer」コンポーネント行にあるドロップダウンメニューから名前を選択します。
新しい変数セットを作成するには、「Plan Parameters」テーブルの「LinuxServer」コンポーネント行で「Select from List」をクリックします。
「Create Set」をクリックします。
変数セットの名前を入力します。
必要に応じて、linuxHost 変数を、コマンド行インタフェースの位置に変更します。
デフォルトでは、仮想 Linux ホスト名は、-linux が追加されたターゲットホストのホスト名に設定されています。
installPath や boot_server_tftp_root_directory 変数の値は、変更しないでください。
変数セットを保存します。
「Plan Parameters」テーブルの「LinuxServer」コンポーネント行にあるドロップダウンメニューから、直前に保存した変数セットを選択します。
別のコンポーネントの変数設定を使用する場合は、「Import Set From Component」をクリックします。
「Import Variable Settings」ウィンドウが表示されます。
必要に応じて、変数設定のインポート元となるコンポーネントが入ったフォルダへ移動します。
コンポーネントのバージョンを選択します。
コンポーネントのバージョンが異なると、変数設定も異なる可能性があります。現在のコンポーネントおよびインポートする変数設定があるコンポーネントが共通の変数を使用していることを確認します。変数設定のインポート元のコンポーネントと、プランで使用するコンポーネントの間で共通に使用している変数が存在しない場合、変数設定はインポートされません。
「Import Variable Settings」をクリックします。
変数設定がインポートされ、表形式で表示されます。
「Plan Details Run」ページの「Variable Settings」ドロップダウンリストから、インポートした変数設定を選択し、「Select」をクリックします。
ファイルに保存されているコンポーネント変数設定を使用する場合は、次の手順に従います。
「Import Sets from File」テキストフィールドに、使用する変数設定ファイルへのパスを入力します。
ファイルシステムをブラウズして適切なファイルを探すには、「ブラウズ」ボタンをクリックします。
「Import」をクリックします。
変数設定がインポートされ、表形式で表示されます。
変数設定のインポート元のファイルと、プランで使用するコンポーネントの間で共通に使用している変数が存在しない場合、変数設定はインポートされません。
「Plan Details Run」ページの「Variable Settings」ドロップダウンリストから、インポートした変数設定を選択し、「Select」をクリックします。
Linux イメージサーバーを作成するホストを選択します。
「Run Plan (includes preflight)」をクリックします。
イメージサーバーが正常に作成されたことを確認するには、プロビジョニングサーバーのウィンドウの左側にある「Hosts」リンクをクリックします。
-linux が付加された仮想ホストの名前が表示されます。たとえば、ホスト bikickstart にインストールした場合、仮想ホストは bikickstart-linux です。
この手順によって、ブートおよびインストールサーバーに SUNWjet と JetRedHat 、JetSuse パッケージがインストールされます。SUNWjet パッケージは、TFTP サーバーの設定と、JET ベースディレクトリ (デフォルトでは /opt/SUNWjet) ディレクトリの NFS 共有設定を行います。
OS プロビジョニングサーバーがブートおよびインストールサーバーと同じ物理ホスト上に存在する場合は、ターゲットホストへのプロビジョニングの前にそのシステムのインタフェースを構成する必要があります。OS プロビジョニングサーバーは、ブートおよびインストールサーバーのインタフェースを自動的には構成しません。
N1 SPS のブラウザインタフェースまたはコマンド行インターフェースから SUSE Linux イメージサーバーを作成できます。
ターゲットホストの位置を特定できるよう、autoyast ファイルは、SUSE Linux ブートおよびインストールサーバー上の NFS エクスポートディレクトリ (例: /export/autoyast) に配置する必要があります。
コマンド行からサーバーを作成するには、次のようなコマンドを入力します。
# cr_cli -cmd cdb.vs.add -comp NM:/com/sun/n1osp/untyped/LinuxServer \ -name "linuxserver" -u admin -p admin -vars "boot_server_tftp_root_directory=/tftpboot" # cr_cli -cmd pe.p.run -u admin -p admin \ -PID NM:/com/sun/n1osp/untyped/LinuxServer-create \ -tar H:NM:bikickstart -comp + -vs linuxserver -pto 30 -nto 10 |
これらのコマンドによって、ブートおよびインストールサーバーに SUNWjet、JetRedHat、および JetSuse パッケージがインストールされます。SUNWjet パッケージは、TFTP サーバーの設定と、JET ベースディレクトリ (デフォルトでは /opt/SUNWjet) ディレクトリの NFS 共有設定を行います。
OS プロビジョニングサーバーがブートおよびインストールサーバーと同じ物理ホスト上に存在する場合は、ターゲットホストへのプロビジョニングの前にそのシステムのインタフェースを構成する必要があります。OS プロビジョニングサーバーは、ブートおよびインストールサーバーのインタフェースを自動的には構成しません。