找了篇文章,详细学习了一下,明白了,给大家发下:实际上无论在哪个操作系统(AIX,HP-UX,Solaris,Linux)上安装Oracle10gRAC 都不再需要Vendor Clusterware(IBM 的HACMP,HP 的Service Guard,Veritas的VCS 等),无论在存储方面是选择裸设备还是ASM 或者是操作系统厂商提供的共享文件系统,...
显示全部找了篇文章,详细学习了一下,明白了,给大家发下:
实际上无论在哪个操作系统(AIX,HP-UX,Solaris,Linux)上安装Oracle10g
RAC 都不再需要Vendor Clusterware(IBM 的HACMP,HP 的Service Guard,Veritas
的VCS 等),无论在存储方面是选择裸设备还是ASM 或者是操作系统厂商提供的
共享文件系统,比如AIX 上的GPFS。
那么为什么提到AIX,如果一定要选择裸设备(此处提到的裸设备指纯裸设
备,因为ASM 实际上也是在管理裸设备)作为Oracle 数据文件存储方式的话,我
们建议安装HACMP 呢? 是因为AIX 操作系统的特殊性,在AIX 操作系统上,每个
字符设备(对应一个rhdisk)只能对应一个存储上划分的LUN,而其它操作系统则
可以在LUN 上继续细分字符设备,比如LUN 是128G,那么在AIX 上每个rhdisk
都只能是128G,每个rhdisk 也就是一个裸设备,而其它操作系统则可以继续在
这个LUN 上划分出多个裸设备,大小可以自定义。
我们知道对于Oracle RAC 来说,每个控制文件,每个联机重做日志文件,
甚至spfile 都要对应一个裸设备,那么如果在存储规划的时候我们创建了128G
的LUN,那么在AIX 上我们只能做成一个128G 的控制文件,一个128G 的联机重
做日志文件,一个128G 的spfile,因为单独依靠操作系统我们无法再细分了。
在AIX 操作系统中,必须使用LVM(Logical Volume Manager)来划分
LV(Logical Volume),每个LV 的大小是可以控制的,在一个LUN 上我们可以划
分多个LV,因此在操作系统级别达到了规划存储的目的。此时HACMP 的作用体
现出来,如果要挂载Concurrent Volume Group(实际上不需要HACMP 也可以创
建LV 和VG,但是却无法将VG 设置为Concurrent 模式,而非Concurrent 模式
的VG 是无法被多个机器同时读写的),就必须安装HACMP,因此更严格地说,这
种方式的存储应该称为Raw Logical Volumes,而不是Raw Disks,这两种都是
Raw Devices。
实际上,如果我们在存储级别就详细规划LUN 的大小,比如创建4 个128M
的LUN,1 个给spfile 用,3 个给控制文件用,再创建8 个256M 的LUN,给8
个联机重做日志用(4 组,每组2 个member),然后再继续规划用于SYSTEM 表空
间的,用于SYSAUX 表空间的,用于UNDO 表空间的,用于用户数据表空间的LUN
分别是多大,那么也仍然可以不需要HACMP 就在AIX 上搭建起以纯裸设备为存储
介质的Oracle10g RAC 数据库。
结论是,因为Oracle Clusterware 的存在,在本质上,无论选择什么存储
方式,在任何操作系统上都不再需要第三方的集群软件。
最后再提一下ASM,对于ASM 来说,底层可以是raw disks 也可以是raw LVs,
但是推荐是raw disks,因为本身ASM 已经行使了类似于LVM 的功能,因此无需
再创建多余的LV 了,而如果不选择ASM,那么就建议使用raw LVs。
收起