网络文件系统NFS的命令行配置方式

来源:互联网 发布:中老年男运动装淘宝网 编辑:程序博客网 时间:2024/05/18 00:48
网络文件系统NFS的命令行配置方式包括NFS服务器和客户端的详细设置。

 

16.2. 挂载 NFS 文件系统

使用 mount 命令来挂载另一个机器上的 NFS 文件系统:

mount shadowman.example.com:/misc/export /misc/local

警告 警告  

本地机器上的挂载点目录(以上例子中的 /mnt/local)必须存在。

在这项命令中,shadowman.example.com 是 NFS 文件服务器的主机名;/misc/exportshadowman 要导出的文件系统;/misc/local 是该文件系统在本地机器上的挂载位置。mount 命令运行之后(而且如果客户具有来自 shadowman.example.com NFS 服务器的正确权限的话),客户用户可以执行 ls /misc/local 命令来显示 shadowman.example.com 上的 /misc/export 目录中的文件列表。

16.2.1. 使用 /etc/fstab 来挂载 NFS 文件系统

要挂载其它机器上的 NFS 共享的另一种方法是在 /etc/fstab 文件中添加一行。这一行中必须声明 NFS 服务器的主机名,要导出的目录,以及要挂载 NFS 共享的本地机器目录。你必须是根用户才能修改 /etc/fstab 文件。

/etc/fstab 中每行的一般语法如下所示:

server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr

挂载点 /pub 在客户机器上必须存在。在客户系统的 /etc/fstab 文件中把这一行添加完毕后,在 shell 提示下键入命令 mount /pub,以及将会从服务器中挂载的挂载点 /pub

16.2.2. 使用 autofs 来挂载 NFS 文件系统

挂载 NFS 共享的第三种方法是使用 autofs。autofs 使用 automount 守护进程来管理你的挂载点,它只在文件系统被访问时才动态地挂载它们。

autofs 咨询主映射配置文件 /etc/auto.master 来决定要定义哪些挂载点。然后,它使用适用于各个挂载点的参数来启动 automount 进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。譬如,/etc/auto.misc 文件可能会定义 /misc 目录中的挂载点;这种关系在 /etc/auto.master 文件中会被定义。

auto.master 文件中的每个项目都有三个字段。第一个字段是挂载点。第二个字段是映射文件的位置,第三个字段可选。第三个字段可以包括超时数值之类的信息。

譬如,要在你的机器上的 /misc/myproject 挂载点上挂载远程机器 penguin.example.net 上的 /project52 目录,在 auto.master 文件中添加以下行:

/misc   /etc/auto.misc --timeout 60

/etc/auto.misc 文件中添加以下行:

myproject  -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52

/etc/auto.misc 中的第一个字段是 /misc 子目录的名称。该目录被 automount 动态地创建。它不应该在客户机器上实际存在。第二个字段包括挂载选项,如:rw 代表读写访问权。第三个字段是要导出的 NFS 的位置,包括主机名和目录。

注记 注记  

目录 /misc 在本地文件系统中必须存在。在本地文件系统的 /misc 目录中不应该有子目录。

autofs 是一种服务。要启动这项服务,在 shell 提示下,键入以下命令:

/sbin/service autofs restart

要查看活跃的挂载点,在 shell 提示下键入以下命令:

/sbin/service autofs status

如果你在 autofs 运行时修改了 /etc/auto.master 配置文件,你必须在 shell 提示下键入以下命令来通知 automount 守护进程重新载入配置文件:

/sbin/service autofs reload

若想了解如何配置 autofs 以便在引导时启动,请参阅第14章 中关于管理服务的信息。

16.3. 导出 NFS 文件系统

从 NFS 服务器中共享文件又称导出目录。NFS 服务器配置工具可以用来把系统配置成 NFS 服务器。

要使用 NFS 服务器配置工具,你必须运行 X 窗口系统,具备根特权,并且安装了 redhat-config-nfs RPM 软件包。要启动这个程序,点击面板上的「主菜单」 => 「系统设置」 => 「服务器设置」 => 「NFS 服务器」,或键入 redhat-config-nfs 命令。

图 16-1. NFS 服务器配置工具

要添加 NFS 共享,点击「添加」按钮。如图 16-2所示的对话框会出现。

「基本」活页标签要求以下信息:

 

  • 「目录」 — 指定要共享的目录,如 /tmp

  • 「主机」 — 指定要共享目录的主机。请参阅第 16.3.2 节来获取对格式的解释。

  • 「基本权限」 — 指定目录应该有只读权限还是读写权限。

图 16-2. 添加共享

「常规选项」活页标签允许你配置以下选项:

 

  • 「允许来自高于 1024 的端口的连接」 — 在号码小于 1024 的端口上启动的服务必须以根用户身份启动。选择这个选项来允许根用户以外的用户来启动 NFS 服务。该选项和 insecure 相对应。

  • 「允许不安全的文件锁定」 — 不需要锁定请求。该选项和 insecure_locks 相对应。

  • 「禁用子树检查」 — 如果某文件系统的子目录被导出,但是整个文件系统没有被导出,服务器会检查所请求的文件是否在导出的子目录中。这种检查叫做子树检查(subtree checking)。选择这个选项来禁用子树检查。如果整个文件系统被导出,选择禁用子树检查可以提高传输率。该选项和 no_subtree_check 相对应。

  • 「按要求同步写操作」 — 默认被启用,该选项不允许服务器在请求被写入磁盘前回复这些请求。该选项和 sync 相对应。如果它没有被选择,async 选项会被使用。

     

    • 「立即强制同步写操作」 — 不推迟写入磁盘的操作。该选项和 no_wdelay 相对应。

