NFS 导出服务的配置文件是 /etc/exports 和 /etc/sysconfig/nfs。除了这些文件之外,NFSv4 服务器配置还需要 /etc/idmapd.conf。要启动或重启动服务,请运行命令 rcnfsserver restart 和 rcidmapd restart。NFS 服务器依赖于运行的 RPC 端口映射器。所以,还请使用 rcportmap restart 启动或重启动端口映射器。
NFSv4 是 SUSE Linux Enterprise 10 上可用的 NFS 协议的最新版本。用 NFSv4 配置导出目录的过程与先前的版本略有不同。
此文件包含条目列表。每个条目表示共享的目录以及共享的方式。/etc/exports 中的条目通常包含:
/shared/directory host(option_list)
例如:
/export 192.168.1.2(rw,fsid=0,sync) /data 192.168.1.2(rw,bind=/export/data,sync)
在选项列表中指定了 fsid=0 的目录称为伪根文件系统。此处使用了 IP 地址 192.168.1.2。您可以使用主机名、表示一组主机的通配符(*.abc.com、* 等)或网络组。
对于一组固定的客户机,NFSv4 可导出两种目录:
选择作为伪根文件系统的单一目录。在此例中,/exports 是伪根目录,因为在此条目的选项列表中指定了 fsid=0。
选定与伪文件系统的某些现有子目录绑定的目录。在上述条目示例中,/data 就是与伪文件系统 /export 的现有子目录 (/export/data) 绑定的目录。
伪文件系统是顶级目录,在其下,需要用 NFSv4 导出的所有文件系统都各就各位。对于一个或一组客户机,在服务器上只能配置一个目录作为导出的伪根目录。对于这个或这组客户机,可通过将其他多个目录绑定到伪根目录的某个现有子目录进行导出。
此文件包含几个决定 NFSv4 服务器守护程序行为的参数。重要的是,参数 NFSv4_SUPPORT 必须设置为 yes。此参数决定了 NFS 服务器是否支持 NFSv4 导出和客户机。
Linux 计算机上的每个用户都有一个名称和 ID。idmapd 针对服务器的 NFSv4 请求执行名称到 ID 的映射并答复客户机。这必须同时在服务器和客户机上针对 NFSv4 运行,因为 NFSv4 在其通讯中仅使用名称。
对于可能正在使用 NFS 共享文件系统的计算机,请确保在这些计算机间为用户指定用户名和 ID (uid) 的方式一致。这可以使用 NIS、LDAP 或域中的任何统一的域身份验证机制来实现。
要实现正确的功能,必须为客户机和服务器设置相同的参数 Domain。如果您不确定,请在服务器和客户机文件中将域保留为 localdomain。配置文件样本如下:
[General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = localdomain [Mapping] Nobody-User = nobody Nobody-Group = nobody
除非确定您在执行正确操作,否则请勿更改这些参数。关于更多参考,请阅读 idmapd 和 idmapd.conf 的手册页:man idmapd、man idmapd.conf。
这特定于 NFSv3 和 NFSv2 导出。请参见第 38.5.1 节 “用 NFSv4 导出文件系统”了解用 NFSv4 导出。
用 NFS 导出文件系统涉及两个配置文件:/etc/exports 和 /etc/sysconfig/nfs。通常,/etc/exports 文件条目的格式如下:
/shared/directory host(list_of_options)
例如:
/export 192.168.1.2(rw,sync)
其中,目录 /export 是与选项列表为 rw,sync 的主机 192.168.1.2 共享的。该 IP 地址可使用通配符(如 *.abc.com)甚至网络组替换为一个或一组客户机名称。
关于所有选项及其含义的详细说明,请参见exports (man exports) 的手册页。
更改 /etc/exports 或 /etc/sysconfig/nfs 后,请用命令 rcnfsserver restart 启动或重启动 NFS 服务器。