ACFS – A closer look

Overview

  • CRS mamnaged ACFS is designed for creating a shared ORACLE_HOME file systems
  • You cannot store Oracle database files amd Grid Infrastructure Home files in ACFS
  • Registery Managed ACFS can used to store following datatypes: BFILE, exports , ADR , .

ACFS on 11.2.0.4.3 with UEK 3.8.13 kernel – not yet supported

[grid@grac41 ~]$ /sbin/acfsutil registry
acfsutil registry: CLSU-00100: Operating System function: open64 failed with error data: 2
acfsutil registry: CLSU-00101: Operating System error message: No such file or directory
acfsutil registry: CLSU-00103: error location: OOF_1
acfsutil registry: CLSU-00104: additional error information: open64 (/dev/ofsctl)
acfsutil registry: ACFS-00502: Failed to communicate with the ACFS driver.  Verify the ACFS driver has been loaded

Check kernel version 
[root@grac41 OLD_DOCS]# uname -a
Linux grac41.example.com 3.8.13-35.1.2.el6uek.x86_64 #2 SMP Fri Jun 20 00:18:57 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

[grid@grac41 ~]$ acfsroot enable
ACFS-9459: ADVM/ACFS is not supported on this OS version: '3.8.13-35.1.2.el6uek.x86_64'

[grid@grac41 ~]$  acfsroot version_check
ACFS-9459: ADVM/ACFS is not supported on this OS version: '3.8.13-35.1.2.el6uek.x86_64'
ACFS-9319: Unknown OS kernel version '3.8.13-35.1.2.el6uek.x86_64' detected.
ACFS-9320: Missing file: 'oracleadvm.ko'.
ACFS-9320: Missing file: 'oracleoks.ko'.
ACFS-9320: Missing file: 'oracleacfs.ko'.
ACFS-9317: No ADVM/ACFS distribution media detected at location: '/u01/app/11204/grid/install/usm/ADVM/ACFS is not supported on 3.8.13-35.1.2.el6uek.x86_64'
  • Monitor Bug 19171929 : BLR BACKPORT OF BUG 16318126 ON TOP OF ACFS PSU 11.2.0.4.3 until patch becomes available

 

Verify a working combination : ACFS on 11.2.0.4.2 and UEK 2.6

Verify load status of ACFS driver and CRS patch level
[root@grac41 Desktop]# crsctl status resource ora.drivers.acfs -init
NAME=ora.drivers.acfs
TYPE=ora.drivers.acfs.type
TARGET=ONLINE
STATE=ONLINE on grac41
[root@grac41 Desktop]# lsmod | grep ora
oracleacfs           1980672  0
oracleadvm            243152  1
oracleoks             426774  2 oracleacfs,oracleadvm
oracleasm              53865  1
[root@grac41 Desktop]#  acfsdriverstate version
ACFS-9325:     Driver OS kernel version = 2.6.39-400.3.0.el6uek.x86_64(x86_64).
ACFS-9326:     Driver Oracle version = 140312.
[root@grac41 Desktop]# acfsdriverstate installed
ACFS-9203: true
[root@grac41 Desktop]#  acfsdriverstate installed
ACFS-9203: true
[root@grac41 Desktop]# acfsdriverstate supported
ACFS-9200: Supported
[root@grac41 Desktop]# crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
[grid@grac41 ~]$  $GRID_HOME/OPatch/opatch lsinventory
Oracle Interim Patch Installer version 11.2.0.3.6
--------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Grid Infrastructure 11g                                       11.2.0.4.0
There are 1 product(s) installed in this Oracle Home.
Interim patches (3) :
Patch  18031668     : applied on Sun May 04 10:25:43 CEST 2014
Unique Patch ID:  17255543
Patch description:  "Database Patch Set Update : 11.2.0.4.2 (18031668)"
Created on 20 Feb 2014, 05:15:58 hrs PST8PDT
Sub-patch  17478514; "Database Patch Set Update : 11.2.0.4.1 (17478514)"
Patch  18031731     : applied on Sat May 03 17:01:53 CEST 2014
Unique Patch ID:  17253722
Patch description:  "ACFS Patch Set Update : 11.2.0.4.2 (18031731)"
Created on 17 Mar 2014, 06:35:22 hrs PST8PDT

