- PR -

PXEブートによるディスクレスシステムの可否

投稿者投稿内容
drufyi
大ベテラン
会議室デビュー日: 2005/06/20
投稿数: 148
投稿日時: 2007-01-25 00:43
こんばんわ。

今回、このような事は可能か、とゆう点を皆さまにお聞きしたいのですが、
最終的にはLinuxのDHCP TFTP NFSを使用して、ディスクレスブートをさせたいのです。
#サーバ・クライアントともにOpenSuse10.1になります。
#概要はNFSROOTを仕様して、OpenSuse10.1にて作成したクライアントイメージの
#ルート配下をPXEブートに配置し、NFSROOTによりディスクレスクライアントから
#起動するというものです。


今回相談させて頂きました点は、
ディスクレスクライアントには二枚NICがあり、ネットワークも別です。

                          BIOSで認識×
昼用DHCPサーバ-------------クライアント---------------夜用DHCPサーバ


昼用にディスクレスブートさせるNICを仮に昼NICとします。
これはBIOSにも認識されブート順を変更できるので問題ないのですが、
夜用ディスクレスブートのNIC(夜NIC)は特殊なもので、BIOSが認識してくれないので
こちら側からネットワークブートできません。

そこで、OSが動けばドライバで夜NICは認識されてくれるので、
昼NICからのブートで夜用のNIC設定を行い(IPアドレスの設定)、
コアとなる容量の大きい実際のOSイメージは夜用のネットワークから
ダウンロードする、といったことは可能でしょうか?

昼側には夜用のデータが流せない理由があり、
BIOSが駄目ならIP割り当て部分を昼側のdhcpで行い、
IPが決まったら後は夜側のNFSサーバよりOSをダウンロードさせたいのです。

なかなか伝わらないかと思いますが、指摘頂ければ補足致します。

可能か、その場合はこうするんだよ、など、
また、そんなこと無理だよ、だてxxxだから、
などなど皆様の意見をお聞かせ頂ければ幸いです。

よろしくお願いします。


[ メッセージ編集済み 編集者: drufyi 編集日時 2007-01-25 00:43 ]
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2007-01-25 09:20
おはようございます.
引用:

drufyiさんの書き込み (2007-01-25 00:43) より:

昼用にディスクレスブートさせるNICを仮に昼NICとします。
これはBIOSにも認識されブート順を変更できるので問題ないのですが、
夜用ディスクレスブートのNIC(夜NIC)は特殊なもので、BIOSが認識してくれないので
こちら側からネットワークブートできません。


つまり「夜 NIC」では PXE boot できないのですよね?
引用:

昼側には夜用のデータが流せない理由があり、
BIOSが駄目ならIP割り当て部分を昼側のdhcpで行い、
IPが決まったら後は夜側のNFSサーバよりOSをダウンロードさせたいのです。


「OS を download させる」の意味は理解されていますか?
OS を reboot する必要があるなどの場合,
DHCP の設定は固定されないわけですし,
diskless である以上は初期化されていまいますから
「やり直し」になると思いますので,実現は不可能だと思います.

実現可能かどうかわかりませんが,
例えば Xen のような仮想化する方法を用いて
「昼用 Virtual Server」と「夜用 Virtual Server」とするなどして,
※その中で PXE boot できるかは調べていませんが...
その範囲で切り替えて運用するなどの方法が現実的なのでは?

以上,ご参考までに.
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2007-01-25 11:02
おはようございます。
ネットワーク越しに取得するデータとして、
 ・vmlinuz(Linux kernel), initrd(初期RAMディスクイメージ)
 ・NFSによるファイルシステム
の2種類があり、前者に関しては DHCP/TFTPサーバが提供する必要がありますが、後者はどこでも良いと記憶しています。
参考:PXEを使ってPCもディスクレスにしよう@謎の処理系 Sun OS 4.1.4
※認識違いでしたらご指摘をお願いします。

