/etc/fstab
我在FreeBSD 上有以下内容:
venture:/usr/redacted /usr/local/redacted nfs rw 0 0
这在引导期间失败。但是,启动后,以下命令会成功
mount -t nfs venture:/usr/redacted /usr/local/redacted
两个相关问题:
1)上次我在控制台重新启动时(这台机器位于数据中心),我很确定我在启动时看到了一条有关安装失败的解释消息。我认为这与解析主机名有关。但是,此消息不会/var/log/messages
与其他启动时消息一起出现;我还有其他地方应该寻找吗?
2) 有没有想过什么可能会阻止主机名在启动时解析,但在命令提示符下 30 秒后没有问题?
答案1
在尝试挂载之前,网络有时无法完全正常工作(例如 DNS)。您可以添加选项来/etc/fstab
缓解这种情况。其中一个或两者都可能适合您(我同时使用):
venture:/usr/redacted /usr/local/redacted nfs rw,late,bg 0 0
这些是late
选项(在启动顺序中稍后而不是更早尝试),以及bg
(在后台继续尝试)。
答案2
我有几台服务器显示出相同的行为,访问 NFS 挂载时网络/本地解析器未启动。解决方案是更改服务启动。不确定 freebsd,但这应该给你一个起点。
答案3
您可以检查内核消息。在centOS或redhat中,这些日志位于/var/log/dmesg中。
在启动过程中,在网络服务启动之前,服务器可能会尝试启动 NFS 存储,但无法解析远程主机。
您还可以通过更改 NFS 服务最后的启动时间来检查。
答案4
您可以尝试查看/var/log/boot.msg
和boot.msg
,它们将包含您在启动时在屏幕上看到的文本。
我的猜测是,它可能与运行级别 3 和运行级别 5 有关,并且您可能会/etc/fstab
在启动所有其他所需服务之前尝试 nfs 挂载文件中列出的某些内容。
而不是使用主机名创业您/etc/fstab
可以尝试使用它的 IP 地址。这将很快验证它是主机名或 DNS 查找问题。您也许可以通过在 /etc/hosts 中添加 Venture 及其 IP 地址来解决此问题,但这只有在您知道 Venture 不会通过 dhcp 获取其 IP 地址时才有效。