在centos 7.3 64位系统上安装完一套oracle 19c rac测试环境后,发现acfs和advm无法使用,ASMCA图形界面的acfs和volume选项卡为灰色!这是由于acfs不支持centos系统导致的,下面就介绍下如何在配置centos上使用acfs集群文件系统!
1、环境描述:
[root@rac1 ~]# more /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@rac1 ~]# crsctl query crs softwareversion
Oracle Clusterware version on node [rac1] is [19.0.0.0.0]
[root@rac1 ~]#
2:修改osds_acfslib.pm脚本代码,所有节点都要执行
[root@rac1 lib]# cd /u01/app/grid/19.3.0/lib/
[root@rac1 lib]# cp -p osds_acfslib.pm osds_acfslib.pm.bak
[root@rac1 lib]# vi osds_acfslib.pm
修改以下内容
if ((defined($release)) && # Redhat or OEL if defined
(($release =~ /^redhat-release/) || # straight RH
($release =~ /^enterprise-release/) || # Oracle Enterprise Linux
($release =~ /^oraclelinux-release/))) # Oracle Linux
将上面的代码片段修改如下
if ((defined($release)) && # Redhat or OEL if defined
(($release =~ /^redhat-release/) || # straight RH
($release =~ /^enterprise-release/) || # Oracle Enterprise Linux
($release =~ /^centos-release/) || #CentOS hack
($release =~ /^oraclelinux-release/))) # Oracle Linux
3 安装acfs,配置acfs和advm模块启动自动加载,其他节点做同样的配置
[root@rac1 lib]# /u01/app/19.3.0/grid/bin/acfsload start -s
ACFS-9129: ADVM/ACFS not installed
[root@rac1 lib]# /u01/app/19.3.0/grid/bin/acfsroot install
ACFS-9300: ADVM/ACFS distribution files found.
ACFS-9307: Installing requested ADVM/ACFS software.
ACFS-9308: Loading installed ADVM/ACFS drivers.
ACFS-9321: Creating udev for ADVM/ACFS.
ACFS-9323: Creating module dependencies - this may take some time.
ACFS-9154: Loading 'oracleoks.ko' driver.
ACFS-9154: Loading 'oracleadvm.ko' driver.
ACFS-9154: Loading 'oracleacfs.ko' driver.
ACFS-9327: Verifying ADVM/ACFS devices.
ACFS-9156: Detecting control device '/dev/asm/.asm_ctl_spec'.
ACFS-9156: Detecting control device '/dev/ofsctl'.
ACFS-9309: ADVM/ACFS installation correctness verified.
[root@rac1 lib]# /u01/app/19.3.0/grid/bin/acfsload start -s
[root@rac1 lib]# lsmod |grep oracle
oracleacfs 1990406 0
oracleadvm 250040 0
oracleoks 427672 2 oracleacfs,oracleadvm
[root@rac1 lib]# vi /etc/init.d/acfsload
#!/bin/sh
# chkconfig: 2345 30 21
# description: Load Oracle ASM volume driver on system startup
ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_HOME
$ORACLE_HOME/bin/acfsload start -s
[root@rac1 lib]# chmod 755 /etc/init.d/acfsload
[root@rac1 lib]# chkconfig --add acfsload
[root@rac1 lib]# chkconfig --list |grep acfsload
acfsload 0:off 1:off 2:on 3:on 4:on 5:on 6:off
4.创建卷并格式化成acfs集群文件系统并挂载
4.1 创建卷
使用asmcmd 创建卷
[grid@rac1 ~]$ asmcmd
ASMCMD> volcreate -G DATA -s 1g v2
[grid@rac1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.V2.advm
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
使用sqlplus 创建卷
[grid@rac1 ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jul 1 02:06:14 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> alter diskgroup data add volume v3 size 1g;
Diskgroup altered.
[grid@rac1 ~]$ ll /dev/asm/v2-120
brwxrwx--- 1 root asmadmin 252, 61441 Jul 1 00:23 /dev/asm/v2-120
4.2 格式化
[grid@rac1 ~]$ mkfs -t acfs -n fsvol1 /dev/asm/v2-120
mkfs.acfs: version = 19.0.0.0.0
mkfs.acfs: on-disk version = 46.0
mkfs.acfs: volume = /dev/asm/v2-120
mkfs.acfs: volume size = 1073741824 ( 1.00 GB )
mkfs.acfs: Format complete.
4.3 在每个节点上创建共享文件夹,并将挂在
[root@rac2 ~]# mkdir /sharedisk
[root@rac2 ~]# mount /dev/asm/v2-120 /sharedisk/
mount: /dev/asm/v2-120 is write-protected, mounting read-only
[root@rac1 ~]# mkdir /sharedisk
[root@rac1 ~]# mount /dev/asm/v2-120 /sharedisk/
mount: /dev/asm/v2-120 is write-protected, mounting read-only
[root@rac2 ~]# cd /sharedisk/
[root@rac2 sharedisk]# touch huang
[root@rac2 sharedisk]# ll
total 64
-rw-r--r-- 1 root 1734439788 0 Jul 1 01:52 huang
drwx------ 2 root root 65536 Jul 1 01:49 lost+found