Patch  18031740     : applied on Sat May 03 16:55:07 CEST 2014
Unique Patch ID:  17253722
Patch description:  "OCW Patch Set Update : 11.2.0.4.2 (18031740)"
Created on 19 Mar 2014, 09:06:37 hrs PST8PDT

Setup Registry Managed ACFS File System

Check DG attributes
ASMCMD> lsdg -g ACFS
Inst_ID  State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
1  MOUNTED  NORMAL  N         512   4096  1048576      2038     1764                0             882              0             N  ACFS/
2  MOUNTED  NORMAL  N         512   4096  1048576      2038     1764                0             882              0             N  ACFS/
3  MOUNTED  NORMAL  N         512   4096  1048576      2038     1764                0             882              0             N  ACFS/
ASMCMD> lsattr -G ACFS -l
Name                     Value
access_control.enabled   FALSE
access_control.umask     066
au_size                  1048576
cell.smart_scan_capable  FALSE
compatible.advm          11.2.0.0.0
compatible.asm           11.2.0.0.0
compatible.rdbms         11.2.0.0.0
disk_repair_time         3.6h
sector_size              512

Create an Oracle ASM volume and display volume details
ASMCMD> volcreate -G ACFS -s 100M acfs_vol1
ASMCMD> volinfo -a
Diskgroup Name: ACFS
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-292
State: ENABLED
Size (MB): 128
Resize Unit (MB): 32
Redundancy: MIRROR
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:

ASMCMD> volinfo -G ACFS acfs_vol1
Diskgroup Name: ACFS
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-292
State: ENABLED
Size (MB): 128
Resize Unit (MB): 32
Redundancy: MIRROR
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:

Automatically mount the filesystem after reboot by registering Mount points
[root@grac41 Desktop]# mkdir /u01/oradata/acfs
[root@grac43 rules.d]#  acfsutil registry -a /dev/asm/acfs_vol1-292  /u01/oradata/acfs
acfsutil registry: mount point /u01/oradata/acfs successfully added to Oracle Registry
[root@grac43 rules.d]#  acfsutil registry
Mount Object:
Device: /dev/asm/acfs_vol1-292
Mount Point: /u01/oradata/acfs
Disk Group: ACFS
Volume: ACFS_VOL1
Options: none
Nodes: all

Create file system and verify FS with acfsutil info fs
[root@grac43 rules.d]# mkfs -t acfs /dev/asm/acfs_vol1-292
mkfs.acfs: version                   = 11.2.0.4.0
mkfs.acfs: on-disk version           = 39.0
mkfs.acfs: volume                    = /dev/asm/acfs_vol1-292
mkfs.acfs: ACFS-01002: ACFS requires a minimum volume size of 200MB.
mkfs.acfs: ACFS-01004: /dev/asm/acfs_vol1-292 was not formatted.

Create a new 200 MByte volume 
ASMCMD> volcreate -G ACFS -s 200M acfs_vol2
[root@grac43 rules.d]# mkdir /u01/oradata/acfs2
[root@grac43 rules.d]# acfsutil registry -a /dev/asm/acfs_vol2-292  /u01/oradata/acfs2

Create file system
[root@grac41 Desktop]# mkfs -t acfs /dev/asm/acfs_vol2-292
mkfs.acfs: version                   = 11.2.0.4.0
mkfs.acfs: on-disk version           = 39.0
mkfs.acfs: volume                    = /dev/asm/acfs_vol2-292
mkfs.acfs: volume size               = 234881024
mkfs.acfs: Format complete.

