使用 IBM Storwize V7000 6.4.0.1 部署 DB2 pureScale

IBM DB2® pureScale® 解决方案的一个关键方面在于底层存储的功能。除此之外,DB2 pureScale 还利用特定的存储功能来增强该解决方案。本文将向您介绍 Storwize® V7000 存储上的 DB2 pureScale 的价值主张,演示一个满足最严苛的业务需求的解决方案。

Aslam Nomani, STSM,DB2 质量保证, IBM Toronto Lab

Aslam NomaniAslam Nomani 在 IBM 多伦多实验室的 Database Technology (DBT) 团队已工作了 5 年。在过去 4 年中他一直效力于 DB2 Universal Database (UDB) System Verification Test 部门。Aslam 从事在高可用性环境中测试 DB2 Universal Database 方面的大量工作。他目前是 DBT 测试组织的一名团队领导。



Saroj Tripathy, 顾问软件工程师, IBM

Saroj TripathySaroj Kumar Tripathy 自 2010 年开始在 IBM 从事 DB2 的系统验证测试和功能验证测试。他是一位 IBM DB2 Certified Advanced DBA。他精通的领域包括 DB2 高可用性、HADR 和专家安全解决方案。



Sumair Kayani, 系统工程师,System Optimization and Competency Center, IBM

Sumair KayaniSumair Kayani 是 IBM 多伦多实验室的一名系统工程师。作为 Systems Optimization Competency Center 的成员,他的职责包括优化组成 IBM 集成系统的软件和硬件组件。他是一名系统管理员,主要负责 System P 和存储区域网络。



Barry Whyte, 虚拟存储性能架构师, IBM

Barry WhyteBarry Whyte 是一名 Master Inventor,在英国 IBM Hursley 的 Systems & Technology Group 中工作。他主要研究 IBM SAN Volume Controller 和 Storwize V7000 虚拟磁盘系统。在为 IBM 效力的 16 年里,他研究过曾大获成功的 Serial Storage Architecture (SSA) 和 IBM DS8000 范围。他在 SVC 开发团队成立之初就加入该团队,在担任目前的性能架构师职位之前,曾经担任过许多职位。



2013 年 6 月 07 日

执行摘要

在当今竞争激烈的市场中,部署这样一个数据处理架构非常重要:该架构不仅能够满足您的即时战术需求,还能够提供增长和变更来适应您未来的战略需求的灵活性。2009 年 12 月,IBM 推出了 DB2 pureScale Feature for Enterprise Server Edition。DB2 pureScale Feature 基于人们所熟悉的 IBM DB2 for z/OS® 数据库软件的久经考验的设计功能。IBM 向开放系统提供了 DB2 for z/OS 久经考验的行业领先技术和可靠性。DB2 pureScale 旨在满足许多客户的需求,它提供了以下功能:

  • 无限的容量,通过轻松地向您的集群添加更多机器来外扩您的系统。
  • 应用程序透明性,原封不动地利用您现有的应用程序。
  • 持续可用性,提供具有固有冗余的主动-主动架构。
  • 更少的总体拥有成本 (TCO),允许对高级技术执行简化的部署和管理。

DB2 pureScale 解决方案的一个关键方面在于底层存储的功能。存储不仅需要提供一流的性能,还必须提供一流的可用性特征。除此之外,DB2 pureScale 还利用了具体的存储功能来增强该解决方案。本文将向您介绍 IBM Storwize V7000 存储上的 DB2 pureScale 的价值主张,演示一个满足最严苛的业务需求的解决方案。


简介

