Feb 28

[原]在红旗5.0上基于ASM方式安装Oracle 10g RAC [2] 晴

linuxing , 12:07 , 数据库 » Oracle , 评论(0) , 引用(0) , 阅读(18275) , Via 本站原创 | |
 让我们继续昨天的安装。
三、准备共享磁盘
1、准备OCFS2共享磁盘
OCFS2 是一个集群文件系统,它允许集群中的所有节点通过标准文件系统接口并发访问设备。这样便可以对需要在集群中运行的应用程序进行轻松地管理。
红旗DC Server 4.1 SP1上有OCFS 第 1 版,它使 Oracle RAC 用户可以运行集群化数据库而不必处理 RAW 设备。文件系统是为存储数据库相关文件如数据文件、控制文件、重做日志、归档日志等设计的。
而红旗DC Server 5.0上已经包括了OCFS第 2 版, OCFS2 则是作为一个通用集群文件系统而设计的。使用它,用户不但可以在共享磁盘上存储与数据库相关的文件,而且还可以存储 Oracle 二进制文件和配置文件(共享的 Oracle Home),从而使 RAC 的管理变得更简单。
当前,我们将使用 OCFS2 存储需要由 Oracle 集群件软件共享的两个文件。(除了这两个文件以外,还将使用此空间存储所有 Oracle RAC 实例的共享 SPFILE。)
正如[原]红旗DC 5.0上安装oracle 10g R2 RAC写过的,只有采用smp核心的才需要手动添加rpm包。详细的请参考上面的文章配置。
# rpm -ivh ocfs2-2.6.9-11.AXsmp-0.99.14-1.2AX.i386.rpm

然后,启动服务:
# /etc/init.d/o2cb load

◎启动ocfs2console配置工具(两台机器上都要配置)
ocfs2console是用于在集群中的每个节点上生成和配置 /etc/ocfs2/cluster.conf 文件,而且还可以创建和启动集群堆栈 O2CB。如果 /etc/ocfs2/cluster.conf 文件不存在,ocfs2console 工具将创建该文件以及一个默认集群名为 ocfs2 的新集群堆栈服务 (O2CB)。
该操作以 root 用户帐户在集群的所有节点上执行:
# ocfs2console &

点击在新窗口中浏览此图片
★选择[Cluster] -> [Configure Nodes...],出现下面的信息后:
点击在新窗口中浏览此图片
★确认后,出现节点的配置信息:(此时会启动o2cb服务)
点击在新窗口中浏览此图片
★点击[添加],然后根据信息添加节点:
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
★点击[应用]后,应该看到节点都是在[Active]状态:
点击在新窗口中浏览此图片
★再查看配置文件是否正确:
# cat /etc/ocfs2/cluster.conf
node:
       ip_port = 7777
       ip_address = 219.142.7.143
       number = 0
       name = ora01
       cluster = ocfs2

node:
       ip_port = 7777
       ip_address = 219.142.7.144
       number = 1
       name = ora02
       cluster = ocfs2

cluster:
       node_count = 2
       name = ocfs2

※按同样的步骤,在节点2上再重复一次。(不能直接拷贝配置文件)
◎格式化并挂载ocfs2分区(只在主节点上操作)
在格式化前,需要确认o2cb服务处于联机状态,因为它需要确保在集群的某个节点上未挂载该卷。查看联机状态可以用:
# service o2cb status
Module "configfs": Loaded
Filesystem "configfs": Mounted
Module "ocfs2_nodemanager": Loaded
Module "ocfs2_dlm": Loaded
Module "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking cluster ocfs2: Online
Checking heartbeat: Not active

格式化ocfs2分区可以用mkfs.ocfs2命令,或ocfs2console控制台。
★使用ocfs2console进行,使用菜单 [Tasks] - [Format],如下:
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
★命令方式:
# mkfs.ocfs2 -b 4K -C 32K -N 4 -L oradatafiles /dev/sdb1

