为 IBM® Db2 Warehouse 建立网络文件系统 (NFS)
为 Db2® Warehouse 建立集群文件系统的最简单方法是使用 NFS。例如,可以将 NFS 与建立在网络连接存储器 (NAS) 上的集群文件系统配合使用。
过程
-
必须使用以下导出选项,将 NAS 或 NFS 共享目录导出到所有 Db2 Warehouse NFS 客户机:
例如,如果您计划使用导引节点作为 NFS 服务器,请在导引节点上发出以下命令。对于 echo 命令,请为每个数据节点指定一个子句,该子句由数据节点 IP 地址以及随后的 (rw,sync,no_root_squash,no_all_squash) 组成。请以空格分隔各个子句。rw,sync,no_root_squash,no_all_squashyum -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 -
在每个数据节点上,发出以下命令以安装 NFS 客户机驱动程序:
yum -y install nfs-utils systemctl start rpcbind systemctl enable rpcbind -
在每个数据节点上,将以下装载选项添加到 /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 存储控制器,请参阅供应商文档,以了解提供最佳性能的
rsize和wsize设置。 - 与 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 - 如果要使用企业 NAS 存储控制器,请参阅供应商文档,以了解提供最佳性能的
-
测试设置:
- 在导引节点上,通过发出以下命令创建一个文件:
echo "test" > /mnt/clusterfs/testfile - 在数据节点上,确认可以读取该文件。发出以下命令:
cat /mnt/clusterfs/testfile
- 在导引节点上,通过发出以下命令创建一个文件: