准备NFS
在你可以使用NFS之前,它作为服务器或者是客户,你必须确定你的核心编入了NFS的支持。对此新的核心在proc文件系统上有一个简单的接口,就是/proc/filesystems,你可以使用cat显示:
$ cat /proc/filesystems
minix
ext2
msdos
nodev proc
nodev nfs
如果nfs从这个列表中丢失,你就需要将NFS的使用编入到你自己的核心中。配置核心网络选择在章节 中的“核心配置”部分中解释。
对于-1.1之前的比较早的核心,得知你的核心是否有NFS支持的最为简单的方法是实际尝试安装一个NFS文件系统。为了做到这一点,你可以在/tmp下创建一个路径,并尝试在它上面安装一个本地路径。
# mkdir /tmp/test
# mount localhost:/etc /tmp/test
如果这个安装尝试失败并有一个错误信息说``fs type nfs no supported by kernel'',那么你就需要制作一个可以使用NFS的新的核心。其它的错误信息都是完全无害的,就是说你还没有在你的主机沙锅内配置NFS daemons。
--------------------------------------------------------------------------------
安装一个NFS版本
NFS版本的安装正是使用的平常文件系统安装的方式。你涉及到使用下面的句法的问题:
# mount -t nfs nfs volume local dir options
nfs_volume被作为远程主机给出:remote_dir。因为这个符号对于NFS文件系统来说是唯一的,你可以留下-t nfs选择。
这里有一些更多的选择为你在安装一个NFS版本的时候来指定。它们可以在命令行-o开关之后给出,或者在版本/etc/fstab登录的选择区域中。在这两种情况下,多重选择由逗号互相分割开。在命令行指定的选择通常回覆盖在fstab文件中给出的内容。
在/etc/fstab中的登录例子可以是:
# volume mount point type options
news:/usr/spool/news /usr/spool/news nfs timeo=14,intr
于是这个版本可以使用下面方式进行安装:
# mount news:/usr/spool/news
在fstab登录缺省的情况下,NFS安装invocations看到许多的uglier。例如,假设你从一个名为moonshot的机器上安装你的用户根路径,它为读写操作使用一个默认的大小为4K的块。你可以通过使用以下方式减少块的大小到适合datagram容量的 2K。
# mount moonshot:/home /home -o rsize=2048,wsize=2048
所有正确的选择的列表会全部在the nfs(5)手册页进行描述,这手册页来自Rick Sladkey的NFS-aware安装工具,它可以在Rik Fait的util-linux package中找到。下面是一个你可能想要使用的内容的不完整的列表:rsize=n and wsize =n
这些指定在读写要求上由NFS客户使用相应的datagram大小。由于上面介绍的UDP datagram大小的限制,它们的默认值为1024 bytes。
timeo=n
这设置NFS客户将等待完成一个要求的时间(十分之一秒)。
hard
特别标注这个值为硬件安装。默认为打开。
Soft
软件安装驱动(相对于硬件安装)。
Intr允许信号干扰一个NFS呼叫。当服务器没有应答需要放弃的时候有用处。
除了rsize 和 wsize,如果服务器必须暂时停止访问,所有这些选择就会执行到客户的行为中。它们按照下面的方式同时运行:当客户发送一个要求到NFS服务器的时候,它盼望在一个给定的间断(在超时选择中指定)过后操作结束。如果在这段时间中没有接到确认,一个所谓的 minor timeout发生,并且当超时时间段翻倍的时候重新尝试操作。在达到最大的60秒超时的时候,就会发生一个major timeout(主要超时)。
默认情况下,一个主要超时将导致客户打印一个信息到控制板,并全部重新启动,这一次初始使用的是前一次重叠的一个两倍的间断。潜在的,这会永远继续下去。值会顽强的重新使用一个操作直到服务器可以使用,这被称为hard-mounted(硬安装)。相反的变化,soft-mounted(软安装)值产生在呼叫过程中一个主要的超时发生的时候的一个输入/输出错误。因为由缓冲引出的后写入方式,这个错误在它下次要求写入功能的之前不会自动繁殖到程序,因此,一个程序可以永远不被确认一个到软安装的值的写入操作已经成功。
你是否硬安装或者是软安装一个值不是一个简单的喜好的问题。它还涉及到你想要从这个值中得到什么样的信息。例如,你通过NFS安装你的X- programs,你当然不希望你的X-session变得疯狂,而只是因为某人通过同时开始几个版本的xv就使网络停止,或者突然拔掉Ethernet 插头。在硬安装这些的时候,你确定你的计算机将等待直到它可以同你的NFS服务器重新建立连接。在另外一方面,无评论数据,例如NFS安装新闻分区或者 FTP文件夹也许会被软安装。因此,它不会停止你的部分来防止远程机器必须暂时无法连接或者关闭。如果你到服务器的网络连接是片状的或者通过一个装载的路由器,你可以使用timeo选项来增加初始超时或者硬安装值,但是允许信号干扰NFS呼叫,这样你仍然可以取消任何无法处理的文件的访问。
通常,mountd daemon会使用某方式或者其它的daemon跟踪由主机安装的路径。这个信息可以使用showmount程序来显示,它也包含在NFS服务包当中。然而,mountd仍然不会做这个。