Oracle RAC 10g(ocfs2):增加节点

By | 2014年9月19日

如题所示,本文将呈现如何在基于OCFS2搭建的Oracle RAC10g上增加新的集群节点。
开始本文的前提是:
1.部署完成的,基于OCFS2搭建的ORACLE RAC 10G系统(在本环境中,它为双节点RAC)
2.安装好的Linux主机,用于新增的节点。

环境说明:
原RAC环境中的节点配置如下:
节点服务器:
操作系统:Oracle Enterprise Linux 5.3
防火墙:关闭、开机禁用
SELINUX:禁用
用于Oracle的操作系统用户:oracle

RAC集群件软件的安装路径:
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/10g/grid

RAC数据库软件的安装路径:
ORACLE_BASE=/u01/app/oracle

节点一:
主机名:rac1
节点二:
主机名:rac2
节点三(新增节点):
主机名:rac3

IP地址分配:

注意:
1.新增节点需要和现有RAC集群中的节点的主机配置一致,即安装ORACLE软件前的预配置一致。
2.新增节点需要和现有RAC集群中的节点之间配置到彼此的SSH等价关系。
3.新增节点需要与现有RAC集群中的节点保持时间的同步性。
4.新增节点操作的过程中,需要保证现有RAC集群运行状态的正常。
5.新增节点需要和现有RAC集群中的节点的软件安装目录一致,即CLUSTERWARE与DATABASE的目录与现有集群的节点一致。

一、新增节点操作系统的环境准备(节点三的预配置)
网络相关的配置:
主机名、网卡状态/配置、防火墙状态、SELinux状态/配置

Linux系统参数的修改:
对sysctl.conf、limits.conf、login的修改

Linux内核模块的加载:
加载模块hangcheck-timer。

光盘介质的挂载:
fstab、mount -a

YUM的状态:
*.repo、yum repolist

软件包的安装:
for Oracle
yum install -y binutils* compat-db setarch compat-libstdc++-* control-center elfutils-libelf-* elfutils-libelf-devel-* elfutils-libelf-devel-static-* gcc-* gcc-c++-* glibc-* glibc-common-* glibc-devel-* glibc-headers-* ksh libaio-* libaio-devel-* libgcc libstdc++-* libstdc++-devel make sysstat unixODBC unixODBC-devel compat-libstdc++-33.i386 compat-libstdc++-296.i386 glibc.i686 glibc-devel.i386 unixODBC.i386 unixODBC-devel.i386 libaio.i386 libaio-devel.i386 libgcc.i386 libstdc++.i386 libstdc++-devel.i386 libaio-devel.i386 libXp.i386

for Oracle ASMLib
yum install -y oracleasm

for Oracle OCFS2
yum install -y ocfs2console.x86_64 ocfs2-tools.x86_64 ocfs2-tools-devel.x86_64 ocfs2-2.6.18-128.el5.x86_64

for iSCSI
yum install -y iscsi*

用户和组的创建:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
用户状态:

用户环境变量:

创建Oracle RAC软件目录结构:
mkdir -p /u01/app/{grid,10g,oracle}
mkdir /u01/app/10g/grid
分配权限:
chown -R oracle.oinstall /u01
创建完成后的目录结构:

创建Oracle OCFS2挂载点:
mkdir /ocfs

时间同步:
由于本环境是在VMWARE中进行的,所以时间同步的部分仅需要安装:VMware Toolbox即可。
安装完成后,启用时间同步即可:

SSH等价性:
关于等价性的配置,在RHEL、OEL中,主要的命令如下两条:
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub {rac1,ra1-priv,rac2,rac2-priv}
它们的具体配置,请参考以下RAC安装文档中的SSH部分:http://d-prototype.com/archives/881

达成的效果:
节点一:

节点二:

节点三:

共享存储资源的获得:
主要命令:
1. iscsiadm -m discovery -t sendtargets -p 192.168.56.130
2. iscsiadm -m node -T -p 192.168.56.130 -l

在上面获得的两个LUN的资源中:
/dev/sdb,OCFS2
/dev/sdc,共享数据盘

ORACLE ASMLib部分:

这样,节点三的操作系统的预配置的第一部分就完成了。

二、将节点三加入到已有的OCFS2
(OCFS2的安装与基本配置,参考文档:http://d-prototype.com/archives/1000)
执行这一阶段的前提是:
1.时间同步
2.正常的访问共享存储

在原有OCFS2的集群中,添加新增节点的说明。
为了给OCFS2中添加节点三,这里有两种方法选择。
1)图形化:OCFS2Console
现在原有的OCFS2的任意一个节点上操作:
调用OCFS2CONSOLE

OCFS2_ADD_1

OCFS2_ADD_2
上述操作正确完成的时候,OCFS2的配置文件会在OCFS2的各个节点上被变更:

2)命令行:o2cb_ctl

—— —— —— —— —— ——
配置O2CB。
当前已存在的集群的节点上的O2CB的状态:
(这里,选择节点一查看)

按照上面已有节点的O2CB状态,配置节点三的O2CB:
(节点三)

节点三挂载OCFS2

(在挂载的时候,可能出现的问题是“mount.ocfs2: Transport endpoint is not connected while mounting …”,关于该问题的说明,参考文档:http://d-prototype.com/archives/1049)

三、Clusterware:增加节点三
当前状态说明)
已有RAC:
节点一、节点二

新增节点:
节点三

RAC的当前状态:

调用addNode.sh新增节点。

图像化安装部分:
addNode_1

addNode_2

addNode_3

addNode_4

addNode_5

addNode_6
脚本的执行:
节点三:

节点一:

节点三:

脚本执行完后,RAC集群的状态:

addNode_7
这样,Clusterware添加节点三就完成了。

四、Database:节点三上数据库软件的安装
在已有的RAC集群的任意节点上发起“addNode.sh”:
这里选择节点一,以oracle用于登入:

图形化操作:
ora_add_1

ora_add_2

ora_add_3

ora_add_4

ora_add_5
执行脚本:
节点三:

ora_add_6
这样,新的节点上的数据库的安装就完成了。
这时候的集群资源状态没有变化,如下:

五、关于监听器
(NETCA的具体操作,图形化“netca”下一步即可,故不做更多的描述。)
1.在每个节点(当前三节点)上执行NETCA删掉监听器:LISTENER
节点一:

节点二:

节点三:

当监听器全部删除之后,集群资源的状态如下:

2.在任意一节点上执行NETCA,创建群集的监听器:LISTENER
这里选择节点二:

创建完成后,集群资源的状态如下:

六、使用DBCA给新节点增加Oracle实例(Instance)
在原有RAC的节点上调用DBCA。
这里选择节点一:

实例增加前的RAC资源状态:

dbca_1

dbca_2

dbca_3

dbca_4

dbca_5

dbca_6

dbca_7

dbca_8

dbca_9
这里选择“Yes”。

dbca_10

dbca_11
这样,实例的节点增加就完成了。

再次查看RAC资源状态:

七、节点三连接数据库查看集群状态
节点三操作:

八、终了
至此,给基于OCFS2的Oracle RAC 10g增加新节点的操作,全部完成。
——————————————————————-
Ending。

打赏

说点什么

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
提醒