★然后是挂载分区
[color=#FF1493](要使用datavolume选项)[/color]

使用图标[mount],输入下面的信息:
点击在新窗口中浏览此图片
成功后看到如下信息:
点击在新窗口中浏览此图片
★同样的,可以使用命令进行:
# mount -t ocfs2 -o datavolume /dev/sdb1 /u02/oradata/orcl

★查看挂载信息:
引用
# mount
/dev/sda1 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
configfs on /config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sdb1 on /u02/oradata/orcl type ocfs2 (rw,datavolume)

★在节点2上也进行同样的挂载。(不用再次格式化了)
※注意:根据Oracle关于OCFS2的说明,Oracle 数据库用户必须使用 datavolume 挂载选项安装任何将包含表决磁盘文件、集群注册表 (OCR)、数据文件、重做日志、归档日志以及控制文件的卷,以确保 Oracle 进程打开包含 o_direct 标志的文件。其他作用则不需要该选项。
◎测试并设定自动挂载(两台机器上都进行)
★进行简单测试:在两个节点上分别建立文件,查看另一节点能否同步看到该文件。成功即可。
★修改挂载点权限(两台机器上都进行)
# chown -R oracle.dba /u02/oradata/orcl
# chmod 775 /u02/oradata/orcl
★设定自动挂载
修改/etc/fstab文件,添加:
引用
/dev/sdb1     /u02/oradata/orcl    ocfs2   _netdev,datavolume     0 0

※注意:_netdev 挂载选项是 OCFS2 卷所必需的;它指示将在网络启动后挂载该卷以及在关闭网络前卸载该卷。
修改完毕后,最后再重复mount一次该分区,以确保一切正常:
# umount /u02/oradata/orcl
# mount /u02/oradata/orcl

★通过o2cb服务可以查看到心跳已经建立成功:
# service o2cb status
Module "configfs": Loaded
Filesystem "configfs": Mounted
Module "ocfs2_nodemanager": Loaded
Module "ocfs2_dlm": Loaded
Module "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking cluster ocfs2: Online
Checking heartbeat: Active

◎设定自动自动o2cb服务(两台机器上都进行)
# chkconfig --list o2cb
o2cb            0:off   1:off   2:off   3:off   4:off   5:off   6:off
# umount /u02/oradata/orcl/
# /etc/init.d/o2cb offline ocfs2
Cleaning heartbeat on ocfs2: OK
Stopping cluster ocfs2: OK
Unloading module "ocfs2": OK
# /etc/init.d/o2cb unload
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK
# /etc/init.d/o2cb configure
Configuring the O2CB driver.
Load O2CB driver on boot (y/n) [n]: y
Cluster to start on boot (Enter "none" to clear) [ocfs2]:
Writing O2CB configuration: OK
Loading module "configfs": OK
Mounting configfs filesystem at /config: OK
Loading module "ocfs2_nodemanager": OK
Loading module "ocfs2_dlm": OK
Loading module "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
Starting cluster ocfs2: OK
# chkconfig --level 345 o2cb on
# chkconfig --list o2cb
o2cb            0:off   1:off   2:off   3:on    4:on   5:on    6:off

同样的步骤,在节点2上再操作一次。
◎到这,ocfs2分区已经设定完毕。
在部分版本的ocfs2上,可能会根据实际采用的共享盘柜情况,调整 O2CB 心跳阈值。这主要是因为对表决磁盘的访问太慢(超过了 O2CB 心跳阈值),会导致 Oracle 集群件软件(以及节点)崩溃。
可以通过修改/etc/sysconfig/o2cb 文件,添加:
# O2CB_HEARTBEAT_THRESHOLD:Iterations before a node is considered dead.
O2CB_HEARTBEAT_THRESHOLD=301
强制的把心跳改为301,也就是:
引用
[隔离时间(秒)] = (O2CB_HEARTBEAT_THRESHOLD - 1) * 2
(301 - 1) * 2 = 600 秒

该修改只在出现问题的时候操作,一般不要改动它。而且,红旗DC Server 5.0上使用的ocfs2版本也不需要增加该值。

2、准备ASM自动存储管理(重点)
ASM 用于使管理员不必再管理单个文件和驱动器。ASM 内置在 Oracle 内核中。通过它,DBA 可以全天候管理 Oracle 集群实例的单个实例以集群实例的数千个磁盘驱动器。将把所有要用于 Oracle 的文件和目录包含在磁盘组中。ASM 跨所有可用磁盘驱动器并行执行负载平衡,以防止热点并最大限度地提高性能(甚至对于快速更改数据使用模式也是如此)。
我将在这里配置 ASM,以将其用作所有 Oracle 物理数据库文件(数据、联机重做日志、控制文件、归档重做日志)以及闪回恢复区的文件系统/卷管理器。 以代替原来使用raw设备或OCFS2的方式。
◎安装ASM内核模块
从红旗的安装光盘CD2上,找到该模块,并安装:
# rpm -ivh oracleasm-2.6.9-5.ELsmp-2.0.0-1.4AX.i386.rpm

◎加载ASM内核模块
# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
Default user to own the driver interface []:oracle
Default group to own the driver interface []:dba
Start Oracle ASM library driver on boot (y/n) [n]:y
Fix permissions of Oracle ASM disks on boot (y/n) [y]:y
Writing Oracle ASM library driver configuration:[  OK  ]
Creating /dev/oracleasm mount point:[  OK  ]
Loading module "oracleasm":[  OK  ]
Mounting ASMlib driver filesystem:[  OK  ]
Scanning system for ASM disks:[  OK  ]

◎创建ASM磁盘(只在一个节点上操作)
引用
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb2
Marking disk "/dev/sdb2" as an ASM disk [  OK  ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb3
Marking disk "/dev/sdb3" as an ASM disk [  OK  ]
# /etc/init.d/oracleasm createdisk VOL3 /dev/sdb4
Marking disk "/dev/sdb4" as an ASM disk [ OK  ]

★列出所有ASM磁盘
# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3

★在另一个节点上扫描一次
[root@ora02 opt]# /etc/init.d/oracleasm scandisks
Scanning system for ASM disks:                             [  OK  ]
[root@ora02 opt]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3

★到这,ASM共享磁盘已经建立完毕。若增加错磁盘,可以用下面的命令删掉:
# /etc/init.d/oracleasm deletedisk VOL4
Removing ASM disk "VOL4" [  OK  ]

四、安装Oracle 10g RAC 集群软件
累了,明天继续吧!
Tags: , , ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]