4. 配置 NFS 客户端

4.1. 挂载远程目录

在开始之前,您应该仔细检查以确保您的 mount 程序足够新(如果您想使用 NFS 版本 3,则为 2.10m 版本),并且客户端机器支持 NFS 挂载,尽管大多数标准发行版都支持。如果您使用的是带有/proc文件系统的 2.2 或更高版本的内核,您可以通过读取文件/proc/filesystems并确保其中包含 nfs 行来检查后者。如果不是,输入insmod nfs如果 NFS 已编译为模块,则可能会使其神奇地出现;否则,您将需要构建(或下载)一个内置 NFS 支持的内核。通常,当运行下面的 mount 命令时,未内置 NFS 的内核会给出非常具体的错误。

要开始将机器用作 NFS 客户端,您需要在该机器上运行 portmapper,并且要使用 NFS 文件锁定,您还需要在客户端和服务器上都运行 rpc.statdrpc.lockd。大多数最新的发行版在启动时默认启动这些服务;如果您的发行版没有启动,请参阅 第 3.2 节,了解如何启动它们。

portmaplockdstatd 运行的情况下,您现在应该能够像挂载本地硬盘一样,使用 mount 命令从服务器挂载远程目录。继续上一节的示例,假设我们的服务器名为 master.foo.com,并且我们想要在 slave1.foo.com 上挂载/home目录。那么,我们只需要在 slave1.foo.com 的 root 提示符下输入
   # mount master.foo.com:/home /mnt/home
  
并且目录/home在 master 上将显示为目录/mnt/homeslave1 上。(请注意,这假设我们事先创建了目录/mnt/home作为一个空的挂载点。)

如果这不起作用,请参阅故障排除部分(第 7 节)。

您可以通过输入以下命令来删除文件系统
   # umount /mnt/home 
  
就像您对本地文件系统所做的那样。

4.2. 使 NFS 文件系统在启动时挂载

NFS 文件系统可以像本地文件系统一样添加到您的/etc/fstab文件中,以便在系统启动时挂载它们。唯一的区别是文件系统类型将设置为nfs并且转储和 fsck 顺序(最后两个条目)必须设置为零。因此,对于上面的示例,/etc/fstab中的条目将如下所示
   # device       mountpoint     fs-type     options      dump fsckorder
   ...
   master.foo.com:/home  /mnt    nfs          rw            0    0
   ...
  

如果您不熟悉此文件的语法,请参阅fstab的手册页。如果您正在使用自动挂载器(例如 amd 或 autofs),则挂载列表的相应字段中的选项应该非常相似(如果不是完全相同)。

至此,您应该已经使 NFS 工作了,尽管可能仍然需要进行一些调整才能使其良好运行。您还应该阅读 第 6 节,以确保您的设置是合理安全的。

4.3. 挂载选项