PXE ブート メモ
PXE ブートに関して メモ
973 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 17:13:27 ID:rIQwZn7f
PXE使ってディスクレスシステムを構築しようとしているんですが、
クライアント側を起動して、PXEブートをしようとして、DHCPでIPを
取ってくるところまでは成功して、tftpを探すところでTIMEOUTして
しまいます。
クライアントからLinuxを起動してtftpでget pxelinux.0でファイルは取って
これます。このときにサーバ側のxinetd.logにはtftpを起動したログが残って
いるのですが、PXEブートを試みたときにはtftpが起動していないようです。
こういう場合は何処を見れば原因がつかめるでしょうか?
SuSE9.0を使っています。インストールしてるパッケージは以下です。
dhcp-3.0.1rc12-13
dhcp-tools-1.5-36
dhcp-server-3.0.3-1
tftp-0.34-101
974 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 18:05:21 ID:G3XxJZQ9
>>973
PXE インストールということは、
インストールサーバー があって、これからインストールするであろう、クライアントが
あるという構成ですね。
クライアントは、買ってきたばかりのpcでしょう。osは何も入ってない状態だということですね
1.まず、2台だけのネットワークを組みます。
既存のネットワークからは切りはなして実行してみてください。
2.DHCPサーバーへの登録は、うまくできていますか?
DHCPサーバーの設定は難しいですよ。
3.クライアント側はpxeブート対応のNICがついているかどうかの確認
エラーの詳細を希望です
975 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 19:00:54 ID:rIQwZn7f
>>974
レスありがとうございます。
今やってるのはクラスタマシンのディスクレス化です。
出来れば、サーバ側を止めることなく設定したいんです。
1.ですが、クラスタ内で行っていますので、切りなされた状態にはなっています。
2.は、恐らく大丈夫です。IPアドレスはちゃんとクライアントに振られています。ただ、PXE用の設定が正しくなっているかは分かりません。
3.NICはPXEブートには対応しています。起動時にPXEと表示されます。
エラーの詳細を出したいのは山々なのですが、エラーログが出てきません。
今言えることは、クライアントで起動したときにTFTP......と表示された後TIMEOUTになることと、クライアントのLinux上でtftpに依るファイル転送を
すると、サーバ側のxinetd.logにtftpを起動したと言うログがでるのに、
クライアント起動時にはtftpが起動していないと言うことです。
また、grubでネットワークブートを行おうとしたところ、
dhcpコマンドでIPアドレスが取得できたことが確認できました。
root (nd)後、
kernel /boot/vmlinuz root=/dev/nfs nfsroot=serverIP:/tftpboot/linux ip=dhcp
と入力しても、何も起こりません。しばらく待ってもタイムアウトとも出ないと
いう状況です。
977 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 19:37:54 ID:hyUk3K7w
>>975
クラスタマシンのディスクレス化
というのは、実は良くわかってないのですが、分かりやすく教えていただけないでしょうか?
PXE ブートについては、ハードウエア、OSにより、よくインストールできない というケースが
あります。大抵はハードウエアの問題だったと思います。
ハードウエアの何が問題だったかというと、使われているチップセットの問題だったりします
インテルのE7000系だと、ポピュラーなのでうまくいくケースがあるみたいですが、
interl Server works とかだとだめなケースがあるみたいです。
978 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 19:38:28 ID:hyUk3K7w
http://www.sun.com/products-n-solutions/hardware/docs/html/817-5625-10/Claymore_Troubleshooting.html
参考ページ
979 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 19:49:07 ID:cTS4JUX3
>>973
TFTPサーバーのほうでtcpdumpでもしておいたらどうなりますか?
ARPすら出てこないなら、DHCPでnetmask値を与え損ねていて、TFTPクライアントが
サーバと同一セグメントかどうか見失ってる、とか。
981 名前:973[sage] 投稿日:2006/02/16(木) 20:26:07 ID:rIQwZn7f
>>978
強いて言うなら
"Synopsis: PXE Access Violation Before Primary Bootstrap Has Loaded"
の画面が似てます。
TFTP.の後にタイムアウトが出てきます。
>>979
tcpdumpのクライアント起動直後のログです。
tcpdump: listening on eth1
02:11:47.647150 0.0.0.0.bootpc > 255.255.255.255.bootps: xid:0xb45edc5e secs:1024 flags:0x8000 file ""[|bootp]
02:11:47.647447 host1.domain.bootps > 255.255.255.255.bootpc: xid:0xb45edc5e secs:1024 flags:0x8000 Y:host2e.domain ether 0:2:b3:5e:dc:5e file ""[|bootp] [tos 0x10]
02:11:48.642686 0.0.0.0.bootpc > 255.255.255.255.bootps: xid:0xb45edc5e secs:1024 flags:0x8000 file ""[|bootp]
02:11:48.642966 host1.domain.bootps > 255.255.255.255.bootpc: xid:0xb45edc5e secs:1024 flags:0x8000 Y:host2e.domain ether 0:2:b3:5e:dc:5e file ""[|bootp] [tos 0x10]
02:11:48.645702 arp who-has host1e.domain tell host2e.domain
02:11:48.645722 arp reply host1e.domain is-at 0:2:b3:a3:95:dd
02:11:48.645813 host2.domain.ah-esp-encap > host1.domain.tftp: 27 RRQ "pxelinux.0"
02:11:52.585890 host2.domain.acp-port > host1.domain.tftp: 27 RRQ "pxelinux.0"
02:12:00.494990 host2.domain.msync > host1.domain.tftp: 27 RRQ "pxelinux.0"
host1がサーバでhost2がクライアントです。
見方がイマイチ分からないのですが、host2がいろんな方法でhost1のtftpに
アクセスしているが、返事がないと言うことなのでしょうか?
Linux起動後には、再びDHCPでIPを取得したのちに、ARPが含まれる文字列が
出力されています。
983 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 20:52:00 ID:cTS4JUX3
>>981
> host2がいろんな方法でhost1のtftpにアクセスしているが、返事がないと言うことなのでしょうか?
いろんな方法ってわけじゃなくて、テキトーに使われたポート番号が well known 扱いされて表示されてるだけです。
02:11:48に1回目のリクエスト、応答がなかったので4秒後、8秒後にもテキトーなポートで尋ねていると。
UDPでちゃんと来てるんだ。これでどうしてTFTPサーバが起動されないんだろう。
xinetdでのtftp関連はどうなっていますか?
984 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 21:05:38 ID:cTS4JUX3
あ。DHCPサーバから、
filename "pxelinux.0";
として渡していますか。もし xinetd で
service tftp
{
(略)
server_args = -s /tftpboot
}
なら、DHCPからも
filename "/tftpboot/pxelinux.0";
にしてみては。
985 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 21:06:45 ID:rIQwZn7f
>>983
反応があれば、tftpの接続をする訳ですね。
tftpの引数は-s /tftpbootだけです。
host2でLinuxを起動してそこからtftpをしてみると普通にpxelinux.0をget
出来ますので設定は出来ていると思うのですが・・・。
その時にはxinetd.logにも
06/2/16@20:59:39: START: tftp from=192.168.100.3
って出てきます。
PXEブートの時にはログが残りません。
取り敢えずtftpの設定を書いてみます。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
986 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 21:09:28 ID:cTS4JUX3
984は忘れてください。 "/pxelinux.0"; のほうがいいかなとかで考え違いしたようです。
987 名前:973[sage] 投稿日:2006/02/16(木) 21:44:13 ID:rIQwZn7f
>>986
どちらを試しても駄目でした。
起動しないなら、起動してからと思い
in.tftp -l -s /tftpboot
で起動した状態で試しましたが同じでした。
dhcpの設定が悪いのかもしれません。
dhcp.confを書きますので、悪いところがあったら教えてください。
PXEブートについて書いてあったいろんなHPを参考にして設定したので
ごちゃ混ぜになってるかもしれません。
authoritative ;
ddns-update-style none;
ddns-updates off;
default-lease-time 600;
log-facility local7;
max-lease-time 7200;
option domain-name "dmain";
use-host-decl-names on;
subnet 192.168.100.0 netmask 255.255.255.0 {
option vendor-class-identifier "PXEClient";
option vendor-encapsulated-options 01:04:00:00:00:00;
host host2{
hardware ethernet 00:02:B3:5E:DC:5E;
fixed-address 192.168.100.2;
option host-name "host2";
filename "/pxelinux.0";
}
range 192.168.100.2 192.168.100.8;
}
988 名前:login:Penguin[sage] 投稿日:2006/02/16(木) 22:40:33 ID:iRC/6Ug6
>987
host host2{
hardware ethernet 00:02:B3:5E:DC:5E;
fixed-address 192.168.100.2;
option host-name "host2";
filename "pxelinux.0"; ← /tftpbootからの相対パスで
next-server ???.???.???.???; ← PXEサーバのアドレス
option root-path "/tftpboot";
}
こんな感じでどうでしょうか?
うちでは下の2行を追加しないと、ブートしなかった記憶があります。
PXEサーバには、Gentooを使ってますが。
990 名前:973[sage] 投稿日:2006/02/16(木) 23:02:03 ID:rIQwZn7f
>>988
PXEサーバというのはtftpサーバのことですか?
もしかしてPXEサーバというのが別にいるのでしょうか?
いま、tftpサーバは192.168.100.1で、クライアント側で/にしようとしているのは/tftpboot/linuxですので以下で良いですか?
host host2{
hardware ethernet 00:02:B3:5E:DC:5E;
fixed-address 192.168.100.2;
option host-name "host2";
filename "pxelinux.0";
next-server 192.168.100.1;
option root-path "/tftpboot/linux";
}
これでもうまくいきませんでしたorz
tftpdが起動しない理由が何なのか分かれば行けそうな気がします。
問題なのは、全く見当が付かないことですがorz
明日、修論発表の予行があってその準備もしないとならないんで
今日はこれでやめときます。
付き合っていただきありがとうございましたm(_ _)m

Recent Comments