ACFS是什么,Oracle官方定义:
Oracle AutomaticStorage Management Cluster File System (Oracle ACFS) is a multi-platform,scalable file system, and storage management technology that extends OracleAutomatic Storage Management (Oracle ASM) functionality to support customerfiles maintained outside of Oracle Database. Oracle ACFS supports many databaseand application files, including executables,database trace files, databasealert logs, application reports, BFILEs, and configuration files. Othersupported files are video, audio, text, images, engineering drawings, and othergeneral-purpose application file data.
下面来介绍下Oracle 11gR2 RAC环境下ACFS的使用,当前系统环境操作系统版本为OEL6.5,数据库版本为Oracle 11.2.0.4。
1. 查看ACFS相关的服务
查看acfs/advm驱动是否加载
[root@linuxidc1 bin]#lsmod |grep oracle
[root@linuxidc1 bin]#
[root@linuxidc2 bin]#lsmod |grep oracle
[root@linuxidc2 bin]#
查看集群资源
[root@linuxidc1 ~]# su- grid -c crs_stat|grep acfs
[root@linuxidc1 ~]#
[root@linuxidc2 ~]# su- grid -c crs_stat|grep acfs
[root@linuxidc2 ~]#
使用acfsload加载驱动
[root@linuxidc1 bin]#./acfsload start -s
ACFS-9459:ADVM/ACFS is not supported on this OS version: '3.8.13-16.2.1.el6uek.x86_64'
[root@linuxidc1 bin]#uname -a
Linux linuxidc13.8.13-16.2.1.el6uek.x86_64 #1 SMP Thu Nov 7 17:01:44 PST 2013 x86_64 x86_64x86_64 GNU/Linux
[root@linuxidc1 bin]#
从报错信息中可以看出,OEL6.5操作系统11204数据库并未被支持。升级数据库版本,打补丁11204.7后驱动可以被加载,但不能被系统自动加载。处理如下:
[root@linuxidc1 ~]# cat/etc/init.d/acfsload
#!/bin/sh
# chkconfig: 234530 21
# description: LoadOracle ASM volume driver on system startup
ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_HOME
$ORACLE_HOME/bin/acfsloadstart -s
[root@linuxidc1 ~]# chkconfigadd acfsload
[root@linuxidc1 ~]#chkconfig --list|grep acfsload
acfsload 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@linuxidc1 ~]#
[root@linuxidc1 bin]#./acfsload start -s
[root@linuxidc1 bin]#lsmod |grep oracle
oracleacfs 877320 0
oracleadvm 221760 0
oracleoks 276880 2 oracleacfs,oracleadvm
[root@linuxidc2bin]# lsmod |grep oracle
oracleacfs 877192 0
oracleadvm 221504 0
oracleoks 277008 2 oracleacfs,oracleadvm
[root@linuxidc2 bin]#
添加资源ora.registry.acfs
[root@linuxidc1 ~]#/u01/app/11.2.0/grid/bin/crsctl add type ora.registry.acfs.type -basetypeora.local_resource.type -file/u01/app/11.2.0/grid/crs/template/registry.acfs.type
[root@linuxidc1 ~]# /u01/app/11.2.0/grid/bin/crsctladd resource ora.registry.acfs -attrACL=\'owner:root:rwx,pgrp:oinstall:r-x,other::r--\' -typeora.registry.acfs.type -f
[root@linuxidc1 ~]#
查看是否添加成功
[root@linuxidc1 ~]# su- grid -c crs_stat | grep acfs
NAME=ora.registry.acfs
TYPE=ora.registry.acfs.type
[root@linuxidc1 ~]#
[root@linuxidc2 ~]# su- grid -c crs_stat | grep acfs
NAME=ora.registry.acfs
TYPE=ora.registry.acfs.type
[root@linuxidc2 ~]#
查看添加的资源状态。
[grid@linuxidc1 ~]$crsctl stat res -t
---------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
Local Resources
---------------------------------------------------------------------
ora.ARCH.dg
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.CRS.dg
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.DATA.dg
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.LISTENER.lsnr
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.asm
ONLINE ONLINE linuxidc1 Started
ONLINE ONLINE linuxidc2 Started
ora.gsd
OFFLINE OFFLINE linuxidc1
OFFLINE OFFLINE linuxidc2
ora.net1.network
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.ons
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.registry.acfs
OFFLINE OFFLINE linuxidc1
OFFLINE OFFLINE linuxidc2
Cluster Resources
---------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE linuxidc2
ora.cvu
1 ONLINE ONLINE linuxidc2
ora.linuxidc.db
1 ONLINE ONLINE linuxidc1 Open
2 ONLINE ONLINE linuxidc2 Open
ora.linuxidc1.vip
1 ONLINE ONLINE linuxidc1
ora.linuxidc2.vip
1 ONLINE ONLINE linuxidc2
ora.oc4j
1 ONLINE ONLINE linuxidc2
ora.scan1.vip
1 ONLINE ONLINE linuxidc2
[grid@linuxidc1 ~]$
添加的ora.registry.acfs资源默认offline,需手工启动。
[grid@linuxidc1 ~]$crsctl start resource ora.registry.acfs -n linuxidc1
CRS-2672:Attempting to start 'ora.registry.acfs' on 'linuxidc1'
CRS-2676: Start of'ora.registry.acfs' on 'linuxidc1' succeeded
[grid@linuxidc1 ~]$crsctl start resource ora.registry.acfs -n linuxidc2
CRS-2672:Attempting to start 'ora.registry.acfs' on 'linuxidc2'
CRS-2676: Start of'ora.registry.acfs' on 'linuxidc2' succeeded
启动后查看状态如下,已为online状态。
[grid@linuxidc1 ~]$crsctl stat res -t
---------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
---------------------------------------------------------------------
Local Resources
ora.ARCH.dg
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.CRS.dg
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.DATA.dg
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.LISTENER.lsnr
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.asm
ONLINE ONLINE linuxidc1 Started
ONLINE ONLINE linuxidc2 Started
ora.gsd
OFFLINE OFFLINE linuxidc1
OFFLINE OFFLINE linuxidc2
ora.net1.network
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.ons
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
ora.registry.acfs
ONLINE ONLINE linuxidc1
ONLINE ONLINE linuxidc2
---------------------------------------------------------------------ClusterResources
---------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE linuxidc2
ora.cvu
1 ONLINE ONLINE linuxidc2
ora.linuxidc.db
1 ONLINE ONLINE linuxidc1 Open
2 ONLINE ONLINE linuxidc2 Open
ora.linuxidc1.vip
1 ONLINE ONLINE linuxidc1
ora.linuxidc2.vip
1 ONLINE ONLINE linuxidc2
ora.oc4j
1 ONLINE ONLINE linuxidc2
ora.scan1.vip
1 ONLINE ONLINE linuxidc2
[grid@linuxidc1 ~]$
2. 使用ASMCMD命令创建ACFS
(1)、使用volcreate命令创建vol01,大小为30G;
ASMCMD>volcreate -G data -s 30G testvol
(2)、使用volinfo查看vol01的相关信息
ASMCMD> volinfo-G data testvol
Diskgroup Name:DATA
Volume Name: TESTVOL
Volume Device: /dev/asm/testvol-347
State: ENABLED
Size (MB): 30720
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
ASMCMD>
(2)、使用操作系统命令查看设备名,这里的/dev/asm/ testvol-347相当于裸设备。
[grid@linuxidc1 ~]$ cd/dev/asm/
[grid@linuxidc1 asm]$ls -l
total 0
brwxrwx--- 1 rootasmadmin 251, 177665 Oct 28 13:20 testvol-347
[grid@linuxidc1 asm]$
(3)、在v$asm_volume视图中使用sql查看volume相关信息
[grid@linuxidc1 asm]$sqlplus / as sysasm
SQL*Plus: Release11.2.0.4.0 Production on Fri Oct 28 13:22:33 2016
Copyright (c) 1982,2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11gEnterprise Edition Release 11.2.0.4.0 - 64bit Production
With the RealApplication Clusters and Automatic Storage Management options
SQL> selectvolume_name,volume_device,size_mb from v$asm_volume;
VOLUME_NAME VOLUME_DEVICE SIZE_MB
---------------------------------------------------------
TESTVOL /dev/asm/testvol-347 30720
SQL>
(4)、格式化卷,创建文件系统
[root@linuxidc1 ~]#mkfs.acfs /dev/asm/testvol-347
mkfs.acfs:version = 11.2.0.4.0
mkfs.acfs: on-diskversion = 39.0
mkfs.acfs:volume =/dev/asm/testvol-347
mkfs.acfs: volumesize = 32212254720
mkfs.acfs: Formatcomplete.
[root@linuxidc1 ~]#
(5)、注册ACFS文件系统,相当于定义挂载点,仅在节点1注册一次即可
[root@linuxidc1~]#acfsutil registry -a /dev/asm/testvol-347/u01/app/grid/acfsmounts/data_testvol/
acfsutil registry:mount point /u01/app/grid/acfsmounts/data_testvol successfully added to OracleRegistry
查看文件系统信息
[root@linuxidc1 ~]#acfsutil info fs
/u01/app/grid/acfsmounts/data_testvol
ACFS Version: 11.2.0.4.0
flags: MountPoint,Available
mount time: Fri Oct 28 13:37:27 2016
volumes: 1
total size: 32212254720
total free: 32068386816
primary volume: /dev/asm/testvol-347
label:
flags: Primary,Available,ADVM
on-disk version: 39.0
allocation unit: 4096
major, minor: 251, 177665
size: 32212254720
free: 32068386816
ADVM diskgroup DATA
ADVM resize increment: 33554432
ADVM redundancy: unprotected
ADVM stripe columns: 4
ADVM stripe width: 131072
number of snapshots: 0
snapshot space usage: 0
replication status: DISABLED
[root@linuxidc1 ~]#
(6)、注册成功后自动挂载文件系统,两节点查看如下:
[root@linuxidc1 ~]# df-h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 532G 34G 476G 7% /
tmpfs 16G 255M 16G 2% /dev/shm
/dev/sda1 477M 55M 397M 13% /boot
/dev/asm/testvol-347 30G 138M 30G 1% /u01/app/grid/acfsmounts/data_testvol
[root@linuxidc1 ~]#
[root@linuxidc2 ~]# df-h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 533G 24G 487G 5% /
tmpfs 16G 254M 16G 2% /dev/shm
/dev/sda1 477M 55M 397M 13% /boot
/dev/asm/testvol-347 30G 138M 30G 1%/u01/app/grid/acfsmounts/data_testvol
[root@linuxidc2 ~]#
图形界面查看状态如下