高手教你用VCS配置DB2双机-高级

转自:http://tech.ddvip.com/2007-05/117967589525229.html

 

   前面我们通过 Veritas Cluster Server for DB2双机-入门一文已经向大家介绍了DB2双机的基本原理和配置方法,本文将接续上文,继续介绍DB2的高级需求-大规模并行处理(Massively Parallel Processing, MPP)-环境下,用户如何利用VCS配置双机互备环境。

  需要强调的是,本文是接续上文Veritas Cluster Server for DB2双机-入门,继续进行双机介绍,因此在看本文之前,最好先看看本文上篇Veritas Cluster Server for DB2双机-入门。

  MPP简介

? 首先介绍一下DB2的大规模并行处理(MPP)的含义。MPP其实就是多台计算机协同工作,共同完成同一个任务,目的就是为了能够使用一些比较廉 价的服务器一起工作,提供给用户单机无法完成的服务。而双机互备就是指当这些机器中的某一天出现故障的时候,其他的服务器可以接管运行在其上的服务请求, 保证服务的高可用性。

  大规模并行处理有两种方式:无共享并行方式和共享磁盘并行方式。

   无共享并行方式是指集群中的数据库系统各自使用自己的数据资源,将协调程序发给自己的数据请求在自己的数据库上面查询,再将结果返回,由协调程序来将各 个数据库发过来的数据组合成大的数据集并且发送给用户。这种工作模式的优点是易于部署,结构简单清晰;缺点是缺乏高可用性,节点中任何一个节点的损坏都会 导致其数据资源不可获得,破坏了数据请求的完整性。其工作模式如下图所示:

  图1 无共享并行体系结构

   共享磁盘共享方式是指多个数据库同时工作,但是他们所读写的资源都是在一个共享的磁盘库中。他们之间的访问冲突是通过锁机制来解决的。它的优点是高可用 性,任何一个节点的故障都不会对数据访问造成影响,每一个节点都可以访问全部的数据资源;这种缺点当然也是有缺点的:随着服务器数量的增加,锁的数量以及 数据库访问失败的频率也会指数级的增加,会成为数据库访问的瓶颈。然而,在目前的实际应用中,一般集群数量不会太多,所有这个因素可以忽略不记,而其带来 的高可用性是大多用户选择它的主要原因。其工作原理如图所示:

高手教你用VCS配置DB2双机-高级_第1张图片

  图2,共享磁盘并行体系结构

  Symantec SFCFS简介