「用户访问」活页标签允许你配置以下选项:

 

  • 「把远程根用户当作本地根用户」 — 按照默认设置,根用户的用户 ID 和组群 ID 都是 0。根权限压缩(Root squashing)把用户 ID 0 和组群 ID 0 映射为匿名的用户和组群 ID,因此客户上的根用户就不会在 NFS 服务器上具备根特权。如果这个选项被选,根用户就不会被映射为匿名用户,客户上的根用户就会对导出的目录拥有根特权。选择这个选项会大大降低系统的安全性。除非绝对必要,请不要选择它。该选项和 no_root_squash 相对应。

  • 「把所有客户用户当作匿名用户」 — 如果该选项被选,所有用户和组群 ID 都会被映射为匿名用户。该选项和 all_squash 相对应。

     

    • 「为匿名用户指定本地用户 ID」 — 如果「把所有客户用户当作匿名用户」被选,这个选项会让 你为匿名用户指定一个用户 ID。该选项和 corresponds to anonuid 相对应。

    • 「为匿名用户指定本地组群 ID」 — 如果「把所有客户用户当作匿名用户」被选,这个选项会让 你为匿名用户指定一个组群 ID。该选项和 corresponds to anongid 相对应。

要编辑 NFS 共享,从列表中选择它,然后点击「属性」按钮。要删除某个现存 NFS 共享,从列表中选择它,然后点击「删除」按钮。

点击了「确定」来从列表中添加、编辑、或删除某个 NFS 共享后,改变就会立即生效 — 服务器守护进程被重新启动,原有的配置文件被保存为 /etc/exports.bak。新的配置文件被写入 /etc/exports

NFS 服务器配置工具直接读写 /etc/exports 配置文件。因此,这个文件在使用该工具后可以被手工修改;手工修改了该文件后也可以使用这个工具(假定手工修改时使用了正确的语法)。

16.3.1. 命令行配置

如果你更喜欢使用文本编辑器来编辑配置文件或者你没有安装 X 窗口系统,你可以直接修改配置文件。

/etc/exports 文件控制 NFS 服务器要导出哪些目录。它的格式如下:

directory hostname(options)

唯一需要指定的选项是 syncasync 之一(建议使用sync is recommended)。如果指定了 sync,服务器在请求所做的改变被写入磁盘之前就不会回复这些请求。

例如:

/misc/export     speedy.example.com(sync)

会允许来自 speedy.example.com 的用户使用默认的只读权限来挂载 /misc/export,但是:

/misc/export     speedy.example.com(rw,sync)

将会允许来自 speedy.example.com 的用户使用读写权限来挂载 /misc/export

请参阅第 16.3.2 节来获取关于主机名格式的解释。

请参阅《Red Hat Linux 参考指南》来获取可以被指定的选项的列表。

小心 小心  

请谨慎处理 /etc/exports 文件中的空格。如果主机名和括号内的选项之间没有空格,这些选项就只应用于这个主机名。如果在主机名和选项之间有空格,这些选项就是全局应用的。例如,请仔细查看以下行:

/misc/export speedy.example.com(rw,sync)/misc/export speedy.example.com (rw,sync)

第一行给来自 speedy.example.com 的用户以读写权限并拒绝所有其他用户。第二行给来自 speedy.example.com 的用户以只读权限(默认设置),并给予所有其他用户以读写权限。

在你每次改变 /etc/exports 的时候,你必须把改变通知给 NFS 守护进程,或使用以下命令来重新载入配置文件:

/sbin/service nfs reload

16.3.2. 主机名格式

主机可以使用以下格式:

 

  • 单个机器 — 一个全限定域名(能够被服务器解析的),主机名(能够被服务器解析的),或 IP 地址。

  • 使用通配符指定的一系列机器 — 使用“*”或“?”字符来指定字符串匹配。通配符不能被用在 IP 地址中;如果逆向 DNS 查寻失败了,通配符可能碰巧会奏效。当你在全限定域名中指定通配符时,点(.)不包括在 通配符的匹配项目内。例如:*.example.com 包括 one.example.com,但不包括 one.two.example.com.

  • IP 网络 — 使用 a.b.c.d/z,这里的 a.b.c.d 是网络,z 是子网掩码中的位数(如 192.168.0.0/24)。另一种可以接受的格式是 a.b.c.d/netmask,这里的 a.b.c.d 是网络,netmask 是子网掩码(如 192.168.100.8/255.255.255.0)。

  • Netgroups — 格式为 @group-name,这里的 group-name 是 NIS netgroup 的名称。

16.3.3. 启动和停止服务器

在导出 NFS 文件系统的服务器上,nfs 服务必须在运行。

使用以下命令来查看 NFS 守护进程的状态:

/sbin/service nfs status

使用以下命令来启动 NFS 守护进程:

/sbin/service nfs start

使用以下命令来停止 NFS 守护进程:

/sbin/service nfs stop

要在引导时启动 nfs 服务,使用以下命令:

/sbin/chkconfig --level 345 nfs on

你还可以使用 chkconfigntsysv服务配置工具来配置要在引导时启动哪些服务。详情请参阅第14章 。

原创粉丝点击