drufyiさんの意図されている「OSイメージ」とは何になるのでしょうか?
夜間に PXEブート用のネットワークがあまり使用できないなら、NFSサーバのみを夜間ネットワーク側に配置すれば良いのではないかと考えたのですが。

[ メッセージ編集済み 編集者: angel 編集日時 2007-01-25 11:06 ]
drufyi
大ベテラン
会議室デビュー日: 2005/06/20
投稿数: 148
投稿日時: 2007-01-25 13:38
kaz様、angel様、ありがとうございます。

順次記載したいと思います。
表現の不足等がありまして、申し訳ありません。

kaz様、

引用:

つまり「夜 NIC」では PXE boot できないのですよね?


はい、できません。

引用:

「OS を download させる」の意味は理解されていますか?


ダウンロードという表現が正しかったか分かりませんが、
IPの設定ができる部分までを、昼側DHCPから立ち上げた上で
設定し、核となる部分を夜側NICからの通信で行いたいのです。

ご参考ありがとうございます。


angel様、

引用:

ネットワーク越しに取得するデータとして、・・・・



わかり安く記載して頂きありがとうございます。

下記にもありますが、OSイメージというのはまさにファイルシステムの事です。

しかし、
vmlinuz(Linux kernel), initrd(初期RAMディスクイメージ) の部分で、
夜側NICにIPを割り振れるのか。。。ということが疑問になってきます。

というか、上記考えがそもそも誤っているのでしょうか?
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2007-01-25 15:44
引用:
drufyiさんの書き込み (2007-01-25 13:38) より:
しかし、
vmlinuz(Linux kernel), initrd(初期RAMディスクイメージ) の部分で、
夜側NICにIPを割り振れるのか。。。ということが疑問になってきます。


initrd の中には、linuxrc という初期化スクリプトが含まれています。
夜側NICにIPを割り振る処理を linuxrc に追加してあげれば良いのではないでしょうか。

※訂正:
 「linuxrc という初期化スクリプトが含まれています。」よりも、「linuxrc という初期化スクリプトを含めることができます。」の方が正確でしょうね。

[ メッセージ編集済み 編集者: angel 編集日時 2007-01-25 17:05 ]
drufyi
大ベテラン
会議室デビュー日: 2005/06/20
投稿数: 148
投稿日時: 2007-01-25 23:39
angel様、ありがとうございます。

#本日より本格的に検証環境を作成に入りました。

引用:

夜側NICにIPを割り振る処理を linuxrc に追加してあげれば良いのではないでしょうか。



そのようなことができるのですね。
初めて知りました。

しかし、いまいちピンときていません・・・。
ただいま帰宅し、早速angel様のご教示を拝見し早速Google/linuxで調べているのですが、
initrdに組み込む?というイメージなのか。
しかし、initrdはスクリプトではないので、直接記載はできないし。。。

もちろん調べが足りないので引き続きこの方向を試したいと思っております。

何かアドバイスがありましたら、頂ければ幸いです。

それでは失礼致します。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2007-01-26 00:28
引用:

drufyiさんの書き込み (2007-01-25 23:39) より:

initrdに組み込む?というイメージなのか。
しかし、initrdはスクリプトではないので、直接記載はできないし。。。


initrd がどのような形式の電子ファイルか?をまず考えればよろしいのでは?
file command などで調べてみると良いと思いますよ.
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2007-01-26 01:42
initrd で検索すると、割と分かり易い説明もありますね。
http://www-06.ibm.com/jp/developerworks/linux/060908/j_l-initrd.shtml
引用:
Fedora Core 3 より前のバージョンでは、initrd はループ・デバイスを使用して作成されます。
…(中略)…
Fedora Core 3 以降からは、デフォルトの initrd イメージは圧縮済み cpio アーカイブ・ファイルとなっています。

スキルアップ/キャリアアップ(JOB@IT)