Oracle RAC 高可用性是建立在共享存储概念之上的,因此共享存储的方式选择和部署对数据库性能就显得非常重要了。
Oracle 集群需要存储的软件和数据
项目
内容
最少磁盘空间
Clusterware 软件
集群软件
500M(安装完成后不变)
voting disk(表决磁盘)
记录集群节点信息
20M
OCR(Oracle 集群注册)
存储集群配置信息
100M
Oracle 数据库软件
数据库软件
1.3G(安装完成后不变)
RAC 数据库
存储所有数据库文件
1.2G(使用过程中不断增加)
Recovery File(恢复文件)
快速恢复数据
2G
Oracle 集群中各部分的存储机制(非第三方集群文件系统)
项目
存储系统
存储位置
Clusterware 软件
NFS(要求NAS设备)、ext2、ext3 等本地文件系统
本地磁盘、网络磁盘(NFS)
voting disk
OCFS2、Raw device、NFS
共享磁盘、网络磁盘(NFS)
OCR
OCFS2、Raw device、NFS
共享磁盘、网络磁盘(NFS)
数据库软件
OCFS2(共享)、NFS(网络)、ext2、ext3 等本地文件系统
本地磁盘、网络磁盘(NFS)、共享磁盘(OCFS2)
RAC 数据库
OCFS2、ASM、Raw device、NFS
共享磁盘、网络磁盘(NFS)
恢复文件
OCFS2、ASM、NFS
共享磁盘、网络磁盘(NFS)
从存储位置中可以看出,所有的内容均可使用网络磁盘,但是网络磁盘要求有 NAS 设备。如果不使用 NAS 设备,除软件外,其它的数据都必须存储在共享磁盘上。对于 Oracle 数据库软件,如果要存储在共享磁盘上(所有服务器共享一个 Oracle Home),需要使用 OCFS2 文件系统。
Clusterware 和 Oracle 数据库存储选项
存储选项
支持的文件类型
Clusterware
数据库
恢复文件
ASM
否
是
是
OCFS2
是
是
是
Raw Device
是
是
否
NFS
是
是
是
从上表中可以看出,想要使用单一文件系统,必须使用 OCFS2 或 NFS 文件系统。但是,Oracle 10g 提供了非常方便的存储管理系统 ASM,因此,大多数情况下建议使用 OCFS2 来存储 Clusterware 的数据和 Oracle 数据库软件,使用 ASM 来存储数据库文件。
综上所述,在 Linux(x86)上安装 Oracle 集群,推荐采用以下几种策略之一:
(1)将 Oracle 数据库软件安装在本地磁盘(每个节点上一个拷贝),使用裸设备来存储 Clusterware,使用 ASM 来存储数据库和恢复文件。
项目
存储系统
存储位置
Clusterware 软件
ext2、ext3
本地磁盘
voting disk
Raw device
共享磁盘
OCR
Raw device
共享磁盘
数据库软件
ext2、ext3
本地磁盘
RAC 数据库
ASM
共享磁盘
恢复文件
ASM
共享磁盘
(2)数据全部使用 OCFS2 来存储,并将 Oracle 数据库软件安装在 OCFS2 上(所有节点共享一个 Oracle Home)
项目
存储系统
存储位置
Clusterware 软件
ext2、ext3
本地磁盘
voting disk
OCFS2
共享磁盘
OCR
OCFS2
共享磁盘
数据库软件
OCFS2
共享磁盘
RAC 数据库
OCFS2
共享磁盘
恢复文件
OCFS2
共享磁盘
(3)将 Oracle 数据库软件安装在共享磁盘上(所有节点共享一个 Oracle Home),使用 ASM 存储恢复文件和数据库。
项目
存储系统
存储位置
Clusterware 软件
ext2、ext3
本地磁盘
voting disk
OCFS2
共享磁盘
OCR
OCFS2
共享磁盘
数据库软件
OCFS2
共享磁盘
RAC 数据库
ASM
共享磁盘
恢复文件
ASM
共享磁盘
在大多数情况下,使用第三种策略对于管理和扩展及I/O负载均衡会更好。