?SFCFS 的全称是Storage Foundation Cluster File System;它是symantec旗下SF产品线的一员,其具体的安装配置过程稍后会有仔细的讲解。现在就让用户大概了解一下:SFCFS其实和SF是 非常相似的,都是用来管理磁 盘和文件系统的。对于磁盘组,卷和文件系统的概念和SF是完全一样的。它和SF唯一的不同是它支持多个节点同时访问一个文件系统上面的数据,由SFCFS 来进行文件锁管理,而SF中对于文件系统的访问是具有独占性的。SFCFS允许多个节点同时访问的特点就是针对数据库的并行操作的需求而来的,所以它非常 适合进行数据库的并行处理模式的管理。

  DB2的配置

  在DB2的配置中,我们先做好如下假设:由system1和system2来组成集群,其IP分别是192.168.0.1 192.168.02,磁盘组名为DB2DG,卷为DB2Vol,文件系统将挂载在/home/db2目录下。

  注意:在配置过程中将不再说明DB2的基础配置,配置的详细信息请看Veritas Cluster Server for DB2双机-入门。

  1.安装SFCFS的程序在system1和system2上;

  2.创建SFCFS需要使用的共享磁盘和共享文件系统(原理和细节稍后会有专题,这里只是配置):

  a)在两台机器上面运行下面命令:

  i.# vxdctl -c mode

  得到的结果可能是下面两个中的任意一个:

  cluster active - MASTER

  cluster active – SLAVE

  注意,下述的命令只能在返回是master的那台机器执行,因为它是整个cluster中的主节点。

  b)创建共享磁盘组

  # vxdg -s init DB2DB c0t0d0; -s就是共享(share)的意思;

 c)将新建的磁盘组以共享模式加入到system1和system2:

  # vxdg deport DB2DG

  # vxdg -s import DB2DG

  注意:如果在这里没有用-s参数,那么磁盘组将被第一个执行导入的系统使用,其他系统的导入操作将会失败。必须以共享模式导入才能被多个系统使用。

  d)创建卷:

  # vxassist -g DB2DG make DB2Vol 5g

  e)创建文件系统:

  # mkfs -F vxfs -o largefiles /dev/vx/rdsk/DB2DG/DB2Vol

  f)将新建的文件系统以共享模式加载到两台机器上面:

  # mkdir /home/db2

  # mount -F vxfs -o cluster /dev/vx/dsk/DB2DG/DB2Vol /home/db2

  3.在两台机器创建相同的数据库管理组和管理员,并且加上DB2的注册码(配置方法见入门篇):

  4.安装DB2的程序到两台机器上,将数据文件指定到共享盘所在的目录/home/db2下面;

  5.修改db2nodes.cfg文件;

  这里我想详细的讲述一下这个文件的格式,因为这个文件的配置正确与否之间关系到了配置能否成功,而对于这个文件的内容,即使很多DB2的老用户也不是很清楚:

  这个文件的一个常见配置如下所示:

  0 sysA 0

  1 sysA 1

  2 sysB 0

  3 sysC 0

  4 sysD 0

   这个文件的每一行是一个节点的信息,其中第一列数字是唯一编号,表示后面的系统分区是一个集群的成员;第二列是主机的名称,一般就是系统的名称,表示这 个成员是运行在哪台主机上的;第三列是端口偏移量,如果某个系统上面部署了多个分区提供数据库服务的话,DB2将通过不同的端口服务来区别不同的分区。

  所以,根据上述解释,将该文件修改如下:

  0 system1 0

  1 system2 1

  6.确认数据库安装配置正常:

  在每一台机器执行下列命令:

  # su - db2inst1

  $ db2start

  $ db2stop

  如果配置正确,那么下列命令在各个系统都能工作正常。

  这样,数据库的配置就已经完成了。

  VCS的配置

  1.配置集群文件系统服务组:

  在安装了SFCFS之后,VCS自动为集群文件系统创建一个原始的服务组,我们只需要稍微改变它一下即可。

  a)在该磁盘组下面创建Cluster Disk group资源和Cluster Volume资源;并修改其属性,让它们控制DB2DG和DB2Vol的状态;

  b)在原有的集群挂载点资源(CFSMount)上设置依赖属性,让其依赖于集群卷;在设置集群卷依赖与集群磁盘组;

  c)设置后的关系图如图所示:

高手教你用VCS配置DB2双机-高级_第2张图片

  图3,集群文件系统依赖关系图

  2.配置DB2服务组:

  a)创建DB2资源,IP资源和网卡资源,分别设定其属性,IP就是各个系统的主机IP地址;

  b)设置资源间的依赖关系:DB2数据库依赖IP资源,IP资源依赖网卡资源;

  c)设置好的关系图如图所示:

高手教你用VCS配置DB2双机-高级_第3张图片

  图4,DB2数据库的依赖关系

  3.建立集群服务组和DB2服务组之间的依赖关系:

  a)右键点击VCS界面左侧新建的DB2服务组;

  b)选择“link”,然后选择CFS服务组,选择online local以及soft模式;

  c)这样DB2服务组就依赖与CFS服务组的状态了,如果CFS在某台系统故障,则其上的数据库服务就会停止,对其资源的请求将会被DB2转移到其他数据库节点上面;

  4.测试工作状态:

  让DB2服务组在两台机器同时上线,如果成功,则说明配置已经生效,并能正常使用。

?数据库作为现在数据管理不可或缺的一个部分,在生产环境中有着重要的地位。因此,如何能够使数据库能够稳定,高效的工作,成为每一个数据库管理员和系统管理员重要的工作。所以配置数据库双机互备和双机热备的配置方法,是每一个数据库管理员的基础。

  通过本文及一些相关文章大家已经了解到DB2数据库的管理和配置方法,下面我们还将为大家介绍oracle和sybase的集群的配置方法,并可以比较这些主流数据库的不同之处。

你可能感兴趣的:(高手教你用VCS配置DB2双机-高级)