我有几个运行 CentOS 5.3 的服务器,并尝试在启动时自动挂载 2 个 NFS 挂载点。我在 fstab 中添加了类似以下内容的 2 行:
server1:/path1 /path1 nfs soft 0 0
server2:/path2 /path2 nfs soft 0 0
当我手动运行“mount -a”时,挂载点按预期正确挂载。但是,当我重新启动计算机时,只有 /path2 被挂载。对于 /path1,我收到以下错误:
mount: can't get address for server1
这显然看起来像是 DNS 问题,但该记录在所有 DNS 服务器中都已正确配置,如果我在重启完成后重新尝试挂载,则该记录已正确挂载。我可以通过在 /etc/fstab 中使用 IP 地址而不是主机名或将 server1 添加到 /etc/hosts 来正确修复此问题,但我不想这样做。
在启动时无法解析此特定地址的原因可能是什么?为什么问题仅出在第一个挂载点上,而尽管配置相同,但第二个挂载点却正确挂载?
答案1
遇到了同样的问题,在 CentOS 5.3 上,我遇到了
1)在交换机上启用 STP portfast(思科)
spanning-tree portfast default
2)将 fstab 中的 nfs 挂载更改为
server:/dir /dir nfs _netdev,rw,bg,hard,intr 0 0
现在它运行良好。
答案2
您的机器如何获取其 DNS 配置?
- 你使用 DHCP 吗?
- 在启动 NFS 挂载之前,您是否留出了足够的时间让 LAN 接口启动?
例如,后一个问题可能是由以太网交换机端口在检测到客户端上线时没有立即激活引起的。
答案3
在选项部分添加bg。
服务器1:/路径1 /路径1 nfs bg,soft 0 0
这会将安装置于后台模式。一旦服务器可用,安装即可使用。
祝你好运。
这虽然不能解决 DNS 问题,但解决了安装问题 :-)