Ubuntu 14.04 LTSで初めてLTSPを使用しています。クライアントは、コンソールが次のことを言っているポイントに到達します。
TFTP prefix: /ltsp/i386
Trying to load: pxelinux.cfg/default
Loading vmliuz-3.13.0-24-generic....
Loading initrd.img-3.13.0-24-generic...............ready.
そして停止します。クライアントによっては、次のように言うこともあります:
Socket failed: Connection timed out or
Socket failed: Connection failed
次にbusyboxを起動するか、カーネルパニックに陥ります。
どうすればこれをデバッグできますか?
私は同じ問題を抱えていて、何日もデバッグできませんでした。最後の手段として、Ubuntu 12での作業LTSPとUbuntu 14での壊れたLTSPを比較しました。nbd認証を使用したnbdサーバー構成には1つの違いがありました。
ファイル:/etc/nbd-server/conf.d/ltsp_i386.conf
動作しない設定:
[/opt/ltsp/i386]
exportname = /opt/ltsp/images/i386.img
readonly = true
authfile = /etc/ltsp/nbd-server.allow
作業設定:
[/opt/ltsp/i386]
exportname = /opt/ltsp/images/i386.img
readonly = true
次に:service nbd-server restart
数日間問題なく動作しています。
UPDATE:
上記の手順では問題が解決しない場合があります(判明したように、私の問題も解決されません)。問題のデバッグに役立つヒントをご紹介します。それでも.. nbd-server
が問題の原因であると確信しています。 LTSPサーバーで、コマンドnetstat -c
またはnetstat -c | grep nbd
を実行します。 nbd接続で何が起こるかを見てください。クライアントがnbdに接続すると、ポートが開かれます(たとえば、XYZ)。接続のステータスはESTABLISHED
になります。次に、クライアントを再起動し、nbd tcp接続に注意してください。クライアントのシャットダウン時に閉じません。そのため、同じクライアントが2回目にブートするとき、同じnbdポート(XYZ)がクライアントに割り当てられますが、そのポートはクライアントの最初のブートサイクルですでに使用されています。これがyout socket failed
errosの理由です。 NBD仕様の場合: http://nbd.sourceforge.net/ Ubuntu 14のnbd-serverのデフォルト設定がこのように動作する理由はわかりません。 Ubuntu 12では、デフォルトの構成で問題ありませんでした(現在、Ubuntu 12でLTSPを8か月間使用できます)。しかし、NFSの代替手段があります。
NBDは、NFSとは根本的に異なります。 UbuntuはNBDを使用しますが、Debianはさらに安定性と信頼性が高いとNFSを使用しています。 NFSを使用したDebian LTSPサーバーでのクライアントの起動にエラーはありません。
だから私のアドバイスは:1)デフォルトのNFSでDebianでLTSPを使用するか2)でLTSPを使用するUbuntuですが、NBDをNFSに切り替えます。