Check File System
[root@grac41 Desktop]# /sbin/acfsutil info fs /u01/oradata/acfs2
/u01/oradata/acfs2
ACFS Version: 11.2.0.4.0
flags:        MountPoint,Available
mount time:   Wed Jul 23 15:57:17 2014
volumes:      1
total size:   234881024
total free:   114507776
primary volume: /dev/asm/acfs_vol2-292
label:
flags:                 Primary,Available,ADVM
on-disk version:       39.0
allocation unit:       4096
major, minor:          251, 149506
size:                  234881024
free:                  114507776
ADVM diskgroup         ACFS
ADVM resize increment: 33554432
ADVM redundancy:       mirror
ADVM stripe columns:   4
ADVM stripe width:     131072
number of snapshots:  0
snapshot space usage: 0
replication status: DISABLED

Related commands for AIX/Solaris
# mkfs -V acfs /dev/asm/acfs_vol2-292 (AIX)
# mkfs -F acfs /dev/asm/acfs_vol2-292 (Solaris)

Mounting/dismount ACFS  file system
# mount -t acfs /dev/asm/acfs_vol2-292  /u01/oradata/acfs2 (linux)
# mount -V acfs /dev/asm/acfs_vol2-292  /u01/oradata/acfs2 (AIX)
# mount -F acfs /dev/asm/acfs_vol2-292  /u01/oradata/acfs2 (Solaris)

Dismount a specific ACFS filesystemumount   /dev/asm/acfs_vol2-292

Dismount all ACFS filesystems on the node
# umount -a -t acfs (Linux Only)
# unmountall -F acfs (Solaris, AIX)

- Before umounting an ACFs FS stop all process which still has open files with that FS
- Use lsof/fuser command to detect open files and user processes

Check and repair an Oracle ACFS file system.

[root@grac41 Desktop]# fsck -a -v -y -t acfs /dev/asm/acfs_vol2-292
fsck from util-linux-ng 2.17.2
version                   = 11.2.0.4.0
fsck.acfs: temporary directory '/usr/tmp'
fsck.acfs: current directory '/root/Desktop'
fsck.acfs: ACFS-00511: /dev/asm/acfs_vol2-292 is mounted on at least one node of the cluster.
fsck.acfs: ACFS-07656: unable to continue

Dismount ACFS FS an all nodes
[root@grac41 Desktop]# ssh grac41 umount /dev/asm/acfs_vol2-292
[root@grac41 Desktop]# ssh grac42 umount /dev/asm/acfs_vol2-292
[root@grac41 Desktop]# ssh grac43 umount /dev/asm/acfs_vol2-292

