转自http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1006db2gpfs/index.html
IBM General Parallel File System™ (GPFS™) 文件系统是高性能的共享磁盘文件管理解决方案,它支持从两台计算机直到数百个系统快速可靠地访问相同的文件数据集。GPFS 文件系统与环境集成,它把各种服务器和存储组件连接起来,提供企业文件数据的统一视图。
结合使用 GPFS 文件系统和 DB2 for Linux, UNIX, and Windows 数据库可以为高性能数据库系统提供一个强大的平台。为 DB2 部署使用 GPFS 有以下好处:
IBM 已经使用 GPFS 文件系统优化了 DB2 9.7 ,开发了一套在 GPFS 上部署 DB2 时可以应用的最佳实践。这些最佳实践有助于让在 GPFS 上运行的 DB2 数据库实现最好的效果。
本文档讨论结合使用 GPFS 和 DB2 的好处,包括在 GPFS 上部署 DB2 数据库的最佳实践。
本文档的目标读者是负责部署 DB2 和 DB2 所在的系统的 IT 人员。本文档假设读者具备中等程度的 DB2 和 UNIX 系统管理知识。
本文档中的示例基于安装在 AIX® 6.1TL3 SP2 上的 DB2 9.7 和 GPFS 3.2.1.11 ,但是也适用于更高版本和其他受支持的平台。关于受支持的 DB2/GPFS 配置,请参见以下站点:
在以下站点上可以找到关于 DB2 和 GPFS 软件的更多信息:
为数据库选择的文件系统必须具有非常出色的性能特征和可靠性。GPFS 文件系统的性能与本地文件系统相近,但是具备集群文件系统的灵活性和可伸缩性。IBM 通过测试证明了 GPFS 上的 DB2 的性能特征与本地文件系统相当。除了高性能之外,在使用 GPFS 时可以动态地添加主机和存储,这样就可以满足不断增长的处理需求。
GPFS 文件系统易于部署和管理,可以提高硬件利用率,可以让数据工作流更顺畅,这些都可以提高操作效率。GPFS 提供标准的文件系统接口,环境中许多不同的应用程序都可以使用这个接口。大文件系统支持、存储池和自动的文件管理让用户可以更好地利用现有硬件。滚动式更新以及对混合硬件和操作系统的支持让用户可以快速地集成新的服务器和存储硬件,满足不断变化的需求和预算。
GPFS 存储基础设施有助于减少数据复制操作和数据处理时间,因为可以从多台机器直接访问数据,这可以降低存储成本和管理存储空间所需的工作量。
GPFS 提供一个全局名称空间,这意味着可以从多台机器同时访问数据,同时仍然保证数据完整性。这允许从环境中的任何机器灵活地访问数据,就像数据在本地一样。GPFS 提供比其他文件系统更前沿的技术,让用户能够更好地满足企业的需求。这些特性包括:
在当今竞争极其激烈的环境中,数据是关键的资产,必须确保连续的数据可用性。GPFS 提供的许多特性有助于实现可用性目标:
GPFS 可以在多个方面增强 DB2 数据库环境。下面讨论其中一部分。
假设您最初只部署单主机 DB2 。您很快意识到需要更多处理能力来支持应用程序,必须购买新的服务器。通过使用 GPFS ,可以在不停止数据库的情况下把文件系统扩展到新机器。然后可以在新机器上配置 DB2 实例,让它使用 GPFS 上存储的数据库,停止老机器上的 DB2 实例,然后启动新机器上的 DB2 实例。最后,可以让 DB2 客户机访问新机器,或者使用自动的客户机重路由技术。
组织依靠数据分析来保持竞争优势。组织希望减少处理数据和提供关键统计信息所花费的时间。
假设您有一个交易处理系统,它收集客户的交易数据,由另一个环境执行提取、转换和装载 (ETL) 处理。当 ETL 处理完成时,把数据装载到 DB2 数据仓库中。通过结合使用 GPFS 和 DB2 可以把处理过程连接在一起,不需要在系统之间复制数据。
这些基本建议基于在 GPFS 文件系统上对 DB2 数据库做的大量测试。这些提示有助于在功能和性能方面实现最好的效果。
利用 quorum 设计 – 对于最多 8 个节点的集群,把所有节点定义为 quorum 节点并使用 tiebreaker 磁盘。对于超过 8 个节点的集群,使用 quorum 节点(没有 tiebreaker 磁盘)。
确保通信带宽足以支持多站点操作 – 可以在单一站点内或跨多个位置部署集群。如果需要跨站点复制数据,站点之间的通信带宽和延迟必须能够满足应用程序的响应需求。
带 tiebreaker 磁盘的 quorum – 在定义 tiebreaker 磁盘时,可以使用文件系统中的任何网络共享磁盘 (NSD) 。
存储 RAID 级别 – 通常根据容量和可用性选择 RAID 级别。在部署 DB2 数据库时,通常使用 Raid 5 和 Raid 1+0 。
选择支持 SCSI-3 PR 的存储 - 为了优化故障转移性能,应该使用支持 SCSI-3 协议 Persistent Reserve 特性的存储服务器。在发生节点故障时,GPFS 使用 Persistent Reserve 提供快速的集群故障转移。在 GPFS 中,使用带 usePersistentReserve=yes 选项的 mmchconfig 命令启用这个特性。
在主要关注性能和可靠性的环境中,使用两个 GPFS 文件系统 – 创建两个 GPFS 文件系统,一个用于数据库数据,另一个用于数据库日志,这是因为数据和日志的访问模式很不一样。
在主要关注管理的简便性的环境中,使用一个 GPFS 文件系统 – 使用一个 GPFS 文件系统可以最小化管理费用。单一文件系统与 DB2 自动存储的组合让用户可以动态地添加存储容量,甚至是添加主机,而不需要创建另一个文件系统。
使用 1 MB 的块大小 - 让 GPFS 文件系统使用 1 MB 的块大小。更大的块可以提高使用页面池的效率。
使用直接 I/O (DIO) - DB2 9.7 可以直接使用 GPFS 中的直接 I/O 。从 9.7 版开始,所有 DB2 文件(包括活跃的日志文件)都用 DIO 打开。这可以加快磁盘访问,避免在 DB2 和文件系统缓存中双重缓冲数据。在这种模式下,DB2 选择需要访问的文件和应该放在缓存中的数据。与以 DIO 模式挂装整个文件系统相比,允许 DB2 使用 DIO 打开文件更合适。
启用更高的并发度 – 建议把 GPFS 的 worker1Threads 参数值从默认的 40 提高到 256 。这个参数控制 GPFS 文件系统上并发文件操作的最大数量。prefetchThreads 参数值和 worker1Threads 参数值的和必须小于 550 。
增加文件系统缓存 - GPFS 页面池用于缓存用户数据、文件系统元数据和其他内部数据。建议增加页面池大小,把 pagepool 参数值从默认的 64 MB 提高到至少 256 MB 。页面池固定在内存中,所以要确保系统上有足够的空闲内存,否则这一修改会导致系统分页,会对总体性能产生负面影响。
修改 GPFS 配置参数
使用 mmchconfig 命令修改这些 GPFS 配置参数。例如,要想通过设置 pagepool 参数把页面池大小改为 256 MB ,应该执行以下命令:
mmchconfig pagepool=256m |
可以使用 mmlsconfig 命令查看当前值。mmlsconfig 的输出只显示设置为非默认值的参数。
要想让这些修改生效,必须先卸载 GPFS 文件系统,然后重新启动 GPFS 守护进程。
下面是一组命令示例,演示如何按照本文档中描述的最佳实践部署 GPFS 。这里给出的所有 GPFS 命令都在 /user/lpp/mmfs/bin 目录中。
1. 在机器 db2server 上创建 GPFS 集群。
mmcrcluster – A – N db2server:manager-quorum – p db2server |
2. 启动 GPFS 集群:
mmstartup – a |
3. 创建一个名为 nsd_mappng 的文件,它包含用来创建 GPFS 文件系统的磁盘列表 (LUNS) 。下面的示例使用 6 个磁盘分区。分隔空列的冒号表示使用的默认值。(关于文件格式的更多信息,参见 GPFS 文档中对 mmcrnsd 命令的说明。)由用户选择网络共享磁盘 (NSD) 名称。
/dev/hdisk1:::::Data1: /dev/hdisk2:::::Data2: /dev/hdisk3:::::Data3: /dev/hdisk4:::::Data4: /dev/hdisk10:::::DBLog1: /dev/hdisk11:::::DBLog2: |
4. 使用刚才创建的 nsd_mapping 文件创建 GPFS 网络共享磁盘:
mmcrnsd – F nsd_mapping |
5. 停止 GPFS 集群并指定 tiebreaker 磁盘:
mmshutdown – a mmchconfig tiebreaker=”Data1;Data2;Data3” |
6. 根据 DB2 on GPFS 最佳实践设置 GPFS 配置参数:
mmchconfig worker1Threads=256 mmchconfig pagepool=256M mmchconfig usePersistentReserve=yes |
7. 启动 GPFS 集群:
mmstartup -a |
8. 为数据和日志各创建一个 GPFS 文件系统,使用 1 MB 的块大小:
mmcrfs – T /db2data db2data Data1,Data2,Data3,Data4 – B 1M mmcrfs – T /db2log db2log DBLog1,DBLog2 – B 1M |
确认挂装点 /db2data 和 /db2log 已经创建了。
9. 挂装 GPFS 文件系统:
mmmount db2data -a mmmount db2log -a |
灵活的存储管理是下一代动态数据中心的关键。下一代动态数据中心通过优化硬件利用率和降低管理成本提供经济有效性,可以在需要时把数据处理和存储基础设施部署到需要的地方。通过结合使用 GPFS 的高级存储管理和 DB2 for Linux, UNIX, and Windows 的水平伸缩架构,可以实现非常适合下一代动态数据中心的优秀解决方案。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15082138/viewspace-665982/ ,如需转载,请注明出处,否则将追究法律责任。