linux 设好fstab 要开机自动挂载其他服务器上的nfs共享,为什么没有自动挂载?

说实话,系统启动的时候确实很郁闷。
上次遇到netfs的错误信息,英文提示是“unable toreach host”,翻译过来就是“unable toreach host”,这显然是网络问题。
有趣的是,系统启动后,网络就没有再出现任何问题,而且网络也非常稳定。

我想了半天,发现要开机挂载nfs共享。
结果网络还没有完全准备好,所以我去组装它,当然,它崩溃了。
幸运的是,开机后,我手动输入mount -a,然后挂载fstab的内容,一切都很顺利。
如您所见,问题在于网络尚未准备好启动,并且 nfs 进程正在急于工作。

有两种方法可以解决。
第一步是向 rc.local 添加命令。
启动时,休眠 3 0 秒,然后运行 ​​mount-a。
说白了,就是先让系统喘口气,等到网络协议栈跑得差不多了,才开始组装。
第二招就更狠了,直接进入netfs启动脚本,在mount命令前加上sleep 3 0。
这样netfs本身就会学会“耐心等待”,而不是那么不耐烦。

我记得的数据表明,睡眠 3 0 秒可能可以解决启动过程中 9 0% 的网络延迟问题,但最好根据您的机器启动速度来调整时间。
我个人没有为此目的运行portmap服务,但是思路是类似的,在启动脚本中添加一个sleep,然后运行相关的启动命令。

Linux系统下NFS服务器常见的故障解决方法

NFS 是一种网络文件系统。
简单来说,它是一个允许不同计算机共享文件的工具。
使用网络连接,读写速度比本地慢。

要解决此问题,请首先检查网络和服务器负载,然后检查配置文件,重新启动服务,然后查看客户端设置。

常见问题,如网络错误、服务未启动、配置错误等。
例如找不到服务器,检查hosts文件;如果挂载点不存在,请检查命令或配置文件。

解决办法是先检查基本配置,然后重启服务。
有时需要调整防火墙设置。
请记住,该问题可能有多种原因,因此让我们逐步解决该问题。

如何在Linux中挂载NFS服务器

说实话,说到暂停NFS,我一开始做的时候真的很着急。
但当我明白了之后,我才发现,原来如此。
关键是定义每个步骤的细节。
我给你我的经验,可能有点极端,但都是基于陷阱的。

首先我们安装客户端。
这一步不要含糊。
之前在Ubuntu上执行此操作时,我忘记添加-p参数。
结果根目录不存在,崩溃了。
直接使用 sudo apt install nfs-common,然后 sudo mkdir -p /mnt/nfs。
这个-p非常关键,可以自动创建不存在的根目录。
CentOS上的命令有所不同,但原理是一样的。
最主要的是安装nfs-utils包。

创建挂载点很简单,但是如果你像我一样想创建一个特殊的路径,比如/mnt/data/nfs,记得使用 sudo mkdir -p /mnt/data/nfs,否则挂载时会提示找不到目录。
第一次忘记添加/mnt层,直接sudo mkdir data/nfs,系统就糊涂了。

装配操作的这个阶段要求最高。
第一次使用 sudo mount -t nfs 1 9 2 .1 6 8 .1 .1 00:/exports/data /mnt/nfs 时,出现错误,提示找不到服务器。
后来我想起来我的服务器在另一台机器上,我必须使用那台机器的IP。
还有:/exports/data,这个路径必须是NFS服务器上实际存在的共享目录。
我已经尝试过画出路径,但显然这不起作用。
-t nfs 参数不能省略。
只有当文件系统类型被指定时,系统才知道如何处理它。

我使用 df -h 检查安装状态。
看到/mnt/nfs里有数据我就松了口气。
我的共享驱动器是 1 00GB 驱动器,但第一次仅传输 2 0GB 数据,因此显示 8 0% 使用率。
确认 IP 和安装点包含在输出中才被视为成功。