[root@grac41 Desktop]#  fsck -a -v -y -t acfs /dev/asm/acfs_vol2-292
fsck from util-linux-ng 2.17.2
version                   = 11.2.0.4.0
fsck.acfs: temporary directory '/usr/tmp'
fsck.acfs: current directory '/root/Desktop'
*****************************
********** Pass: 1 **********
*****************************
fsck.acfs: file system check starting for volume: /dev/asm/acfs_vol2-292
Oracle ASM Cluster File System (ACFS) On-Disk Structure Version: 39.0
Volume indicates the on-disk version is 39.0
Volume indicates the on-disk version is 39.0
ACFS file system created at: Wed Jul 23 15:22:38 2014
checking primary file system
fsck.acfs: Volume_Log recovery on node 1 not needed
fsck.acfs: Volume_Log recovery on node 2 not needed
fsck.acfs: Volume_Log recovery on node 3 not needed
fsck.acfs: checking directory:
for file:
ACFS Internal File: [ACFS Root Directory]
file identifier: 2 (0x2)    disk offset: 70656 (0x11400)
fsck.acfs: checking file '/.ACFS'
fsck.acfs: checking directory:
for file:
File: '/.ACFS'
file identifier: 7 (0x7)    disk offset: 73216 (0x11e00)
Parent Directory: [ACFS Root Directory]
file identifier: 2 (0x2)    disk offset: 70656 (0x11400)
fsck.acfs: checking file '/.ACFS/.fileid'
fsck.acfs: checking directory:
for file:
File: '/.ACFS/.fileid'
file identifier: 8 (0x8)    disk offset: 73728 (0x12000)
Parent Directory: /.ACFS
file identifier: 7 (0x7)    disk offset: 73216 (0x11e00)
fsck.acfs: checking file '/.ACFS/repl'
fsck.acfs: checking directory:
for file:
File: '/.ACFS/repl'
file identifier: 9 (0x9)    disk offset: 74240 (0x12200)
Parent Directory: /.ACFS
file identifier: 7 (0x7)    disk offset: 73216 (0x11e00)
fsck.acfs: checking file '/.ACFS/repl/staging'
fsck.acfs: checking directory:
for file:
File: '/.ACFS/repl/staging'
file identifier: 10 (0xa)    disk offset: 74752 (0x12400)
Parent Directory: /.ACFS/repl
file identifier: 9 (0x9)    disk offset: 74240 (0x12200)
fsck.acfs: checking file '/.ACFS/repl/ready'
fsck.acfs: checking directory:
for file:
File: '/.ACFS/repl/ready'
file identifier: 11 (0xb)    disk offset: 75264 (0x12600)
Parent Directory: /.ACFS/repl
file identifier: 9 (0x9)    disk offset: 74240 (0x12200)
fsck.acfs: checking file '/.ACFS/repl/processed'
fsck.acfs: checking directory:
for file:
File: '/.ACFS/repl/processed'
file identifier: 12 (0xc)    disk offset: 75776 (0x12800)
Parent Directory: /.ACFS/repl
file identifier: 9 (0x9)    disk offset: 74240 (0x12200)
fsck.acfs: checking file '/.ACFS/repl/logs'
fsck.acfs: checking directory:
for file:
File: '/.ACFS/repl/logs'
file identifier: 13 (0xd)    disk offset: 76288 (0x12a00)
Parent Directory: /.ACFS/repl
file identifier: 9 (0x9)    disk offset: 74240 (0x12200)
fsck.acfs: checking file '/.ACFS/snaps'
fsck.acfs: checking directory:
for file:
File: '/.ACFS/snaps'
file identifier: 14 (0xe)    disk offset: 76800 (0x12c00)
Parent Directory: /.ACFS
file identifier: 7 (0x7)    disk offset: 73216 (0x11e00)
fsck.acfs: checking file '/lost+found'
fsck.acfs: checking directory:
for file:
File: '/lost+found'
file identifier: 21 (0x15)    disk offset: 80384 (0x13a00)
Parent Directory: [ACFS Root Directory]
file identifier: 2 (0x2)    disk offset: 70656 (0x11400)
fsck.acfs: checking File_Entry_Table for unprocessed entries
fsck.acfs: checking File_Entry_Table entry: 24 (0x18) at disk offset: 81920 (0x14000)
fsck.acfs: checking File_Entry_Table entry: 25 (0x19) at disk offset: 82432 (0x14200)
fsck.acfs: checking File_Entry_Table entry: 26 (0x1a) at disk offset: 82944 (0x14400)
fsck.acfs: checking File_Entry_Table entry: 27 (0x1b) at disk offset: 83456 (0x14600)
fsck.acfs: checking File_Entry_Table entry: 28 (0x1c) at disk offset: 83968 (0x14800)
fsck.acfs: checking File_Entry_Table entry: 29 (0x1d) at disk offset: 84480 (0x14a00)
fsck.acfs: checking File_Entry_Table entry: 30 (0x1e) at disk offset: 84992 (0x14c00)
fsck.acfs: checking File_Entry_Table entry: 31 (0x1f) at disk offset: 85504 (0x14e00)
fsck.acfs: check for unprocessed File_Entry_Table entries complete
Files checked in primary file system: 100%
Checking if any files are orphaned...
Phase 1 Orphan check...
Phase 2 Orphan check...
0 orphans found
Checker completed with no errors.

