DB2pureScale的基本信息
DB2pureScale是一种新的DB2可选特性,它允许您通过双机(active-active)配置将数据库扩展到一组服务器上,以便交付高水平的可用性和可伸缩性。在这种配置中,运行于各主机(或服务器)上的DB2副本可以同时读取和写入相同的数据。
数据共享组中的各成员可以通过一个非常有效的InfiniBand?网络直接与PowerHApureScale组件交互,如下图所示。这意味着各成员与集中化的锁和缓存设备之间建立了点到点(P2P)连接。
pureScale通过提供无限的容量、持续的可用性和应用程序程序透明性,DB2pureScale降低了业务增长的风险和成本。DB2pureScale在UNIX或x86系统上交付了无与伦比的数据库可伸缩性和可用性水平。本文所有测试步骤均在CenOS7.0下经过验证测试。
DB2pureScale特点如下:
1)近乎无限的容量
您可以轻松添加机器到集群中,进而向外扩展您的系统。DB2pureScaleFeature可扩展到包含128个成员,且具有一个集中管理工具,支持高效的向外扩展功能。它使用一种称为RemoteDirectMemoryAccess(RDMA)的技术,提供一种效率很高的节点间通信机制来辅助其扩展功能。
2)应用程序透明性
您可以原封不动地使用现有应用程序。在一个DB2pureScale环境中的运行的应用程序不需要了解集群中的不同成员,也不需要关注数据分区。DB2pureScaleFeature会自动将应用程序路由到最合适的成员。
DB2pureScaleFeature对其他数据库供应商使用的大量语法提供本机支持,允许这些应用程序在变动最小或没有变动的情况下在DB2pureScale环境中运行。事实上,在很多情况下,无需修改您的应用程序就可实现DB2pureScaleFeature的好处。
3)持续可用性
DB2pureScaleFeature提供一种具有内部冗余的主动-主动式架构。如果一个成员出现故障,可以继续处理余下的主动成员。在故障期间,只有在发生故障的成员上修改的数据暂时不可用,直至为该组数据完成数据库恢复。该方法与其他竞争性解决方案完全相反,后者在数据库恢复期间整个系统可能会冻结。
4)降低总拥有成本
DB2pureScaleFeature降低TCO,因为接口处理集成部件的部署和维护,这将减少与一些竞争性技术相关的陡峭的学习曲线。
一、部署需满足的前提
每台物理机器都具有以下特点:
它存在于一个支持客户端连接的公共网络上。
它有一个10千兆以太网卡用于成员与CF之间的高速低延迟通信。10千兆以太网还支持RDMAoverEthernet。
它有一个到一套通用磁盘的共享连接。
二、purescale安装环境准备工作
1.1.确保在参与DB2pureScale集群的所有物理机内在根级别设置了SSH(无密码)您可以通过在集群中的机器之间发出以下命令来验证SSH配置,确保它返回没有任何提示的有效主机名:
#ssh<targetmachine>hostname
在实例设置期间安装程序将设置实例级SSH。
2.在每台机器的/tmp和/var文件系统中至少有10GB的空闲空间;
3.确保将所有文件集作为OS安装的一部分予以安装cpp、gcc、gcc-c++、内核源、binutils、libstdc++32/64位文件。
4.识别要供DB2pureScaleFeature使用的磁盘
5.模拟虚拟磁盘,搭建nfs服务器
#serviceiptablesstop
#setenforce0
#yuminstallnfs*
#yuminstallportmaprpcbind
#安装nfs客户端配置需要共享的资源#vi/etc/exports
/cbusdb*(rw,sync)
/cbusdblog*(rw,sync)
启动nfsserver
servicerpcbindstart
servicenfsstart
#导出资源
exportfs-rv
#显示NFSServer上所有的共享卷
showmount-e
在客户端挂载共享目录
[root@cbusdb02/]#mount192.168.1.122:/cbusdb/cbusdb[root@cbusdb02/]#mount192.168.1.122:/cbusdblog/cbusdblog如果使用命令showmount-e192.168.1.122显示如下错误:
clnt_create:RPC:Portmapperfailure-Unabletoreceive:errno113(Noroutetohost)说明防火墙打开了,请close防火墙或者开启相应端口
6.修改主机名#vi/etc/hosts
#vi/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=主机名
#hostname主机名
7.设置ssh信任
ssh-keygen-tdsa
在.ssh目录下把三台主机的id_dsa.pub文件的内容复制到authorized_keys文件中,把authorized_keys放于三台主机的.ssh目录下8.8.安装db210.5#检查防火墙是否开启
#sestatus-v如果开启请编辑如下文件
#vi/etc/selinux/config
#设置selinux=disabled
#安装yuminstallcompat-libstdc++
#开始安装db2purescale
#./db2_install
#选择server版本并选择带有purescale特征
三、安装完成后的设置
1.分别为数据和日志创建一个文件系统:
#<DB2InstallPath>/bin/db2cluster-cfs-create-filesytemdata-disk/dev/sde
#<DB2InstallPath>/bin/db2cluster-cfs-create-filesytemlog-disk/dev/sdf
在该部署中的DB2安装路径将是/opt/ibm/db2/V9.8。默认情况下会在/db2fs下创建数据和日志文件系统,且可在DB2pureScale实例中的所有主机上访问该系统。
2.创建实例:
#/opt/ibm/db2/V10.1/instance/db2icrt-d-cfcbusdb21-cfnetcbusdb21-ib0-mcbusdb22-mnetcbusdb22-ib0-instance_shared_dev/dev/dm-3-tbdev/dev/dm-4-udb2sdfe1db2sdin1
3.添加成员和CF:
#opt/ibm/db2/V10.5/instance/db2iupdt-d-add-cfcbusdb22-cfnetcbusdb22-ib0db2sdin1
#添加member
#/opt/ibm/db2/V10.5/instance/db2iupdt-d-add-mcbusdb22-mnetcbusdb22-ib0db2sdin1
#/opt/ibm/db2/V10.5/instance/db2iupdt-d-add-mcbusdb23-mnetcbusdb23-ib0db2sdin1
4.将文件系统所有者修改为DB2实例所有者,这样它就有全权访问该文件系统:
在本例中,db2sdin1是实例所有者的名称,且db2iadm1是实例所有者的组名。
#chowndb2sdin1:db2iadm1/db2fs/data
#chowndb2sdin1:db2iadm1/db2fs/log
5.通过发出db2start命令启动DB2实例
您可以使用db2instance命令在任意点看到DB2pureScale实例的状态。
#db2start
10/03/201411:02:0800SQL1063NDB2STARTprocessingwassuccessful.
10/03/201411:02:0810SQL1063NDB2STARTprocessingwassuccessful.
SQL1063NDB2STARTprocessingwassuccessful.
6.您可以使用db2instance-list命令查看DB2pureScale集群的状态
7.创建数据库并将日志移动到日志文件系统必须从成员主机(而非CF主机)上运行以下命令:
#db2createdbtestdbon/db2fs/data
以上就是在虚拟机Linux上部署DB2pureScale实践过程,谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。