DB2 pureScale Feature 利用了一个基于 DB2 for z/OS 数据共享架构的主动-主动共享磁盘数据库实现。它利用 DB2 在大型机上的成熟技术,将一流的技术带到开放系统中。使用 DB2 pureScale 带来了以下重要优势:

  • 无限的容量:DB2 pureScale 提供了接近无限的容量,允许根据需要添加和删除成员。DB2 pureScale 可扩展到 128 个成员,并拥有一个非常高效的集中管理工具,与等效的模型相比,具有卓越的外扩能力。DB2 pureScale 还利用了一种称为远程直接内存访问 (Remote Direct Memory Access) 的技术,该技术提供了有助于实现卓越扩展能力的非常高效的节点间通信机制。
  • 应用程序透明性:在 DB2 pureScale 环境中运行的应用程序不需要拥有集群中的成员所掌握的任何知识,也无需担忧分区数据。DB2 pureScale 将自动将应用程序路由到最合适的成员。DB2 pureScale 还提供了对其他数据库供应商使用的大量语法的原生支持,允许这些应用程序只需进行极少更改或无需更改即可在 DB2 pureScale 环境中运行。因此,在许多情况下,无需修改应用程序即可利用 DB2 pureScale 的优势。
  • 持续可用性:DB2 pureScale 提供了一个完整的主动-主动配置,因此,如果某个成员发生故障,处理工作可在剩余的活动成员上继续进行。在发生故障期间,只有故障成员上正在修改的数据会临时不可用,直到数据库完成该数据集的修复,这个过程非常快。这与其他竞争性解决方案对比鲜明,在这些解决方案中,在数据库恢复阶段,整个系统都可能会冻结。
  • 降低了 TCO:DB2 pureScale 可轻松地按照这里演示的方式进行部署。DB2 pureScale 接口会处理在 DB2 pureScale 中集成的组件的部署和维护。这会减少导致与一些竞争性的部署和维护技术关联的学习曲线变陡峭的因素。

Storwize V7000 为冗余性、弹性、性能、高可用性和多站点灾难恢复提供了一个一流的存储解决方案。V7000 提供了许多后端存储驱动器大小和速度选项以及各种 RAID 技术,供公司根据性能和冗余需求进行选择。

图 1. IBM Storwize V7000
该图显示了 IBM Storwize V7000
  • 一个 2U 规格中包含双控制器和多达 12 个 (3.5") 或 24 个 (2.5") 驱动器
  • 多达 9 个扩展闭包可附加到一个控制闭包上
  • 多达 4 个控制闭包可集中在一起,共同形成单一磁盘子系统
  • 能够在闭包中混合使用各种驱动器大小和硬盘/固态驱动器
  • 每对控制器有 8 (8 Gbps) 光纤通道端口和 4 个 1-Gbps iSCSI 端口

IBM Storwize V7000 的重要优势

Easy Tier

对于需要一种轻松、经济高效的方式来自动管理其性能需求的客户,建议使用 Easy Tier。要使用 Easy Tier,只需使用任何两个或所有 3 个磁盘类(Nearline、Enterprise 和 Solid-State (SSD))的阵列来创建您的存储池。在这些池中运行您的正常工作负载,Easy Tier 将继续 “学习” 工作负载的特征并将盘区(从 16 MB 到 8 GB 的数据分段)迁移到合适的磁盘类。“热”(访问率高的)盘区将会迁移到高性能磁盘上,而更冷的盘区将会迁移到池中的低性能层级上。这样,既能创建一个高性能池,又能避免全部采用高性能驱动器的成本。此功能对主机应用程序是透明的,但会带来明显的性能优势。目前,Storwize V7000 仅支持两层 Easy Tier(“热” 和 “更冷”)。

复制服务和灾难恢复

IBM Storwize V7000 提供了各种各样的复制服务功能。多种形式的时间点副本(称为 FlashCopy®)适用于同一个存储机器上简单的冗余数据副本,或者对应用程序数据没有影响的数据挖掘功能。多种形式的对等远程复制 (Peer-to-Peer Remote Copy, PPRC) 适用于 2 或 3 站点复制和灾难恢复解决方案。FlashCopy 和 PPRC 的许多形式都可以结合使用,创造出适应能力极强的、高度可用的、性能高的存储解决方案。

实时压缩

能够将存储数据所需的磁盘容量减少达 80%,帮助提高效率和减少存储成本。生成这些压缩结果的能力也可转换为受磁盘输入/输出操作限制的系统中的性能改进。

易管理性

易于使用的图形管理界面使得部署和管理变得更加简单。


DB2 pureScale 对存储功能的利用

DB2 pureScale 利用存储器提供的功能来增强解决方案的可用性特征。已利用的两个重要功能是:创建一个 DB2 Cluster Services Tiebreaker Disk 的能力,以及通过几乎即时地防御任何被视为不健康的主机来提供超快故障转移和恢复的能力。


