Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.5.5. 使用 GFS2 设定 NFS

由于 GFS2 锁定子系统额外的复杂性及其集群本质,使用 GFS2 设置 NFS 需要注意很多方面,并要格外小心。本小节论述了您在使用 GFS2 文件系统配置 NFS 时应该注意的问题。

警告

如果使用 GFS2 导出 NFS,且该 NFS 客户端程序使用 POSIX 锁,那么就必须使用 localflocks 选项挂载该文件系统。预期的效果是这样可以强制 POSIX 锁从每台服务器转到本地:即非集群,且各自独立。(如果 GFS2 尝试从 NFS 跨集群中的节点使用 POSIX 锁,目前还有很多问题需要解决。)对于在 NFS 客户端中运行的程序,本地的 POSIX 锁意味着如果是从两台服务器中挂载两个客户端,则它们可以同时持有同一锁。如果所有客户端都使用一台服务器挂载 NFS,那么就不存在不同服务器单独提供同一锁定的问题。如果您不确定是否要使用 localflocks 选项挂载您的文件系统,则不要使用该选项。在集群的环境中使用锁总是会更安全一些。
除锁定注意事项外,您还应在使用 GFS2 文件系统配置 NFS 服务时注意以下问题:
  • Red Hat 只支持使用有以下特征并附带 active/passive 配置的 NFSv3 系统配置 Red Hat High Availability Add-On:
    • 后端文件系统是一个在 2 到 16 个节点集群中运行的 GFS2 文件系统。
    • 将 NFSv3 服务器被定义为一次从独立集群节点中导出整个 GFS2 文件系统的服务。
    • NFS 服务器可以在从一个集群节点到另一个节点(active/passive 配置)间进行故障切换。
    • 除非通过 NFS 服务器,否则不允许任何对 GFS2 文件系统的访问。这包括本地 GFS2 文件系统访问以及所有通过 Samba 或者集群的 Samba 的访问。
    • 该系统中没有 NFS 额度支持。
    这个配置为该文件系统提供 HA,并减少系统停机时间,因为当 NFS 服务器从一个节点到另一个节点失败时,失败的节点不需要执行 fsck 命令。
  • GFS2 的 NFS 导出中 fsid= NFS 选项是强制的。
  • 如果您的集群出现问题(例如:该集群变得额度不足且 fencing 无法工作),则会停止集群的逻辑卷以及 GFS2 文件系统,且在该集群有足够额度前不可能有任何访问。您在决定是否使用简单的故障切换解决方案(比如:在这个步骤中规定的方法是否最适合您的系统)时考虑这个可能性。