从Oracle11.2开始,ASM不仅是一个磁盘组,他还提供了了一个卷管理器,称为ADVM(asm dynamic volume manager)。ADVM向用户提供卷管理服务,并提供标准的磁盘设备驱动程序。利用ADVM,可以在卷组中创建一个或多个卷,每个卷对应操作系统中的一个设备文件,这些卷是可以动态扩展的,就像操作系统中的卷或者利用第三方软件创建的卷一样,应用程序也可以对ADVM卷中的数据进行读写操作。
在ADVM卷中可以创建ACFS文件系统,ACFS是一种跨平台的、可扩展的集群文件系统,多个节点可以同时访问asfs中的文件。ACFS不仅可以作为oracle数据库软件的安装路径,还可以用来存储数据库中的警告文件和跟踪文件,还可以存储诸如视频、声音、图像、文本等类型的文件。
但是在CentOS5.8上面安装rac的时候,却发现ADVM/ACFS is not supported on this OS version: 'centos-release-7-6.centos.x86_64(同样适用于单机环境的asm安装,在安装grid的最后执行root.sh的时候出现的。)
这是由于oracle软件对系统版本做了限制,解决方法如下:
可以看到报错:
1 [root@rac1 ~]# /opt/app/grid/bin/acfsload start -s 2 ADVM/ACFS is not supported on centos-release-5-8.el5.centos
1、备份要修改的文件,两个节点都要做
1 [root@rac1 ~]# cd /opt/app/grid/lib 2 [root@rac1 lib]# cp -p osds_acfslib.pm osds_acfslib.pm.orig
2、修改文件osds_acfslib.pm,同样两个节点都做
1 replace 2 3 if (($release =~ /enterprise-release-5/) || 4 ($release =~ /redhat-release-5/)) 5 with 6 7 if (($release =~ /enterprise-release-5/) || 8 ($release =~ /redhat-release-5/) || 9 ($release =~ /centos-release-5/))
3、把支持ADVM/ACFS相关的module放在系统module目录下,两个节点都做
1 [root@rac1 ~]# mkdir /lib/modules/2.6.18-348.12.1.el5/extra/usm 2 [root@rac1 ~]# cd /u01/app/11.2.0/grid/install/usm/EL5/x86_64/2.6.18-8/2.6.18-8.el5-x86_64/bin/ 3 [root@rac1 bin]# cp *ko /lib/modules/2.6.18-348.12.1.el5/extra/usm/
4、安装ADVM/ACFS驱动
1 [root@rac1 ~]# cd /opt/app/grid/bin 2 [root@rac1 bin]# ./acfsdriverstate -orahome /opt/app/grid version 3 acfsdriverstate: ACFS-9129: ADVM/ACFS not installed 4 5 安装网上说的方法无法安装,下面尝试以下安装方式: 6 7 [root@rac1 ~]# cd /opt/app/grid/bin 8 9 [root@rac1 bin]#./acfsroot install 10 11 CRS-10001:ACFS-9300: ADVM/ACFS distribution files found. 12 CRS-10001:ACFS-9307: Installing requested ADVM/ACFS software. 13 CRS-10001:ACFS-9308: Loading installed ADVM/ACFS drivers. 14 CRS-10001:ACFS-9321: Creating udev for ADVM/ACFS. 15 CRS-10001:ACFS-9323: Creating module dependencies – this may take some time. 16 CRS-10001:ACFS-9327: Verifying ADVM/ACFS devices. 17 CRS-10001:ACFS-9309: ADVM/ACFS installation correctness verified.
说明安装成功。
5、启动服务
1 [root@rac1 ~]# /opt/app/grid/bin/acfsload start -s 2 3 [root@rac2 ~]# /opt/app/grid/bin/acfsload start -s
6、在所有的节点上,检查kernel是否成功的加载了相关的驱动
1 [root@rac1 ~]# lsmod | grep oracle 2 oracleacfs 877320 4 3 oracleadvm 221760 8 4 oracleoks 276880 2 oracleacfs,oracleadvm 5 oracleasm 84136 1