5.2. 使用 NFS 向导

本节描述如何使用 NFS 向导来快速地配置 NFS 共享。

  1. 启动群集状态工具。请校验群集守护进程是否正在运行;若没有运行,请选择「群集」 => 「启动群集服务」来启动群集守护进程。

  2. 群集状态工具中,选择「群集」 => 「配置」来显示群集配置工具

  3. 选择「添加导出」 => 「NFS...」然后点击「前进」来启动 NFS 向导

    图 5-1. NFS 向导

  4. 输入「导出目录」 — 被指定为子设备,导出目录可以和挂载点相同。在这种情况下,整个文件系统都可以通过 NFS 来存取。此外,你还可以指定某个挂载了的文件系统的一部分(子目录)被挂载(而不是整个文件系统)。通过导出挂载点的子目录,你可以给不同的 NFS 客户分派不同的存取权限。

    输入「客户名称」 — 被指定为子导出目录,NFS 客户规范会表明哪些系统被允许作为 NFS 客户来存取文件系统。你可以指定个别系统(例如 fred)或使用通配符来指定一组系统(例如 *.example.com)。在「客户名称」字段中输入星号(*)会允许任何客户挂载这个文件系统。

    在提供的字段中输入任何「客户选项」 — 被指定为「NFS 导出客户」信息的一部分,这个字段定义相应客户的存取权限。例如:ro(只读)、rw(读写)。除非明确指明,默认的导出选项是 ro,async,wdelay, root_squash。请参考 exports(5) 的说明书页来阅读更多选项。

    图 5-2. 导出和客户选项

  5. 如果某个现存的服务包含你想 NFS 导出的目录的设备和挂载点,那么就选择那个现存的服务。否则,为 NFS 导出目录输入一个新的「服务名称」「服务 IP 地址」

    「服务名称」 — 用来独特地在群集中识别服务的名称(如 nfs_clustermarketing。)

    「服务 IP 地址」 — NFS 客户对 NFS 服务器的文件系统的访问是由服务器的 IP 地址(或相关的主机名)来决定的。要防止 NFS 客户获悉哪个特定的群集成员正在充当 NFS 服务器,客户系统不应该使用群集成员的主机名作为启动服务的 IP 地址。相反,集群的 NFS 服务被分派了浮动 IP 地址,它们与群集服务器的 IP 地址不同。然后,这个浮动 IP 地址会在积极地进行 NFS 导出的群集成员上被配置。使用这种方法,NFS 客户就只知道浮动 IP 地址而不知道所用的实际上是被集群的 NFS 服务器。

    图 5-3. 选择要导出的服务

  6. 对于非集群的文件系统,挂载信息通常位于 /etc/fstab 中。然而,集群的文件系统信息必须不能位于 /etc/fstab 中。这是确保在一时内只有一个文件系统被挂载的必要条件。不这么做很可能会导致文件系统损坏或系统崩溃。

    如果你选择了一个现存的服务,那么该服务的设备就会被列在「现存设备和挂载点」中。如果你的 NFS 导出的设备和挂载点被列出了,就请选择它。

    否则,选择「新设备」,使用其字段来编辑以下设置:

    「设备特殊文件」 — 指定磁盘或共享贮存区上的分区。

    「设备挂载点」 — 指定文件系统挂载的目录。NFS 服务可以包括一个以上文件系统挂载。这样,文件系统就会被组织成一个单一失效转移单位。

    图 5-4. 选择要导出的设备

  7. NFS 向导的结尾处,点击「应用」来创建这个服务。选择群集配置工具上的「文件」 => 「保存」来保存配置。

要修改你的 NFS 服务配置,点击群集配置工具「服务」活页标签,然后点击 NFS 服务旁边的一个三角形图标 来显示该服务的完整子树。双击每个子树来修改选项。

  1. 突出显示 <service>,然后点击「属性」来配置以下选项:

    图 5-5. 群集配置工具中的服务

    • 「服务名称」 — 用来独特地识别群集中的这个服务的名称(如 nfs_clustermarketing)。

    • 「失效转移域」 — 一个可选属性,指定被准许在失效转移事件发生时运行服务的群集成员的子集(或有序子集)。在 NFS 服务配置中引用失效转移域之前,你必须创建它;详情请参阅第 2.9 节

    • 「检查间隔」 — 一个可选属性,指定是否要定期(以秒为单位)检查 NFS 守护进程状态。默认值为0秒,意味着守护进程状态不会被检查。

      如果服务返回错误或对状态检查不作任何反应,群集就会试图完整关闭该服务,并在另一个成员上启动它。如果在任意时刻关闭 NFS 服务失败了,群集将会把服务放入「失效」状态,要求管理员在重新启动前首先禁用该服务。

    • 至于「用户脚本」,只需把这个字段留为 None 即可,因为群集体系会处理 NFS 服务控制和状态检查。

  2. 选择 <service ip address> 子进程来改变「服务 IP 地址」,输入「子网掩码」「广播」地址。这两个值都默认设置为 None。如果你把这两个字段都留为 None,群集体系就会使用在运行服务的成员上配置的网络设备的子网掩码和广播 IP 地址。

  3. 选择 <device> 子进程来修改「设备特殊文件」「设备挂载点」「文件系统类型」、和「挂载选项」。你还可以选择或取消选择「强制挂载」。当「强制挂载」被启用了,挂载了特定的文件系统的应用程序在禁用或重新安置 NFS 服务前就会被杀死(假定应用程序和 NFS 服务在同一个成员上运行)。

  4. 选择 <nfsexport> 子进程来指定客户用来挂载导出共享的目录名称。

  5. 选择 <client> 子进程来输入「客户名称」;被允许挂载导出的共享的主机、组群、和域(默认为允许任何客户挂载共享的 *);以及允许客户挂载选项的「选项」(例如用于读写的 rw,或用于只读的 ro)。

5.2.1. NFS 客户存取

客户使用 NFS 的方法和 NFS 的通常用法完全相同。例如,要从 clu1.example.com 把 NFS 共享挂载到客户的 /mnt/users/ 目录中,请运行以下命令:

/bin/mount -t nfs clu1.example.com:/share /mnt/users

要简化客户挂载 NFS 共享的进程,把以下内容放在客户的 /etc/fstab 文件中:

clu1.example.com:/share /mnt/users nfs rw,rsize=8192,wsize=8192 0 0

关于额外的 NFS 挂载选项,请参阅《红帽企业 Linux 系统管理指南》