LTSP 客户端映像加载在 Ubuntu 14.04 LTS 上挂起

LTSP 客户端映像加载在 Ubuntu 14.04 LTS 上挂起

我第一次在 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 或者进入内核恐慌。

我该如何调试它?

答案1

我遇到了同样的问题,好几天都无法调试。作为最后的手段,我比较了 Ubuntu 12 中工作的 LTSP 和 Ubuntu 14 中损坏的 LTSP。nbd-server 配置与 nbd 身份验证之间存在一个差异。

文件: /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

它已经运行了几天,没有任何问题。

更新:

上述步骤可能无法解决您的问题(事实证明,我的问题也没有解决)。我想与您分享一些可以帮助您调试问题的技巧。不过,我确信是nbd-server导致了问题。在 LTSP 服务器上执行命令:netstat -cnetstat -c | grep nbd。观察 nbd 连接发生的情况。当客户端连接到 nbd 时,端口正在打开(假设为 XYZ)。连接状态为ESTABLISHED。然后重新启动客户端并注意 nbd tcp 连接。它不会在客户端关闭时关闭。因此,当同一个客户端第二次启动时,相同的 nbd 端口(XYZ)被分配给客户端,但该端口已被客户端的第一个启动周期占用。这就是您出现错误的原因socket failed。有关 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)使用 Debian 默认 NFS 的 LTSP或者2)在 Ubuntu 上使用 LTSP,但将 NBD 切换到 NFS

相关内容