DB2 Cluster Services Tiebreaker 磁盘

DB2 pureScale 利用了 DB2 安装程序自动配置的一种磁盘线路中断器技术,只要给定的环境支持它。根据 pureScale 的设计,如果由于网络错误等事件而将机器集与其他机器分开,那么超过半数的集群的机器分组被视为健康的并将保持在线,而少于或等于集群的一半的机器分组将进入离线状态。DB2 pureScale 通过实现此技术来确保数据完整性,防止在一端处于离线状态时,集群的两个不相交的部分仍在继续运行。

考虑以下这种情况:我们在 pureScale 配置中有 4 个机器,各个机器有一个网络分区,前两个机器只能彼此通信,后两个机器也只能彼此通信。在这种情况下,集群的每一端都没有包含一半以上的机器,而且除非有一个磁盘线路中断器,否则两端都必须处于离线状态。磁盘线路中断器是一种磁盘资源,它在集群中基本上充当着另一个投票方。集群的每个不相交的一端会尝试获取磁盘线路中断器。根据定义,在任何时间点只有一个实体可获取磁盘线路中断器。获取磁盘线路中断器的一端将被视为集群的主要部分,将被视为可保持在线的集群部分。因此对于一个磁盘线路中断器资源,pureScale 集群中有一半的机器可能发生故障或被分开,而 pureScale 集群仍然能够安全地保持在线状态,从而处理数据库请求。


使用 SCSI-3 Persistent Reserve 的超快的故障转移

DB2 pureScale 利用 SCSI-3 Persistent Reserve [mode 0x7] 技术来实现集群中故障节点的快速驱逐和回避。DB2 pureScale 可确保它能够回避集群中的故障或反常节点,从而提供最高的数据完整性水平。通过不允许此故障节点访问存储,它没有导致错误的能力。可靠的集群解决方案的一个关键方面是及时回避故障节点的能力。通过利用此技术,pureScale 只需几秒钟即可回避故障成员,而其他技术至少需要 60 秒钟。如果环境支持 SCSI-3 Persistent Reserve 技术,DB2 将自动启用它。


设备驱动器和存储协议

当 DB2 pureScale 配置中的共享磁盘受 V7000 存储控制器支持时,您可以使用的多路径 I/O 解决方案包括 AIX® Multi-Path I/O (MPIO) 和 SDDPCM、Linux Device Mapper Multipath I/O (DM-MP)。您可以通过 Fibre Channel 或 Fibre Channel over Ethernet (FCoE) 协议使用这些多路径 I/O 解决方案。


验证矩阵

有关已验证的存储配置和它们支持的上述功能的完整列表,请查阅 存储硬件需求


为 pureScale 启用存储的其他 V7000 步骤

V7000 需要 6.4.0.1 或更高的固件版本才能实现 SCSI-3 PR 功能。在使用 DB2 10 Fixpack 1 或更高版本时,无需在 V7000 上执行任何其他配置即可启用 SCSI-3 PR。


在 pureScale 集群配置上启用 SCSI-3 PR

当运行 DB2 pureScale 安装程序时,它会查询底层的存储子系统,通过报告功能 SCSI 查询命令来检测指定的共享磁盘是否满足 pureScale SCSI-3 PR 需求。如果存储子系统满足 pureScale SCSI-3 PR 需求,那么 pureScale 安装程序会自动启用集群配置来支持 SCSI-3 PR。


验证 pureScale 集群配置中是否已启用 SCSI-3 PR

如果 pureScale 集群文件系统启用了 usePersistentReserve 属性,那么该 pureScale 集群会配置为使用 SCSI-3 PR。例如,在我们的测试集群中,我们发出了 db2cluster –cfs 命令来查询 pureScale 集群文件系统配置。

# ./db2cluster -cfs -list -configuration
OPTION                		 VALUE
---------------------- ----------------
...
tiebreakerDisks       		 gpfs2nsd
...
usePersistentReserve   	   yes
...
verifyGpfsReady      	           yes

DB2 pureScale 安装后步骤

