用于网络文件系统 (NFS) 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

如何注册和配置 Sun Cluster HA for NFS

本节介绍了如何注册和配置 Sun Cluster HA for NFS。

  1. 成为某个群集成员的超级用户。

  2. 检验所有群集节点是否都处于联机状态。


    # scstat -n
    
  3. 创建 Pathprefix 目录。

    Pathprefix 目录位于 Sun Cluster HA for NFS 用来维护管理和状态信息的群集文件系统中。

    您可以指定任意目录用于此用途。但是,您必须为所创建的每个资源组手动创建一个 admin-dir 目录。例如,创建目录 /global/nfs


    # mkdir -p /global/admin-dir
    
  4. 创建故障切换资源组以包含 NFS 资源。


    # scrgadm -a -g resource-group -y Pathprefix=/global/admin-dir [-h nodelist]
    -a

    指定您要添加新配置。

    -g resource-group

    指定故障切换资源组。

    -y Pathprefix =path

    在群集文件系统上指定 Sun Cluster HA for NFS 用来维护管理和状态信息的目录。

    [-h nodelist]

    指定一个可选的、用逗号分隔的物理节点名称或 ID 的列表,这些节点名称或 ID 标识潜在的主节点。列表中的顺序确定了 Resource Group Manager (RGM) 在故障切换过程中考虑主节点的顺序。

  5. 检验是否已将您的所有逻辑主机名资源添加到名称服务数据库中。

    为避免因名称服务查找而出现任何故障,请检验 Sun Cluster HA for NFS 使用的所有 IP 地址与主机名之间的映射是否都存在于服务器和客户机的 /etc/inet/hosts 文件中。此要求同样适用于 Sun Cluster HA for NFS 使用的逻辑主机名的任何 IPMP 测试 IP 地址。

  6. 在群集节点上的 /etc/nsswitch.conf 文件中配置名称服务映射,以在尝试访问 NIS 或 NIS+ 进行 rpc 查找之前先检查本地文件。

    执行此操作可防止在公共网络或名称服务不可用时发生与计时相关的错误。

  7. 修改 /etc/nsswitch.conf 中的主机项,以便在本地解析名称时,主机先不联系 NIS/DNS,而是立即返回一个成功状态。

    执行此操作可使 HA-NFS 在发生公共网络故障时正确地进行故障切换。


    # hosts: cluster files [SUCCESS=return] nis
    # rpc: files nis
    
  8. (可选)定制 nfsdlockd 启动选项。

    1. 要定制 nfsd 选项,请在每个群集节点上打开 /etc/init.d/nfs.server 文件,查找以 /usr/lib/nfs/nfsd 开始的命令行,然后添加所需的任何其它变量。

    2. 要定制 lockd 启动选项,请在每个群集节点上打开 /etc/init.d/nfs.client 文件,查找以 /usr/lib/nfs/lockd 开始的命令行,然后添加所需的任何命令行变量。

      从 Solaris 9 开始,您可以在 /etc/default/nfs 文件中使用 LOCKD_GRACE_PERIOD 参数设置 lockd 宽延期。但是,如果在 /etc/init.d/nfs.client 文件中的命令行变量中设置了宽延期,这将覆盖 LOCKD_GRACE_PERIOD 中设置的值。


    注意 –

    这些命令行必须在一行内。不支持断为多行的命令行。其它变量必须为 nfsd(1M)lockd(1M) 手册页中介绍的有效选项。


  9. 将所需的逻辑主机名资源添加到故障切换资源组中。

    您必须按此步骤设置逻辑主机名资源。要用于 Sun Cluster HA for NFS 的逻辑主机名不能SharedAddress 资源类型。


    # scrgadm -a -L -g resource-group -l logical-hostname, … [-n netiflist]
    -a

    指定您要添加新配置。

    -L -g resource-group

    指定用于保存逻辑主机名资源的资源组。

    -l logical-hostname, …

    指定要添加的逻辑主机名资源。

    -n netiflist

    指定一个可选的、用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理 组。netiflist 中的每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1


    注意 –

    Sun Cluster 目前不支持将适配器名称用作 netif


  10. 在任意群集节点上为 NFS 配置文件创建一个目录结构。

    Pathprefix 特性于步骤 4 中标识的目录下面创建管理子目录,例如 /global/nfs/SUNW.nfs


    # mkdir Pathprefix/SUNW.nfs
  11. 步骤 10 中创建的 SUNW.nfs 目录中创建一个 dfstab.resource 文件,并设置共享选项。

    1. 创建 Pathprefix/SUNW.nfs/dfstab.resource 文件。

      此文件包含一组使用共享路径名的 share 命令。共享路径应为群集文件系统的子目录。


      注意 –

      选择一个 resource 名称后缀以标识要创建的(在步骤 13 中)NFS 资源。一个好的资源名称可以指代此资源要执行的任务。例如,对于共享用户起始目录的 NFS 资源而言,名称 user-nfs-home 就是一个好的候选资源名称。


    2. 为您创建的、要共享的每个路径设置 share 选项。

      此文件的格式与 /etc/dfs/dfstab 文件中所用的格式完全相同。


      share [-F nfs] [-o] specific_options [-d “description”] pathname 
      
      -F nfs

      将文件系统类型标识为 nfs

      -o specific_options

      授予所有客户机读写访问权限。有关选项的列表,请参见 share(1M) 手册页。为 Sun Cluster 设置 rw 选项。

      -d description

      说明要添加的文件系统。

      pathname

      标识要共享的文件系统。

    设置共享选项时,请注意以下几点。

    • 构造 share 选项时,请不要使用 root 选项,并且不要将 rorw 选项同时使用。

    • 不要授权访问群集互连上的主机名。

      将读写访问权限授予所有群集节点和逻辑主机,以使 Sun Cluster HA for NFS 监视功能可以执行完整的任务。但是,您可以限制对文件系统的写入访问,也可以使整个文件系统处于只读状态。如果执行了上述操作,Sun Cluster HA for NFS 故障监视功能仍可以在不具备写入权限的情况下执行监视。

    • 如果在 share 命令中指定一个客户机列表,请包含与群集相关的所有物理主机名和逻辑主机名以及群集连接的所有公共网络中的所有客户机的主机名。

    • 如果在 share 命令中使用网络组(而不是单个主机的名称),请将所有此类群集主机名添加到相应的网络组。

    share -o rw 命令将授予所有客户机(包括 Sun Cluster 软件使用的主机名)写入权限。此命令能够使 Sun Cluster HA for NFS 故障监视功能的运行效率最佳。有关详细信息,请参见以下手册页。

    • dfstab(4)

    • share(1M)

    • share_nfs(1M)

  12. 注册 NFS 资源类型。


    # scrgadm -a -t resource-type
    
    -a -t resource-type

    添加指定的资源类型。对于 Sun Cluster HA for NFS,资源类型为 SUNW.nfs

  13. 在故障切换资源组中创建 NFS 资源。


    # scrgadm -a -j resource -g resource-group -t resource-type
    
    -a

    指定您要添加配置。

    -j resource

    指定要添加的、在步骤 11 中定义的资源名称。您可以选择此名称,但它在群集中必须唯一。

    -g resource-group

    指定先前创建的、要添加此资源的资源组的名称。

    -t resource-type

    指定此资源所属的资源类型的名称。此名称必须是已注册的资源类型的名称。

  14. 运行 scswitch(1M) 命令以执行以下任务。

    • 启用资源和资源故障监视器。

    • 管理资源组。

    • 将资源组切换到 ONLINE 状态。


    # scswitch -Z -g resource-group
    

示例——设置和配置 Sun Cluster HA for NFS

下例说明了如何设置和配置 Sun Cluster HA for NFS。


(创建逻辑主机资源组并指定 NFS 所用的管理文件的路径 (Pathprefix)。)
# scrgadm -a -g resource-group-1 -y Pathprefix=/global/nfs
 
(将逻辑主机名资源添加到逻辑主机资源组中。)
# scrgadm -a -L -g resource-group-1 -l schost-1
 
(使目录结构包含 Sun Cluster HA for NFS 配置文件。)
# mkdir -p /global/nfs/SUNW.nfs
 
(在 nfs/SUNW.nfs 目录下创建 dfstab.resource 文件并设置共享选项。)
# share -F nfs -o rw=engineering -d “home dirs” nfs/SUNW.nfs
 
(注册 NFS 资源类型。)
# scrgadm -a -t SUNW.nfs
 
(在资源组中创建 NFS 资源。)
# sc
rgadm -a -j r-nfs -g resource-group-1 -t SUNW.nfs
 
(启用资源及其监视器,管理资源组并将资源组切换到联机状态。)
# scswitch -Z -g resource-group-1