Remount FS after fsck
# ssh grac41  mount -t acfs /dev/asm/acfs_vol2-292  /u01/oradata/acfs2
# ssh grac42  mount -t acfs /dev/asm/acfs_vol2-292  /u01/oradata/acfs2
# ssh grac43  mount -t acfs /dev/asm/acfs_vol2-292  /u01/oradata/acfs2

fsck commnads for AIX/Solaris
# fsck -a -v -y -V acfs /dev/asm/acfs_vol2-292 (AIX)
# fsck -a -v -y -F acfs /dev/asm/acfs_vol2-292 (Solaris)

Drop a Registered Managed ACFS File System

To unregister a file system from the Oracle Automatic Storage Management volume registryacfsutil registry -d /dev/asm/acfs_vol1-292
#  acfsutil registry -d /dev/asm/acfs_vol2-292
acfsutil registry: successfully removed ACFS volume /dev/asm/acfs_vol2-292 from Oracle Registry

Remove the file system
# acfsutil rmfs /dev/asm/acfs_vol2-292
acfsutil rmfs: ACFS-00511: /dev/asm/acfs_vol2-292 is mounted on at least one node of the cluster.
acfsutil rmfs: ACFS-03014: file system not removed

Unmount first 
[root@grac41 Desktop]# ssh grac41 umount /dev/asm/acfs_vol2-292
[root@grac41 Desktop]# ssh grac42 umount /dev/asm/acfs_vol2-292
[root@grac41 Desktop]# ssh grac43 umount /dev/asm/acfs_vol2-292
# acfsutil rmfs /dev/asm/acfs_vol2-292
--> ACFS filesystem removed

Disable volumes
ASMCMD> voldisable -G ACFS ACFS_VOL2
ASMCMD> voldisable -G ACFS ACFS_VOL1

Delete  volumes
ASMCMD> voldelete -G ACFS ACFS_VOL1
ASMCMD> voldelete -G ACFS ACFS_VOL2

ACFS File System resize operation