设置自动挂载实际上并不困难,但很容易出错。
当我第一次编辑/etc/fstab时,我忘记添加00,结果每次启动计算机时都会出错。
后来才知道这个0表示按顺序加载。
如果不写,某些服务可能会因为挂载错误而无法启动。
默认参数为标准参数。
rw、sync和no_subtree_check的配置取决于服务器端如何设置。
我使用了rw,因为我需要写入数据。
测试时使用 sudo mount -a 。
如果没有报错,说明配置正确。

卸载时我掉进了陷阱。
之前我傻乎乎的加了-l参数,结果却是运行目录被强行卸载,系统崩溃了。
后来我了解到,只有在确定没有进程正在使用该目录时,才可以添加 -l 。
只需照常使用 sudo umount /mnt/nfs 即可。

关于注意事项中提到的服务可用性,我遇到过NFS服务器直接关闭,没有启动的情况。
结果客户端无法连接。
关于网络连接,我公司的防火墙非常严格。
起初我什至无法 ping 通。
然后我让网络管理员开放2 04 9 端口,问题就解决了。
配置权限是最有问题的部分。
在我的服务器上,/mnt/data 已设置为 1 9 2 .1 6 8 .1 .0/2 4 ,以便客户端可以读取它。
然而隔壁组的人把我乱写了数据,然后用指定的IP访问修改了它。
我基本上没用过安全认证。
搞Kerberos的人很少,而且配置太复杂。
我通常只是在同一网段创建服务器和客户端。

我遇到版本兼容性问题。
之前在旧系统上用过NFSv3 ,结果发现新机器上的NFSv4 直接不兼容。
接下来,我使用 sudo mount -t nfs -o nfsvers=3 1 9 2 .1 6 8 .1 .1 00:/exports/data /mnt/nfs 来解决该问题。
至于性能问题,我也尝试过调整参数。
将rsize和wsize改为8 1 9 2 后,传输速度明显更快了。
但如果你的服务器性能很差,调多高也没用。

总的来说,挂载NFS并不难,但是每一步都要小心。
我建议大家第一次这样做的时候,先手动挂载测试,确认没有问题,然后再设置自动挂载。
这是我第一次进行自动编辑。
结果/etc/fstab拼写错误,我一晚上都没睡好。

怎样在AIX上挂载Linux的NFS共享目录

上周,有客户问我如何在AIX上挂载Linux NFS共享目录。
我刚刚在这里做了,所以我们来谈谈吧。
首先,您需要在Linux系统上配置NFS服务。
这一步非常简单。
确保您已安装 nfs-utils。
如果没有,请使用 yum install nfs-utils 进行安装。

然后,编辑 NFS 配置文件 /etc/exports。
该文件需要一些权限设置。
例如,要共享/data目录,可以这样写:/data 1 9 2 .1 6 8 .1 .0/2 4 (rw,sync,no_root_squash,no_all_squash)。
设置完成后,启动 NFS 服务并使用 systemctl start nfs。
然后检查服务的状态,使用systemctl status nfs。

接下来,验证共享目录是否确实是对外共享的。
您可以使用 showmount -e localhost 来检查。
对了,别忘了打开防火墙,使用firewall-cmd --permanent --add-service=nfs 释放NFS服务,然后重新加载防火墙配置,firewall-cmd --reload。

在 AIX 系统上,必须首先打开 NFS 保留端口并执行 nfs -onfs_use_reserved_ports=1 命令。
然后执行mount命令将Linux NFS共享目录挂载到AIX本地目录。
命令为mount 1 9 2 .1 6 8 .1 .6 5 :/data/test。

这里有一些注意事项。
首先,确保您的 Linux 系统上的 SELinux 已关闭,否则您可能会遇到权限问题。
然后,正确设置防火墙,保证NFS服务能够正常通信。
通过执行以下步骤,您可以可以在AIX上成功挂载Linux NFS共享目录。

无论如何,这取决于你。
这些步骤非常基本。
如果您遇到任何问题,请回复我。
这个我还在想,可能还有其他细节需要注意。