この節では、N1 Provisioning Server ソフトウェアを使用して Linux イメージを作成できるように、Linux 環境を構成するための条件について説明します。
Linux システムは次の条件に適合する必要があります。
PXE Boot Server マシン (これ以降、Kickstart サーバーと呼ぶ) で Linux を実行している必要があります。 推奨される Linux のバージョンは、Red Hat Enterprise Linux AS2.1 です。
サーバーブレードに付属の Sun Fire B1600 プラットフォームマニュアル、ドライバ、およびインストール CD が必要です。
Red Hat Enterprise Linux AS2.1 のインストール CD が必要です。
Kickstart サーバーを N1 Provisioning Server 設定のネットワークに接続する方法は複数あります。 次に、これらの方法の例を 2 つ示します。
図 4–1 の例では、Kickstart サーバーの Ethernet インタフェースの 1 つが(マシンに 2 つ以上ある場合) ブレードシェルフのポートの 1 つに直接接続されています。 この例では、NETP0 ポートが使用されています。
図 4–2 のように、Kickstart サーバーが外部スイッチ経由でブレードシェルフに接続されている可能性もあります。 この図では、Kickstart サーバーのインタフェース eth1 は Cisco スイッチ C2924 に接続されています。シェルフの外部ポートの 1 つ (この場合は NETP0) も Cisco スイッチ C2924 に接続されています。
このマニュアルの残りの部分では、図 4–3 のように、Provisioning Server マシンとの接続が含まれる設定を仮定します。 この設定は 図 4–1 で示す 1 つに基づいていることに注意してください。 Kickstart サーバーは、2 番目の Ethernet インタフェースまたは端末サーバー経由で外部ネットワークからアクセスできます。 あるいは、Kickstart サーバーはコンソールデバイス (モニター) から直接アクセスできます。 シェルフに接続されているインタフェースには、有効なインターネットアドレスが接続 (plumb) され割り当てられる必要があります。
次に、Kickstart サーバーのネットワーク構成例を示します。
[root@ks-server root]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:03:47:31:71:98 inet addr:10.5.140.151 Bcast:10.5.140.159 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:134432 errors:0 dropped:0 overruns:0 frame:0 TX packets:114431 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:31829037 (30.3 Mb) TX bytes:45777133 (43.6 Mb) Interrupt:10 Base address:0xc000 eth1 Link encap:Ethernet HWaddr 00:03:47:31:71:99 inet addr:10.40.40.1 Bcast:10.40.40.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:321940 errors:0 dropped:0 overruns:0 frame:0 TX packets:1540859 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:48545214 (46.2 Mb) TX bytes:2160671329 (2060.5 Mb) Interrupt:5 Base address:0xe000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:538 errors:0 dropped:0 overruns:0 frame:0 TX packets:538 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:42254 (41.2 Kb) TX bytes:42254 (41.2 Kb) [root@ks-server root]# |
サーバーの 1 番目のインタフェース (eth0) は外部スイッチに接続されます。 サーバーはこのインタフェース経由でアクセスできます。 2 番目のインタフェース (eth1) はシェルフに直接接続されており、ネットワーク 10.40.40.0 の IP アドレス 10.40.40.1 が割り当てられています。
Kickstart サーバーを設定する方法については、『Sun FireTM B100x and B200x Server Blade Installation and Setup Guide』の「Installing Linux From a PXE Boot Install Environment」の指示を参照してください。 第 4 章の最初から 4.4 節「Installing Linux on a Server Blade from a PXE Boot Server」の手順 5 までを参照します。
『Sun FireTM B100x and B200x Server Blade Installation and Setup Guide』は次の Web サイトからダウンロードできます。
Red Hat ディストリビューションに付属しているデフォルトの構成ファイルは、適切な IP アドレスおよびパス名で修正する必要があります。 『Sun FireTM B100x and B200x Server Blade Installation and Setup Guide』の 4.4 節「Installing Linux on a Server Blade from a PXE Boot Server」の手順 5、6、および 7 を参照してください。 さらに重要なこととして、ディスクパーティションとパッケージ選択情報を N1 Provisioning Server 3.1, Blades Edition に合わせてカスタマイズする必要があります。
Linux イメージには、N1 Provisioning Server が必要とするいくつかのパッケージが含まれている必要があります。 このようなパッケージが確実に含まれるようにするために、パッケージ選択リストに N1 Required RPMS というエントリを追加します。 ファイル /<tftp_base_dir>/as-2.1/RedHat/base/comps を編集して、次の宣言を追加します。
1 N1 Required RPMS { pdksh tftp tftp-server }
次のリストは、 ks.cfg ファイルで指定されるパッケージ選択の例です。
%packages @ Network Managed Workstation @ Software Development @ Base @ Printing Support @ Network Support @ Messaging and Web Tools @ News Server @ NFS File Server @ Windows File Server @ Web Server @ Router /Firewall @ DNS Name Server @ Emacs @ Utilities @ Advanced Server @ N1 Required RPMS
実際のディスクサイズはベンダーによって異なります (バイトレベルで)。 したがって、普遍化するために、N1 Provisioning Server はすべてのディスクサイズが 30*10 ^9 バイト (つまり、30G バイト) であると仮定します。 しかし、B100n ブレードの実際のディスクサイズは 30*10 ^9 バイトよりも少しだけ多くなります (30005305344 バイト)。 したがって、30*10 ^9 バイトというディスクイメージはすべての B100n/B200n サーバーブレード上で動作することが保証されますが、実際のディスクサイズのディスクイメージは (この誤差のために) 一部のサーバーブレードで動作しない可能性があります。 作成したすべてのイメージに 30*10 ^9 バイトのディスクサイズを使用することによって、すべてのサーバーブレードにイメージを配備できることが保証されます。
Linux オペレーティングシステムは、データを格納するとき、ディスクの終わりの方にあるディスクブロックも使用します。 結果として、30*10 ^9 バイトのディスクのスナップショットを撮ると、ディスクの終わりの方にある重要なディスクブロックがスナップショットから漏れる可能性があります。 このようなイメージがプロビジョンされたブレードはブートに失敗します。 この問題を解決するには、ダミーのファイルシステム (超過分として約 10M バイト) をディスクの終わりの方に作成しておいて、スナップショットを撮る前にこのファイルシステムを除外します。
次に、このようなディスクパーティションの例を示します。
part /--asprimary --fstype ext3 --size 512 --grow --ondisk hda part swap --size 2048 --ondisk hda part /tmp --fstype ext3 --size 512 --ondisk hda part /dummy --fstype ext3 --size 10 --ondisk hda |
サイズが 10M バイトの /dummy という名前のファイルシステムがパーティション情報にあることに注目してください。