在 DB2 pureScale 实例可供使用后,建议让 DB2 创建一个文件系统来存储数据和日志。这可以使用 db2cluster 命令完成:

  • 以 root 用户身份为数据创建一个文件系统,为日志创建一个文件系统。
    • # <DB2 Instance Path>/sqllib/bin/db2cluster –cfs –create –filesytem data –disk /dev/hdisk4
    • # <DB2 Instance Path>/sqllib/bin/db2cluster –cfs –create –filesytem log –disk /dev/hdisk5

    注意:“数据” 和 “日志” 文件系统默认情况下会在 /db2fs 下创建,可以在 DB2 pureScale 实例中的所有机器上访问它。

  • 以 root 用户身份将文件系统的所有者修改为 DB2 实例所有者,以便 DB2 实例所有者拥有此文件系统的完整访问权限。
    # chown db2sdin1:db2iadm1 /db2fs/data
    # chown db2sdin1:db2iadm1 /db2fs/log
  • 以实例所有者身份配置 DB2 pureScale 实例,以便接受远程客户端连接。这个步骤和后续步骤将由 DB2 实例所有者 ID 完成。默认情况下,DB2 pureScale 的安装将以下实体添加到 DB2 pureScale 实例中每个机器的 /etc/services 文件中:db2c_db2sdin1 36630/tcp。要允许远程连接,可以从 DB2 实例所有者发出以下命令:
    db2set db2comm=TCPIP
    db2 update dbm cfg using svcename 36630

    这是 DB2 在安装期间插入 /etc/services 文件中的值,该值定义了用于客户端服务器通信的端口。

  • 以实例所有者身份发出 db2start 命令来启动 db2instance。可以在任何时刻使用 db2instance 命令来查看 DB2 pureScale 实例的状态。
    > db2start
    06/14/2012 15:04:20     0   0   SQL1063N DB2START processing was successful.	
    06/14/2012 15:04:20     1   0   SQL1063N DB2START processing was successful.
    SQL1063N DB2START processing was successful.

    技巧:您可以使用 db2instance –list 命令查看 DB2 pureScale 集群的状态。

  • 以实例所有者的身份创建数据库,并将日志转移到日志文件系统:
    > db2 create db database_alias on /db2fs/data
    > db2 update db cfg for database_alias using newlogpath /db2fs/log
  • 对任何有效 pureScale 集群的客户端连接创建目录并连接到 pureScale 服务器。

理解一些 DB2 pureScale 用途

正如简介中所述,DB2 pureScale 增添了许多优势。以下是演示 pureScale 所提供的附加价值的用例的更多细节。DB2 pureScale 简介一节中记录的步骤已通过部署的简单性展示了更低的拥有成本。


添加和删除成员

DB2 pureScale 支持快速地向配置添加成员,而没有任何数据重分配方面的要求。DB2 安装二进制文件自动存储在 IIH 上,因此不需要在添加成员时访问原始的安装媒体。您可以运行以下命令来添加成员:db2iupdt –d –add –m ServerX:ServerX-ib0 db2sdin1

成员可以透明地启动或停止应用程序,所以应用程序不知道发生了更改。


自动工作负载平衡

DB2 pureScale 能够基于机器利用率水平,跨所有活动成员动态分配工作负载。多线程的 CLI 应用程序默认情况下将拥有连接级工作负载平衡,无需进行任何更改。可修改这种工作负载平衡,使它适用于事务级别而不是连接级别。对于多线程 Java 应用程序,可以更改连接字符串中的以下内容来利用事务级工作负载平衡:enableSysplexWLB=true

启动其他成员时,客户端会自动路由到新成员,而不会中断服务。成员也可依据指令在静默维护下停止,而应用程序甚至不知道此操作已发生。

您还应注意到,客户端的配置提供了它应连接到哪个成员的偏好。这称为客户端亲和性,在已存在分区工作负载时很有用。

注意:要利用 DB2 pureScale 功能,比如事务级工作负载平衡或客户端亲和性,客户端版本不低于 9.7 fixpack 1 Huo 关联的 JCC 版本。要关联各种修复包版本中包含的 JCC 版本,可查阅 DB2 JDBC 驱动程序版本


