在虚拟机Linux上部署DB2pureScale实践过程

03-12

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 会自动将应用程序路由到最合适的成员。

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

在该部署中的 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上部署DB2pureScale实践过程,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。