從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