静默维护

在许多情况下,对系统应用维护至关重要,但您可能不希望对客户端应用程序带来任何负面影响。静默维护基本而言会支持完成一个成员上的所有事务,然后将该应用程序透明地路由到另一个成员。要耗尽成员 1 的资源,可以运行以下命令:db2stop member 1 quiesce

在某些情况下,您可能遇到这样的情形:启动了一个用户会话的 UOW,但这个 UOW 未提交或回滚。db2stop 处于静默状态,必须等待该 UOW 完成,然后才能停止该成员,除非指定了超时值。对于这样的情形,用户可指定一个超时值(比如 10 分钟,允许应用程序在 10 分钟内完成 UOW,如果在 10 分钟内未完成 UOW,那么 DB2 会自动强制关闭应用程序)。对于任何在 10 分钟内完成的应用程序,它们将在完成自己的 UOW 后自动重新路由到活动成员。要使用一个 10 分钟超时耗尽成员 1 的资源,可以运行以下命令:db2stop member 1 quiesce 10


高可用性

DB2 pureScale 的一个重要的价值主张是集成到架构中的高可用性特征。所有必要的资源都会受 DB2 pureScale 集群服务自动监视,并根据需要重新启动。连接到故障成员的应用程序会自动重新路由到一个活动成员,应用程序可在此处重新发出任何失败的事务。除了可能看到短暂的性能波动,连接到非故障组件的应用程序不会受到其他影响。

与竞争技术相比,DB2 pureScale 的一项差异化优势是,当一个成员发生故障时,不会发生集群范围的冻结。事实上,只有故障成员上正在更新的进程中的数据会在恢复完成之前临时不可用。在一个成员发生故障时,恢复会在几十秒内完成,所以数据可用性类似于下图。

图 2. 高可用性
高可用性

灾难恢复

DB2 pureScale 自身带有一个本地的高可用性解决方案,但许多客户仍然需要一个灾难恢复解决方案来满足业务连续性需求。DB2 pureScale 可以利用远程磁盘镜像和 Storwize V7000 Metro Mirror,并且适用于数据库复制产品。如果运行 DB2 pureScale 实例的整个主要站点发生故障,那么可以利用远程站点来维持业务操作的继续进行。DB2 pureScale 还可以利用传统的数据库备份、还原和前滚功能,这些功能也可用于实现灾难恢复解决方案。

图 3. 灾难恢复
灾难恢复

结束语

DB2 pureScale 提供了一个满足最严苛的客户需求的数据库解决方案。它的设计能够有效扩展,满足不同组织不断高涨和动态的需求。可在不影响现有应用程序的情况下启动更多成员,以满足峰值处理时间需求。然后,应用程序会在所有成员(包括新启动的成员)之间透明地进行平衡,无需对应用程序端进行任何更改。如果某个成员机器发生故障,那么应用程序会自动在其他活动成员之间路由。当故障成员机器重新上线时,应用程序会透明地路由到重新启动的成员。借助 DB2 pureScale 提供的所有功能,它仍然具有比其他解决方案更低的 TCO,因为 DB2 pureScale 支持简化的部署和维护模型。DB2 pureScale 背后的一个基本的设计点是屏蔽任何底层复杂性,使客户能够非常快地部署 DB2 pureScale。

DB2 pureScale 的所有价值主张都可以通过 IBM Storwize V7000 进行充分利用,IBM Storwize V7000 提供了针对超快的故障转移和磁盘线路中断器的开箱即用的功能。IBM Storwize V7000 还提供了行业领先的恢复能力,这进一步增强了该解决方案,从而可以满足大部分业务的需求。

参考资料

学习

获得产品和技术

  • 使用 IBM 试用版软件 开发您的下一个开发项目,这些软件可直接从 developerWorks 下载。
  • 现在您可免费使用 DB2。下载 DB2 Express-C,一个面向社区的免费的 DB2 Express Edition 版本,提供了与 DB2 Express Edition 相同的核心数据功能,为构建和部署应用程序提供了坚实的基础。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=932936
ArticleTitle=使用 IBM Storwize V7000 6.4.0.1 部署 DB2 pureScale
publish-date=06072013