使用 VMware Server 在 Oracle Enterprise Linux 上安装Oracle RAC 10gR2注意事项总结
[题外话]在日常的实验当中,每个人都有一个摸索的过程,也积累了一些自己认为的经验。尽管实验的过程大同小异,体会也不一样。但只要达到目的,也就皆大欢喜了!特别是在RAC的安装过程中,我相信大多数人经历了一些酸甜苦辣:一次次莫名的失败,面对网上众多资料的却也难以找到自己想要的答案,以及多少次柳暗花明,峰回路转,最终实验安装成功后的欣喜。或许学习的魅力也就在此。不过,如果在学习过程中,能够厘清主次,把握重点,由理论指导实践也未尝不是一种好的学习方法。
我个人的感觉,学习RAC时,通过“总体把握,分层理解,分解突破”这几个字,就有头绪了。总体把握就是大致了解RAC的各个部件,以及他们之间怎样协调配合;分层理解,也就是从操作系统层、crs层,ASM层,instance层,service层来理解RAC的运作方式;分解突破,则是根据RAC的各个要件,分开来学习、深挖,例如CRS,ASM,OCFS2,裸设备,当然还有LINUX操作系统等。把各个零部件的性能摸透了,组装、维护整个机器就容易了!
-------------------------------------------------------------------
1、需要准备的软件
vmware server1.06
Oracle 10gR2 clusterware
Oracle 10gR2 database
注意:clusterware版本要等于或高于database的版本。
选件:oracleASMlib,
注意:在LINUX下要与自身操作系统相对应。在Windows中不需要单独下载。
2、RAC部署
概括为:一组共享磁盘,两组网卡,三组节点
一组共享磁盘,用于CRS,VOTE,共享数据存储。CRS大约100M,VOTE大约20M。在实际应用中,最好设置略大于此数。在windows系统中更是如此。共享模式可以是DAS,NAS,NFS,SAN,iSCSI等。
虚拟共享磁盘的设置
到虚拟机工作目录,打开.vmx 文件,添加下列内容(磁盘参数根据实际情况而定):
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
注意:客户 OS 不能与共享存储共享同一个 SCSI 总线。指定客户 OS 使用 SCSI0,共享磁盘使用 SCSI1。)
两组网卡:每台服务器至少有1公1私两个网卡,网卡的名称应该一致。公用网卡用于连接应用,私用网卡用于服务器之间的共享内存交换和心跳测定。在实际应用中私网的速度影响性能,中间用交换机转接,不建议直连。在windows中,注意设置网卡的优先级,公网优先于私网。
三组节点(IP)
可以在HOSTS文件或DNS服务器中设定。
在Hosts设定为:
实际主机名对应公网IP,私有主机名对应私网IP,虚拟主机名对就虚拟IP。127.0.0.1对应localhost
虚拟IP(vip)为并不存在的ip,同公网IP在同一网段,主要目的是RAC节点失效后的快速切换。
在部署过程中,还要决定是否起用裸设备, ASM,或者OCFS2存储。裸设备在RHEL5中已被取消,并且每个文件要对应一个裸设备,使用麻烦。ASM必须在每个节点中启动一个实例(以集群的方式安装),OCFS是oracle自已的文件系统。三者可以混合使用。
3、时间同步
在RAC中,各节点的时间必须同步,不然,安装和运行时会出错。遗憾的是,虚拟机的时间经常与宿主机不一致,网上的一些与宿主机的时间同步的方法,效果不是太好。所以最好使用虚拟机之间同步。
设置:
一个节点启用时间服务,其它节点启用任务计划。以下设置的是每1S同步一次。
RAC1$chkconfig time on
RAC2$vi /etc/crontab
0-59 * * * * root /usr/bin/radte –s rac1
4、安装过程
安装顺序:vmware serveràrhel 4àclusteràdatabase(soft only)àdbca:asmàinstance
其中clusterware是重点,也是碰到问题最多的地方。
安装准备:用户(组)设置,内核修改,配置hangcheck-timer,创建ASM磁盘,用户等效性设置等。
注意将原始设备映射到先前创建的共享分区。每次引导集群节点时,原始设备都必须与块设备绑定。
裸设备的权限,设置为oracle用户。由于裸设备的特殊性,原始设备在引导时会重新映射。(在RHEL5中取消了裸设备,设置则不同)解决办法为:
修改 /etc/udev/permissions.d/50-udev.permissions
为原始行“raw/*:root:disk:0660”添加注释,然后添加一个新行“raw/*:oracle:dba:0660”
记住一个特殊环境变量:LD_ASSUME_KERNEL=2.4.21
用户等效性,必须在每个节点上测试连接。
如果公有IP使用的是私有IP段(10.x.x.x、172.16.x.x~172.31.x.x、192.168.x.x), 安装clusterware时,specify network interface usage中,要自定义(修改为)公有网段(public);在每二个节点以root用户运行root.sh后,提示,“eth0”is not public.public interfaces should be used to configure virtual ips。此时,必须在图形模式下手动运行vipca(vip助手)配置虚拟IP。此时可以在任一个节点上以root用户运行$crs_home/bin/vipca。在选择绑定时,只能选择公网段,如果将全部网卡选中,结果会出错。
Crs安装完成后,检验:
检测节点:#crs_home/bin/olsnodes
检测服务状态: #crs_home/bin/crsctl check crs
检测组件状态: #crs_home/bin/crs_stat –t –v
在安装clusterware时如果出现报错现象,需要重新安装时,必须先清除已经安装的cluserware,否则可能会影响到下次安装。一般情况下,只需要在各节点上依次运行目录$ORA_CRS_HOME/install/下的脚本rootdelete.sh和rootdeinstall.sh即可。
5、CUV检测工具。
安装过程中,使用过程检测;安装完成后,使用组件检测。
安装前,该工具在安装盘(文件)中,可以检测环境是否符合:
runcluvfy.bat stage -pre crsinst -n rac01,rac02 –verbose stage—阶段 pre之前
安装完成后,该工具在安装主目录中。系统会自行检测一遍,无报错,说明安装成功。
具体检测命令可以查看:
Cluvfy stage –list (阶段检测) 或Cluvfy comp –list(组件检测)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10804699/viewspace-605517/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10804699/viewspace-605517/