DB2 pureScale 的基本信息
DB2 pureScale 是一种新的 DB2 可选特性,它允许您通过双机(active-active)配置将数据库扩展到一组服务器上,以便交付高水平的可用性和可伸缩性。在这种配置中,运行于各主机(或服务器)上的 DB2 副本可以同时读取和写入相同的数据。
数据共享组中的各成员可以通过一个非常有效的 InfiniBand? 网络直接与 PowerHA pureScale 组件交互,如下图所示。这意味着各成员与集中化的锁和缓存设备之间建立了点到点(P2P)连接。
pureScale通过提供无限的容量、持续的可用性和应用程序程序透明性,DB2 pureScale 降低了业务增长的风险和成本。DB2 pureScale 在 UNIX 或 x86 系统上交付了无与伦比的数据库可伸缩性和可用性水平。本文所有测试步骤均在CenOS7.0下经过验证测试。
DB2 pureScale特点如下:
1)近乎无限的容量
您可以轻松添加机器到集群中,进而向外扩展您的系统。DB2 pureScale Feature 可扩展到包含 128 个成员,且具有一个集中管理工具,支持高效的向外扩展功能。它使用一种称为 Remote Direct Memory Access (RDMA) 的技术,提供一种效率很高的节点间通信机制来辅助其扩展功能。
2) 应用程序透明性
您可以原封不动地使用现有应用程序。在一个 DB2 pureScale 环境中的运行的应用程序不需要了解集群中的不同成员,也不需要关注数据分区。DB2 pureScale Feature 会自动将应用程序路由到最合适的成员。
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)DB2 pureScale Feature 对其他数据库供应商使用的大量语法提供本机支持,允许这些应用程序在变动最小或没有变动的情况下在 DB2 pureScale 环境中运行。事实上,在很多情况下,无需修改您的应用程序就可实现 DB2 pureScale Feature 的好处。
3)持续可用性
DB2 pureScale Feature 提供一种具有内部冗余的主动-主动式架构。如果一个成员出现故障,可以继续处理余下的主动成员。在故障期间,只有在发生故障的成员上修改的数据暂时不可用,直至为该组数据完成数据库恢复。该方法与其他竞争性解决方案完全相反,后者在数据库恢复期间整个系统可能会冻结。
4) 降低总拥有成本
DB2 pureScale Feature 降低 TCO,因为接口处理集成部件的部署和维护,这将减少与一些竞争性技术相关的陡峭的学习曲线。
一、部署需满足的前提
每台物理机器都具有以下特点:
它存在于一个支持客户端连接的公共网络上。
它有一个 10 千兆以太网卡用于成员与 CF 之间的高速低延迟通信。10 千兆以太网还支持 RDMA over Ethernet。
它有一个到一套通用磁盘的共享连接。
二、 purescale安装环境准备工作
1. 1. 确保在参与 DB2 pureScale 集群的所有物理机内在根级别设置了 SSH(无密码)您可以通过在集群中的机器之间发出以下命令来验证 SSH配置,确保它返回没有任何提示的有效主机名:
# ssh 《target machine》 hostname
在实例设置期间安装程序将设置实例级 SSH。
2.在每台机器的 /tmp 和 /var 文件系统中至少有 10 GB 的空闲空间;
3.确保将所有文件集作为 OS 安装的一部分予以安装cpp、gcc、gcc-c++、内核源、binutils、libstdc++ 32/64 位文件。
4.识别要供 DB2 pureScale Feature 使用的磁盘
5.模拟虚拟磁盘,搭建nfs服务器
#service iptables stop
#setenforce 0
#yum install nfs*
# yum install portmap rpcbind
#安装nfs客户端配置需要共享的资源#vi /etc/exports
/cbusdb *(rw,sync)
/cbusdblog *(rw,sync)
启动nfs server
service rpcbind start
service nfs start
#导出资源
exportfs -rv
#显示NFS Server上所有的共享卷
showmount -e
在客户端挂载共享目录
[root@cbusdb02 /]# mount 192.168.1.122:/cbusdb /cbusdb[root@cbusdb02 /]# mount 192.168.1.122:/cbusdblog /cbusdblog如果使用命令showmount -e 192.168.1.122显示如下错误:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)说明防火墙打开了,请close防火墙或者开启相应端口
6.修改主机名#vi /etc/hosts
#vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=主机名
#hostname 主机名
7.设置ssh信任
ssh-keygen -t dsa
在.ssh目录下把三台主机的id_dsa.pub文件的内容复制到authorized_keys文件中,把authorized_keys放于三台主机的.ssh目录下8. 8.安装db210.5#检查防火墙是否开启
#sestatus -v如果开启请编辑如下文件
#vi /etc/selinux/config
#设置selinux=disabled
#安装yum install compat-libstdc++
#开始安装db2purescale
#./db2_install
#选择 server版本并选择带有purescale特征
三、安装完成后的设置
1.分别为数据和日志创建一个文件系统:
#《DB2 Install Path》/bin/db2cluster -cfs -create -filesytem data -disk /dev/sde
#《DB2 Install Path》/bin/db2cluster -cfs -create -filesytem log -disk /dev/sdf
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)在该部署中的 DB2 安装路径将是 /opt/ibm/db2/V9.8。默认情况下会在 /db2fs 下创建数据和日志文件系统,且可在 DB2 pureScale 实例中的所有主机上访问该系统。
2.创建实例:
#/opt/ibm/db2/V10.1/instance/db2icrt -d -cf cbusdb21 -cfnet cbusdb21 -ib0 -m cbusdb22 -mnet cbusdb22 -ib0 -instance_shared_dev /dev/dm-3 -tbdev /dev/dm-4 -u db2sdfe1 db2sdin1
3.添加成员和CF:
#opt/ibm/db2/V10.5/instance/db2iupdt -d -add -cf cbusdb22 -cfnet cbusdb22-ib0 db2sdin1
#添加member
#/opt/ibm/db2/V10.5/instance/db2iupdt -d -add -m cbusdb22 -mnet cbusdb22-ib0 db2sdin1
#/opt/ibm/db2/V10.5/instance/db2iupdt -d -add -m cbusdb23 -mnet cbusdb23-ib0 db2sdin1
4.将文件系统所有者修改为 DB2 实例所有者,这样它就有全权访问该文件系统:
在本例中,db2sdin1 是实例所有者的名称,且 db2iadm1 是实例所有者的组名。
#chown db2sdin1:db2iadm1 /db2fs/data
#chown db2sdin1:db2iadm1 /db2fs/log
5.通过发出 db2start 命令启动 DB2 实例
您可以使用 db2instance 命令在任意点看到 DB2 pureScale 实例的状态。
#db2start
10/03/2014 11:02:08 0 0 SQL1063N DB2STARTprocessing was successful.
10/03/2014 11:02:08 1 0 SQL1063N DB2STARTprocessing was successful.
SQL1063N DB2START processing was successful.
6.您可以使用 db2instance -list 命令查看 DB2 pureScale 集群的状态
7.创建数据库并将日志移动到日志文件系统必须从成员主机(而非 CF 主机)上运行以下命令:
#db2 create db testdb on /db2fs/data
上面就是Linux系统中在虚拟机上搭建DB2 pureScale的方法介绍了,在部署的时候要了解你的系统是否满足部署前提,以防部署出错。