exportfs

Section: Maintenance Commands (8)
Updated: 18 July 2003
Index Return to Main Contents
 

NAME

exportfs - 管理NFS共享文件系统列表  

概述 (SYNOPSIS)

/usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/path ..]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f
 

描述 (DESCRIPTION)

exportfs 命令用来管理当前NFS共享的文件系统列表。 这个列表保存在一个单独的文件 /var/lib/nfs/xtab 中,当远端主机要求对一个文件系统树加载并访问时由 mountd 读取,列表中活动的一部分也保存在在内核共享表中。

通常 xtab 在执行 exportfs -a.

的时候,根据 /etc/exports 中定义的共享列表来初始化。 但是,管理员可以选择添加或删除独立的文件系统,不必修改 /etc/exports ,只要执行 exportfs 就可以了。

exportfs 和它的合作者 mountd 工作在两种模式之一,一种是2.4以及早期的内核采用的传统模式, 另一种是2.6以后内核采用的模式。 2.6之后的内核提供了 nfsd 虚拟文件系统,挂载点是 /proc/fs/nfs。 在2.6内核中如果没有挂载这个系统,将使用传统模式。

在新模式中, exportfs 不为内核提供任何信息,只通过 /var/lib/nfs/xtab 文件将信息提供给 mountd mountd 将等待内核请求,提供需要的信息。

在传统模式中,任何标识了一台特定主机(而不是一个子网或是一个工作组)的 共享请求会直接进入内核共享表,同时写入 /var/lib/nfs/xtab. 甚至于,任何列在 /var/lib/nfs/rmtab 中的挂载点,只要它符合一个不指定主机的共享请求,将使得 rmtab 给出的主机的一个适当的共享条目进入内核的共享表中。  

选项 (OPTIONS)

-a
打开或取消所有目录共享。
-o options,...
指定一列共享选项,与 exports(5) 中讲到的类似。
-i
忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项。
-r
重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。
-u
取消一个或多个目录的共享。
-f
在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 mountd 添加的新的共享条目。
-v
输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项。
 

讨论 (DISCUSSION)

 

共享目录 (Exporting Directories)

第一条概述中显示出如何执行命令来添加新的共享。 当执行 exportfs -a时, 所有 exports(5) 中的目录将添加到 xtab 并且将结果列表送进内核。

host:/path 参数指定了要共享的目录和可以访问它的主机。 所有 exports(5) 中定义的格式都可以支持。 想要将一个目录共享给所有其他机器,只要用 :/path 就可以了。

这种指定一个特定主机/目录的共享选项来自于多种来源。 有一系列的默认选项,可以在 /etc/exports 中指定它们(除非指定了 -i 选项)。 另外,管理员可以使用 -o 参数和一系列以逗号分隔的选项来覆盖所有默认选项。 做法就像在 exports(5) 中一样。 因此, exportfs 可以用来修改已经共享的目录的共享选项。

nfsd(8) 对内核共享表的修改会在命令行解析和 xtab 文件修改之后马上进行。

默认的共享选项是 sync,ro,root_squash,no_delay 

取消共享 (Unexporting Directories)

第三种语法显示了怎样取消一个当前的共享目录。 当执行 exportfs -ua, 的时候, xtab 中的所有条目被从内核共享表中移除, 这个文件会被清空。这样可以迅速停止所有NFS服务。

要取消单独的共享条目,可以指定一个 host:/path 参数。这样删除了 xtab 中的条目并且移除了对应的内核条目(如果有的话)。

 

获取共享表 (Dumping the Export Table)

执行不带选项的 exportfs 将列出当前的共享列表。当给出 -v 选项时,会列出各自的标志。  

范例 (EXAMPLES)

这条命令将所有 /etc/exports 中列出的目录加入到 /var/lib/nfs/xtab 中,将结果送入内核:

# exportfs -a

如果要将 /usr/tmp 目录共享给 djando主机, 允许匿名写入,应当这样:

# exportfs -o async django:/usr/tmp
 

依赖性 (DEPENDENCIES)

提供给IP子网,DNS和NIS域的共享不会使这些工作组中的客户程序马上就能读取NFS; 这种类型的共享其实是向 mountd(8) 提供的信息,为来自这些客户的挂载请求授权。 这通常不是一个大问题,因为重启过程中,任何存在的加载都保存在 rmtab 中。

当取消一个子网或域的共享时,当前任何提供给这个工作组中的成员的共享 将被检查。如果它们不再有效,它们将被移除。

 

参见 (SEE ALSO)

exports(5), mountd(8)  

作者 (AUTHORS)

Olaf Kirch, <[email protected]>
Neil Brown, <[email protected]>  

[中文版维护人]

袁乙钧 <[email protected]>  

[中文版最新更新]

2003.10.26  

《中国linux论坛man手册页翻译计划》:

http://cmpp.linuxforum.net


 

Index

NAME
概述 (SYNOPSIS)
描述 (DESCRIPTION)
选项 (OPTIONS)
讨论 (DISCUSSION)
共享目录 (Exporting Directories)
取消共享 (Unexporting Directories)
获取共享表 (Dumping the Export Table)
范例 (EXAMPLES)
依赖性 (DEPENDENCIES)
参见 (SEE ALSO)
作者 (AUTHORS)
[中文版维护人]
[中文版最新更新]
《中国linux论坛man手册页翻译计划》:

This document was created by man2html, using the manual pages.
Time: 13:13:02 GMT, December 24, 2015