存档

文章标签 ‘集群’

在Windows 上利用 MSCS 创建高可用性的 DB2 集群服务

2009年10月19日 hashei 3 条评论

周末加班,事先得知是帮人建一个Windows的故障转移集群。虽说现在主要精力是在中间件上,但Windows毕竟还是深入学习过一年的嘛,更何况在WebSphere和WebLogic上都做过MSCS的集群,所以以为不过是小菜一碟,最后想不到从6点搞到了凌晨1点。

我们首先是采用Oracle在Windows下的套路:两台主机上都启用数据库实例,数据库则存放在共享存储上,通过在集群资源中添加DB2的通用服务,从而达到数据库服务的故障转移。

应该说思路没什么问题,但是实行起来有个问题,就是在有用户连接的情况下,停止db2服务会失败,第二次再去停止才能够停下来,这样手动转移集群就会有点问题。于是我们就想着法子怎么再数据库服务停止前执行一下中断所有数据库链接的命令……苦思冥想、多次尝试,弄的焦头烂额。

最后上IBM developerworks找文档,才知道原来根本不用这么麻烦,实例只需一份,而且DB2早就给你准备好了db2msce工具,只要写一份db2mscs.cfg的配置文件:

DB2_INSTANCE=DB2                     //指定需要转换的实例名称
DB2_LOGON_USERNAME=dbdomain/db2admin //指定登录实例的域用户账号
DB2_LOGON_PASSWORD=0000              //指定登录实例域用户账号的密码
CLUSTER_NAME=MYCLUSTER		     //指定群集的名称

GROUP_NAME=DB2 Group A		    //指定用于该实例的组名称
DB2NODE=0                           //指定该组资源对应的 DB2 节点号
IP_NAME= MscsA                      //指定用于该实例的 IP 地址资源的名称
IP_ADDRESS=192.168.192.31	    //指定 IP 地址资源的IP地址属性
IP_SUBNET=255.255.255.0		    //指定 IP 地址资源的子网掩码
IP_NETWORK=Public Network         //指定 IP 地址资源绑定的网络连接
NETNAME_NAME = MscsAName	   //指定网络名资源的名称
NETNAME_VALUE = DataCenter         //指定网络名资源的机器名属性
NETNAME_DEPENDENCY = MscsA        //指定该网络资源名对应的 IP 地址

资源的名称

DISK_NAME=DISK E:		   //指定该节点需要使用的磁盘资源
INSTPROF_DISK=E:                  //指定该节点目录所在的磁盘资源

上述配置文件中的NAME选项都可以随便填写,以简单明了为主,IP_ADDRESS是DB2服务的浮动IP,IP_NETWORK应该写提供集群外网服务的那块网卡名称,NETNAME的那三个选项可以不填,不影响使用(因为都是用IP连接的)。

然后运行db2mscs -f:db2mscs.cfg命令(注意F不是指盘符,将db2mscs.cfg放于db2mscs同一个目录下),你就会看到集群服务中自动添加了一个资源组:DB2 Group A,添加了一个名为DB2的DB2类型服务,而这个服务类型之前是没有的。

除了这种Hot-Standby的配置方式,还有互备(Mutual Takeover)的模式。可以见这篇文章《在MSCS环境下实现DB2分区服务器群集实例》

附一份官方文档Implementing IBM DB2 Universal Database Workgroup Server Edition V8.2 with Microsoft Cluster Server,关于DB2数据库的准备工作,以及配置文档的各参数详细解释,以及管理工具的设置,可以参考这篇文章。

IBM developerworks上的两篇文章,虽然是win2000环境下,但过程一样,而且作者遇到的问题可以给我们借鉴。

http://www.ibm.com/developerworks/cn/data/library/techarticles/0305sunqin/0305sunqin1.html

http://www.ibm.com/developerworks/cn/data/library/techarticles/0305sunqin/0305sunqin2.html

最后得出个结论,以后工作前,做功课必不可少。

分类: Windows 2003 标签: , ,

WebLogic9和10集群安装配置过程

2009年9月6日 admin 2 条评论

weblogic的集群很早以前做过,当时写了一份文档,最近真好又有机会实验了Weblogic 10.3的集群配置,两相比较,同时对照着文档过了一遍,确定下文对weblogic9和10都适用。截了图也方便新手学习。

环境

平台:两台Windows 2003 SP2(SP版本要一样),必须位于同一网段,并且必须是IP广播(UDP)可到达的

软件:Weblogic9.1

拓扑

在A机上建立一个Administrator Server,作为管理节点;在AB机上分别建立Managed Server,加入集群appCluster,作为应用程序的运行环境;在B机上分别建立Proxy Server,作为提供外部访问的服务地址。

机器 配置信息 角色 备注
app1 IP:*.*.*.* PORT:7001 AdminServer 管理服务器
app1 IP: *.*.*.*PORT:7002 Managed Server 受管服务器
app2 IP: *.*.*.*PORT:7002 Managed Server 受管服务器
app2 IP: *.*.*.*PORT:80 Proxy Server 代理服务器

安装过程

在机器A上

创建新的Domain

选择“Tool- Configuration Wizard”,单击“下一步”按钮

clip_image002

选择安装域源

选择安装“WebLogic Server”,单击“下一步”按钮

clip_image004

配置管理员用户名和密码

输入Weblogic管理员管理服务器(AdminServer)的用户名和密码,在此以“weblogic”作用登录管理服务器的用户名和密码,单击“下一步”按钮

阅读全文…

分类: weblogic, 中间件 标签: ,

Server Node Cell Cluster-WebSphere拓扑结构及术语介绍下

2009年5月4日 hashei 1 条评论

紧接上文,我们了解了Application Server,profiles,Managed Node、Umanaged Node等概念,知道了最简单的stand-alone拓扑结构。那为了弥补stand-alone模式的可扩展性(Scalability)可靠性(reliability)要求,有必要提出Cluster的解决方案。

cluster

       这副图里我们可以看到分布在两台Machine上的两个Node,每个Node含有三个Application Server,其中两个Server与另一个Node中的两个Server构成了Cluster,这个Cluster通过Node agent被一个Deployment Manager管理。同时我们可以看到每个Node另有一个单独的Application Server,这个Server和之前介绍的Stand-alone application server可以看作是等价的,只是现在被加入到Network Deployment中,接受DM的统一管理。整个的绿色大背景则是一个单元(Cell)。

术语四 Deployment Manager(DMgr):在分布式拓扑中管理一个或多个节点的特殊profile,通过Node agent把配置和管理动作传达到每个Node中的Server上。可以通过PMT工具建立DM profile,它包含了主配置库,以及各个节点上有的配置文件——启动这个节点所需的XML配置和应用程序文件 。由此可见,各个节点的配置文件是DM上有的子集,所以当我们修改节点上应用里WEB-INF下的诸如web.xml文件,除了在节点上的config目录中要做相应修改,DM节点上config目录里同样要修改,否则重启dm后,一切配置信息将同步到和DM里有的状态。

cell

术语五 单元(Cell):是一个逻辑上的管理域的称呼,提供了对节点的单独管理入口,这个域由跨多台主机上的Node和一个DM组成,

了解了以上这些术语,那集群的概念就很简单:集群就是一组多个Application Server组成的group,运行着同样的应用程序。一个集群可以运行在一个Node上,或者同一台机器的不同node上(垂直集群),可以运行在不同机器的不同Node上(水平集群)。由此提供故障转移。配合web server,则能做到负载均衡。

web with cluster

有了这些概念,再大的Topology都不怕。

下文将讲述建集群的详细操作步骤。