IBM® Db2 Warehouse 建立网络文件系统 (NFS)

Db2® Warehouse 建立集群文件系统的最简单方法是使用 NFS。例如,可以将 NFS 与建立在网络连接存储器 (NAS) 上的集群文件系统配合使用。

过程

  1. 必须使用以下导出选项,将 NAS 或 NFS 共享目录导出到所有 Db2 Warehouse NFS 客户机:
    rw,sync,no_root_squash,no_all_squash
    例如,如果您计划使用导引节点作为 NFS 服务器,请在导引节点上发出以下命令。对于 echo 命令,请为每个数据节点指定一个子句,该子句由数据节点 IP 地址以及随后的 (rw,sync,no_root_squash,no_all_squash) 组成。请以空格分隔各个子句。
    
    yum -y install nfs-utils
    echo "/mnt/clusterfs data_node1_IP address(rw,sync,no_root_squash,no_all_squash) data_node2_IP address(rw,sync,no_root_squash,no_all_squash)
     [... data_nodeN_IP address(rw,sync,no_root_squash,no_all_squash)]" >> /etc/exports
    systemctl start rpcbind nfs-server
    systemctl enable rpcbind nfs-server
  2. 在每个数据节点上,发出以下命令以安装 NFS 客户机驱动程序:
    
    yum -y install nfs-utils
    systemctl start rpcbind
    systemctl enable rpcbind
    
  3. 在每个数据节点上,将以下装载选项添加到 /etc/fstab
    rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,intr,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,nolock 0 0
    注:
    • 如果要使用企业 NAS 存储控制器,请参阅供应商文档,以了解提供最佳性能的 rsizewsize 设置。
    • 与 NFS V4 不同,NFS V3 是无状态协议。在使用横向扩展 NAS 控制器时,这种差异会产生影响,因为在 NFS V3 中,导致存储器集群 IP 更改的存储器集群故障转移是透明的,不会中断已建立的 NFS 会话。因此,将 NFS 协议与 Db2 Warehouse 配合使用时,必须使用 NFS V3。这就是使用 vers=3 选项的原因。
    • 因为 Db2 Warehouse MPP 部署利用无共享体系结构,为避免锁定开销和潜在的锁定冲突,必须禁用 NLM 锁定。这就是使用 nolock 选项的原因。
    • 超过 NFS 超时后,NFS 软装载可能会放弃,并且可能不会将错误正确返回给调用者。这可能会导致集群应用程序中发生数据损坏,而这就是使用 hard 选项的原因。
    例如,可以使用以下 Shell 片段进行更新:
    cat <<'EOF' > /etc/fstab
    # The NFS/NAS clustered mount for Db2 Warehouse persistent data
    hostname_OR_IP_address_of_NAS/NFS_server:NAS/NFS_share_exported  /mnt/clusterfs/ nfs
    rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,intr,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,nolock 0 0
    EOF
  4. 测试设置:
    1. 在导引节点上,通过发出以下命令创建一个文件:
      echo "test" > /mnt/clusterfs/testfile
    2. 在数据节点上,确认可以读取该文件。发出以下命令:
      cat /mnt/clusterfs/testfile