[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 369098752 (352MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 402653184 (384MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 436207616 (416MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 469762048 (448MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 503316480 (480MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 536870912 (512MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 570425344 (544MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 603979776 (576MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: new file system size: 637534208 (608MB)
[root@grac41 Desktop]# acfsutil size +10M  /u01/oradata/acfs
acfsutil size: ACFS-03171: Insufficient contiguous free ASM Diskgroup space.  Check the ASM alert log.
--> Seems that number of resize operation for an ACFS FS has increased
In case you get a different error from above ( this error is space related ) run fsck to fix the problem

CRS managed ACFS File System

Create DG ( > 6 GByte )
--> Select this DG and select : Create ACFS for Database HOME
--> Run script acfs_script.sh to mount FS and setup the needed CW resources

How to dismount an  ACFS filesystem failing  with : device is busy error

Dismount an  ACFS filesystem fails with : device is busy error
[root@grac41 test]# mount -v | grep acfs
/dev/asm/acfs_vol1-377 on /u01/oradata/acfs type acfs (rw)

[root@grac41 test]# umount /u01/oradata/acfs
umount: /u01/oradata/acfs: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount: /u01/oradata/acfs: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

Using lsof and grep for fragements of out mount point ( /u01/oradata/acfs )
[root@grac41 test]# lsof | grep acfs
csh        9334    oracle  cwd       DIR         251,193025      4096                   44 /u01/oradata/acfs/oracle_user
lsof       9802      root  cwd       DIR         251,193025      4096                   42 /u01/oradata/acfs/test
grep       9803      root  cwd       DIR         251,193025      4096                   42 /u01/oradata/acfs/test
lsof       9804      root  cwd       DIR         251,193025      4096                   42 /u01/oradata/acfs/test
--> 2 processes have open directories from on our ACFS FS  /u01/oradata/acfs
    root has opened directoy /u01/oradata/acfs/test
    --> Verify an fix this 
        [root@grac41 test]# pwd
        /u01/oradata/acfs/test
        [root@grac41 test]# cd
        [root@grac41 ~]# pwd
        /root
   oracle has opened direcotoy /u01/oradata/acfs/oracle_user
   --> Here we just kill the process
       [root@grac41 ~]#  kill -9 9334

Dismount ACFS filesystem again
[root@grac41 ~]# umount  /u01/oradata/acfs 
  --> umount works now

Shell scripts to create/recreate an ACFS filesystem/Volumes

Run script in the following order :
 drop_vol.sh      - drop old volume group
 cr_acfs_dg.sql   - recrate ACFS DG 
 cr_vol.sh        - create new volume group and mount ACFS file system clusterwide
 info_vol.sh      - display DG and VG status

Drop volume 
[grid@grac41 ACFS]$ cat drop_vol.sh
#!/bin/bash
MP=/u01/oradata/acfs
VOLNAME=acfs_vol1
DG=ACFS
VOL=`asmcmd volinfo -G ACFS $VOLNAME | grep 'Volume Device' | awk ' // { print $3 } ' `

echo Mount Point: $MP - Volume Name: $VOLNAME - Volume: $VOL
asmcmd lsattr -G $DG -l
echo "*** Dismount Volume and check mount status *** "
sudo ssh grac41 umount  $MP
sudo ssh grac42 umount  $MP 
sudo ssh grac43 umount  $MP
sudo ssh grac41 /bin/hostname
sudo ssh grac41 mount | grep  $MP
sudo ssh grac42 /bin/hostname
sudo ssh grac42 mount | grep  $MP
sudo ssh grac43 /bin/hostname
sudo ssh grac43 mount | grep  $MP

echo "*** Disable and Delete Volumne ***"
asmcmd voldisable  -G $DG $VOLNAME
asmcmd voldelete  -G  $DG $VOLNAME

Create DG 
[grid@grac41 ACFS]$ cat  cr_acfs_dg.sql
set echo on 
! ssh grac41 asmcmd umount ACFS
! ssh grac42 asmcmd umount ACFS
! ssh grac43 asmcmd umount ACFS
! asmcmd lsdg --discovery -g | egrep 'State|ACFS'
drop diskgroup ACFS force including contents;
! dd if=/dev/zero of=/dev/asm_test_1G_disk1 bs=8k count=1000
! dd if=/dev/zero of=/dev/asm_test_1G_disk2 bs=8k count=1000
CREATE DISKGROUP ACFS NORMAL REDUNDANCY
  FAILGROUP FG1  DISK
    '/dev/asm_test_1G_disk1' NAME diska1
  FAILGROUP FG2  DISK
    '/dev/asm_test_1G_disk2' NAME diskb1
  ATTRIBUTE 'au_size'='4M',
    'compatible.asm' = '11.2', 
    'compatible.rdbms' = '11.2',
    'compatible.advm' = '11.2';

! asmcmd lsdg -g ACFS
! ssh grac42 asmcmd mount ACFS
! ssh grac43 asmcmd mount ACFS
! asmcmd lsdg -g ACFS

Create ACFS volume 
[grid@grac41 ACFS]$ cat cr_vol.sh 
#/bin/bash
MP=/u01/oradata/acfs
VOLNAME=acfs_vol1
DG=ACFS

echo "*** Check ASM dG ***" 
asmcmd lsdg -g $DG 
asmcmd lsattr -G $DG -l

echo "*** Create and Enable ACFS volume ***" 
asmcmd volcreate -G $DG  -s 200M  $VOLNAME
VOL=`asmcmd volinfo -G ACFS $VOLNAME | grep 'Volume Device' | awk ' // { print $3 } ' ` 
echo Mount Point: $MP - Volume Name: $VOLNAME - Volume: $VOL

asmcmd volinfo -G  $DG   $VOLNAME
asmcmd volinfo -G  $DG $VOLNAME  | grep 'Volume Device'

echo "*** Re-register ACFS filesystem and create ACFS filesystem ***" 
sudo acfsutil registry -d   $MP
sudo acfsutil registry -a  $VOL $MP
sudo acfsutil registry 
sudo mkfs  -t acfs  $VOL 

echo " ***  Mount ACFS FS  and check mount status ACFS file system status ***"
sudo ssh grac41 mount  -t acfs $VOL $MP 
sudo ssh grac42 mount  -t acfs $VOL $MP 
sudo ssh grac43 mount  -t acfs $VOL $MP 

sudo ssh grac41 /bin/hostname
sudo ssh grac41 mount | grep  $VOL 
sudo ssh grac42 /bin/hostname
sudo ssh grac42 mount | grep  $VOL 
sudo ssh grac43 /bin/hostname
sudo ssh grac43 mount | grep  $VOL 

sudo /sbin/acfsutil info fs $MP

Display volume and diskgroup status 
[grid@grac41 ACFS]$ cat info_vol.sh
#/bin/bash
MP=/u01/oradata/acfs
VOLNAME=acfs_vol1
DG=ACFS

VOL=`asmcmd volinfo -G ACFS $VOLNAME | grep 'Volume Device' | awk ' // { print $3 } ' ` 
echo Mount Point: $MP - Volume Name: $VOLNAME - Volume: $VOL

echo "*** Check ASM dG ***" 
asmcmd lsdg -g $DG 
asmcmd lsattr -G $DG -l

echo "*** Check Volume   ***" 
asmcmd volinfo -G  $DG   $VOLNAME
asmcmd volinfo -G  $DG $VOLNAME  | grep 'Volume Device'

echo "*** Is mount point already registered  ***" 
sudo acfsutil registry -l   $MP

echo "***  mount status  ***" 
sudo ssh grac41 /bin/hostname
sudo ssh grac41 mount | grep  $VOL 
sudo ssh grac42 /bin/hostname
sudo ssh grac42 mount | grep  $VOL 
sudo ssh grac43 /bin/hostname
sudo ssh grac43 mount | grep  $VOL 

echo "***  check filesystem  ***" 
sudo /sbin/acfsutil info fs $MP

Reference

  • ACFS Support On OS Platforms (Certification Matrix). (Doc ID 1369107.1)
  • ASM/ACFS 11.2: How To Create A General Purpose ACFS Filesystem (Registry Managed) On RAC Through the ASMCA Assistance. (Doc ID 1524195.1)
  • How To Create A New ACFS Volume & Filesystem And Set The ACFS Filesystem Ownership To A Non-Grid/Oracle OS User (on Oracle Restart/SIHA/Standalone)? (Doc ID 1322383.1)
  • ASM/ACFS 11.2: How To Create “An ACFS CRS Managed Database Home File System For An Oracle Home Database (RDBMS)” On RAC Through the ASMCA Assistance. (Doc ID 1484221.1)
  • ASM/ACFS 11.2: Example/Demo About How To Convert A General Purpose ACFS Filesystem (Registry Managed) To CRS Managed On Release 11.2.0.X. (Doc ID 1523204.1)
  • How To Setup 11.2.0.X ACFS On Windows (64-bit) On RAC. (Doc ID 1350188.1)
  • Bug 16318126 : UEK3 SUPPORT FOR ACFS
  • Bug 19171929 : BLR BACKPORT OF BUG 16318126 ON TOP OF ACFS PSU 11.2.0.4.3 (BLR #3880917)
  • Bug 18522509 – 11.2.0.4.3 (Jul 2014) Database Patch Set Update (PSU) (Doc ID 18522509.8)

 

2 thoughts on “ACFS – A closer look”

  1. Thank you so much for a great article. I need to set up ACFS replication on a single node for DR purposes. I read it can be done on a 1-node cluster. Would I use the RAC ONE NODE software for this or the Grid Infrastructure software. I understand Oracle Restart is not supported and I cannot get the cluster install to complete with just one NIC. Your direction would be greatly appreciated. Thank you

Leave a Reply

Your email address will not be published. Required fields are marked *