1. Configure a initialization script to load the ACFS modules at startup.
[root@node1 ~]# vi /etc/init.d/acfsload
#!/bin/sh
# chkconfig: 2345 30 21
# description: Load Oracle ACFS drivers at system boot
/data01/app/11.2.0/grid_1/bin/acfsload start -s
[root@node1 ~]# chmod u+x /etc/init.d/acfsload
[root@node1 ~]# chkconfig --list acfsload
acfsload 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@node1 ~]# /data01/app/11.2.0/grid_1/bin/acfsload start -s
[root@node1 ~]# lsmod | grep -i oracle
oracleacfs 1976568 0
oracleadvm 243152 0
oracleoks 426742 2 oracleacfs,oracleadvm
oracleasm 53865 1
2. Create diskgroups for acfs volumes :
SQL> CREATE DISKGROUP ACFS_DG1 EXTERNAL REDUNDANCY DISK 'ORCL:DISK3'
ATTRIBUTE 'compatible.asm' = '11.2.0.2.0', 'compatible.rdbms' = '11.2.0.2.0', 'compatible.advm' = '11.2.0.2.0' ;
Diskgroup created.
SQL> CREATE DISKGROUP ACFS_DG2 EXTERNAL REDUNDANCY DISK 'ORCL:DISK1'
ATTRIBUTE 'compatible.asm' = '11.2.0.2.0', 'compatible.rdbms' = '11.2.0.2.0', 'compatible.advm' = '11.2.0.2.0' ;
Diskgroup created.
SQL> select name,STATE , TYPE , TOTAL_MB , FREE_MB from v$asm_diskgroup where name in ('ACFS_DG1' ,'ACFS_DG2' );
NAME STATE TYPE TOTAL_MB FREE_MB
-------------------- --------------- -------------------- ---------- ----------
ACFS_DG1 MOUNTED EXTERN 5114 5064
ACFS_DG2 MOUNTED EXTERN 3067 3017
SQL> select name,compatibility, database_compatibility from v$asm_diskgroup where name in ('ACFS_DG1' ,'ACFS_DG2' );;
NAME COMPATIBILITY DATABASE_COMPATIBILITY
------------ -------------------- -------------------------------------
ACFS_DG1 11.2.0.2.0 11.2.0.2.0
ACFS_DG2 11.2.0.2.0 11.2.0.2.0
3. Create/Add volumes to the diskgroups :
SQL> alter diskgroup ACFS_DG1 add volume 'ACFS_vol1' size 5000M;
Diskgroup altered.
SQL> alter diskgroup ACFS_DG2 add volume 'ACFS_vol2' size 3000M;
Diskgroup altered.
4. Enable the Volumes
SQL> alter diskgroup ACFS_DG2 enable volume 'ACFS_vol2';
Diskgroup altered.
SQL> alter diskgroup ACFS_DG1 enable volume 'ACFS_vol1' ;
Diskgroup altered.
SQL> SELECT dg.name AS diskgroup, v.volume_name, v.volume_device, v.mountpath,v.state FROM V$ASM_DISKGROUP dg, V$ASM_VOLUME v WHERE dg.group_number = v.group_number;
DISKGROUP VOLUME_NAME VOLUME_DEVICE MOUNTPATH STATE
------------------------------ --------------- ------------------------------ ---------- ------------------------
ACFS_DG1 ACFS_VOL1 /dev/asm/acfs_vol1-454 ENABLED
ACFS_DG2 ACFS_VOL2 /dev/asm/acfs_vol2-444 ENABLED
volinfo -G ASMCMD> volinfo -G ACFS_DG1 ACFS_VOL1
Diskgroup Name: ACFS_DG1
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-454
State: ENABLED
Size (MB): 5024
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
ASMCMD> volinfo -G ACFS_DG2 ACFS_VOL2
Diskgroup Name: ACFS_DG2
Volume Name: ACFS_VOL2
Volume Device: /dev/asm/acfs_vol2-444
State: ENABLED
Size (MB): 3008
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
ASMCMD> volinfo -a
Diskgroup Name: ACFS_DG1
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-454
State: ENABLED
Size (MB): 5024
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
Diskgroup Name: ACFS_DG2
Volume Name: ACFS_VOL2
Volume Device: /dev/asm/acfs_vol2-444
State: ENABLED
Size (MB): 3008
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
5. Register mount point
[root@node1 ~]# mkdir -p /acfs_mount/acfs_vol1_DG1
[root@node1 ~]# acfsutil registry -a -f /dev/asm/acfs_vol1-454 /acfs_mount/acfs_vol1_DG1
acfsutil registry: mount point /acfs_mount/acfs_vol1_DG1 successfully added to Oracle Registry
[root@node1 ~]# mkdir -p /acfs_mount/acfs_vol2_DG2
[root@node1 ~]# acfsutil registry -a -f /dev/asm/acfs_vol2-444 /acfs_mount/acfs_vol2_DG2
acfsutil registry: mount point /acfs_mount/acfs_vol2_DG2 successfully added to Oracle Registry
[root@node1 ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_node1-lv_root
28G 16G 11G 61% /
tmpfs 1004M 326M 679M 33% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
Softwares 84G 11G 73G 13% /media/sf_Softwares
[root@node1 ~]#
6. Now mount the acfs_mounts created above :
[root@node1 ~]# mkfs.acfs -f /dev/asm/acfs_vol1-454
mkfs.acfs: version = 11.2.0.4.0
mkfs.acfs: on-disk version = 39.0
mkfs.acfs: volume = /dev/asm/acfs_vol1-454
mkfs.acfs: volume size = 5268045824
mkfs.acfs: Format complete.
[root@node1 ~]# mkfs.acfs -f /dev/asm/acfs_vol2-444
mkfs.acfs: version = 11.2.0.4.0
mkfs.acfs: on-disk version = 39.0
mkfs.acfs: volume = /dev/asm/acfs_vol2-444
mkfs.acfs: volume size = 3154116608
mkfs.acfs: Format complete.
[root@node1 ~]# mount.acfs /dev/asm/acfs_vol1-454 /acfs_mount/acfs_vol1_DG1
[root@node1 ~]# mount.acfs /dev/asm/acfs_vol2-444 /acfs_mount/acfs_vol2_DG2
[root@node1 ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_node1-lv_root
28G 16G 11G 61% /
tmpfs 1004M 326M 679M 33% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
Softwares 84G 11G 73G 13% /media/sf_Softwares
/dev/asm/acfs_vol1-454
5.0G 49M 4.9G 1% /acfs_mount/acfs_vol1_DG1
/dev/asm/acfs_vol2-444
3.0G 45M 2.9G 2% /acfs_mount/acfs_vol2_DG2
[root@node1 ~]# chown -R oracle:oinstall /acfs_vol1/
[root@node1 ~]# chown -R oracle:oinstall /acfs_vol2/
[root@node1 ~]# chmod -R 775 /acfs_vol1/
[root@node1 ~]# chmod -R 775 /acfs_vol2/
7. Verify the configuration
ASMCMD> volinfo -a
Diskgroup Name: ACFS_DG1
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-454
State: ENABLED
Size (MB): 5024
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage: ACFS
Mountpath: /acfs_mount/acfs_vol1_DG1
Diskgroup Name: ACFS_DG2
Volume Name: ACFS_VOL2
Volume Device: /dev/asm/acfs_vol2-444
State: ENABLED
Size (MB): 3008
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage: ACFS
Mountpath: /acfs_mount/acfs_vol2_DG2
SQL>SELECT dg.name AS diskgroup, v.volume_name, v.volume_device, v.mountpath,v.state FROM V$ASM_DISKGROUP dg, V$ASM_VOLUME v WHERE dg.group_number = v.group_number;
DISKGROUP VOLUME_NAM VOLUME_DEVICE MOUNTPATH STATE
---------- ---------- ------------------------------ ------------------------------ ---------------
ACFS_DG1 ACFS_VOL1 /dev/asm/acfs_vol1-454 /acfs_mount/acfs_vol1_DG1 ENABLED
ACFS_DG2 ACFS_VOL2 /dev/asm/acfs_vol2-444 /acfs_mount/acfs_vol2_DG2 ENABLED
[root@node1 ~]# vi /etc/init.d/acfsload
#!/bin/sh
# chkconfig: 2345 30 21
# description: Load Oracle ACFS drivers at system boot
/data01/app/11.2.0/grid_1/bin/acfsload start -s
[root@node1 ~]# chmod u+x /etc/init.d/acfsload
[root@node1 ~]# chkconfig --list acfsload
acfsload 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@node1 ~]# /data01/app/11.2.0/grid_1/bin/acfsload start -s
[root@node1 ~]# lsmod | grep -i oracle
oracleacfs 1976568 0
oracleadvm 243152 0
oracleoks 426742 2 oracleacfs,oracleadvm
oracleasm 53865 1
2. Create diskgroups for acfs volumes :
SQL> CREATE DISKGROUP ACFS_DG1 EXTERNAL REDUNDANCY DISK 'ORCL:DISK3'
ATTRIBUTE 'compatible.asm' = '11.2.0.2.0', 'compatible.rdbms' = '11.2.0.2.0', 'compatible.advm' = '11.2.0.2.0' ;
Diskgroup created.
SQL> CREATE DISKGROUP ACFS_DG2 EXTERNAL REDUNDANCY DISK 'ORCL:DISK1'
ATTRIBUTE 'compatible.asm' = '11.2.0.2.0', 'compatible.rdbms' = '11.2.0.2.0', 'compatible.advm' = '11.2.0.2.0' ;
Diskgroup created.
SQL> select name,STATE , TYPE , TOTAL_MB , FREE_MB from v$asm_diskgroup where name in ('ACFS_DG1' ,'ACFS_DG2' );
NAME STATE TYPE TOTAL_MB FREE_MB
-------------------- --------------- -------------------- ---------- ----------
ACFS_DG1 MOUNTED EXTERN 5114 5064
ACFS_DG2 MOUNTED EXTERN 3067 3017
SQL> select name,compatibility, database_compatibility from v$asm_diskgroup where name in ('ACFS_DG1' ,'ACFS_DG2' );;
NAME COMPATIBILITY DATABASE_COMPATIBILITY
------------ -------------------- -------------------------------------
ACFS_DG1 11.2.0.2.0 11.2.0.2.0
ACFS_DG2 11.2.0.2.0 11.2.0.2.0
3. Create/Add volumes to the diskgroups :
SQL> alter diskgroup ACFS_DG1 add volume 'ACFS_vol1' size 5000M;
Diskgroup altered.
SQL> alter diskgroup ACFS_DG2 add volume 'ACFS_vol2' size 3000M;
Diskgroup altered.
4. Enable the Volumes
SQL> alter diskgroup ACFS_DG2 enable volume 'ACFS_vol2';
Diskgroup altered.
SQL> alter diskgroup ACFS_DG1 enable volume 'ACFS_vol1' ;
Diskgroup altered.
SQL> SELECT dg.name AS diskgroup, v.volume_name, v.volume_device, v.mountpath,v.state FROM V$ASM_DISKGROUP dg, V$ASM_VOLUME v WHERE dg.group_number = v.group_number;
DISKGROUP VOLUME_NAME VOLUME_DEVICE MOUNTPATH STATE
------------------------------ --------------- ------------------------------ ---------- ------------------------
ACFS_DG1 ACFS_VOL1 /dev/asm/acfs_vol1-454 ENABLED
ACFS_DG2 ACFS_VOL2 /dev/asm/acfs_vol2-444 ENABLED
volinfo -G ASMCMD> volinfo -G ACFS_DG1 ACFS_VOL1
Diskgroup Name: ACFS_DG1
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-454
State: ENABLED
Size (MB): 5024
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
ASMCMD> volinfo -G ACFS_DG2 ACFS_VOL2
Diskgroup Name: ACFS_DG2
Volume Name: ACFS_VOL2
Volume Device: /dev/asm/acfs_vol2-444
State: ENABLED
Size (MB): 3008
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
ASMCMD> volinfo -a
Diskgroup Name: ACFS_DG1
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-454
State: ENABLED
Size (MB): 5024
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
Diskgroup Name: ACFS_DG2
Volume Name: ACFS_VOL2
Volume Device: /dev/asm/acfs_vol2-444
State: ENABLED
Size (MB): 3008
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
5. Register mount point
[root@node1 ~]# mkdir -p /acfs_mount/acfs_vol1_DG1
[root@node1 ~]# acfsutil registry -a -f /dev/asm/acfs_vol1-454 /acfs_mount/acfs_vol1_DG1
acfsutil registry: mount point /acfs_mount/acfs_vol1_DG1 successfully added to Oracle Registry
[root@node1 ~]# mkdir -p /acfs_mount/acfs_vol2_DG2
[root@node1 ~]# acfsutil registry -a -f /dev/asm/acfs_vol2-444 /acfs_mount/acfs_vol2_DG2
acfsutil registry: mount point /acfs_mount/acfs_vol2_DG2 successfully added to Oracle Registry
[root@node1 ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_node1-lv_root
28G 16G 11G 61% /
tmpfs 1004M 326M 679M 33% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
Softwares 84G 11G 73G 13% /media/sf_Softwares
[root@node1 ~]#
6. Now mount the acfs_mounts created above :
[root@node1 ~]# mkfs.acfs -f /dev/asm/acfs_vol1-454
mkfs.acfs: version = 11.2.0.4.0
mkfs.acfs: on-disk version = 39.0
mkfs.acfs: volume = /dev/asm/acfs_vol1-454
mkfs.acfs: volume size = 5268045824
mkfs.acfs: Format complete.
[root@node1 ~]# mkfs.acfs -f /dev/asm/acfs_vol2-444
mkfs.acfs: version = 11.2.0.4.0
mkfs.acfs: on-disk version = 39.0
mkfs.acfs: volume = /dev/asm/acfs_vol2-444
mkfs.acfs: volume size = 3154116608
mkfs.acfs: Format complete.
[root@node1 ~]# mount.acfs /dev/asm/acfs_vol1-454 /acfs_mount/acfs_vol1_DG1
[root@node1 ~]# mount.acfs /dev/asm/acfs_vol2-444 /acfs_mount/acfs_vol2_DG2
[root@node1 ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_node1-lv_root
28G 16G 11G 61% /
tmpfs 1004M 326M 679M 33% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
Softwares 84G 11G 73G 13% /media/sf_Softwares
/dev/asm/acfs_vol1-454
5.0G 49M 4.9G 1% /acfs_mount/acfs_vol1_DG1
/dev/asm/acfs_vol2-444
3.0G 45M 2.9G 2% /acfs_mount/acfs_vol2_DG2
[root@node1 ~]# chown -R oracle:oinstall /acfs_vol1/
[root@node1 ~]# chown -R oracle:oinstall /acfs_vol2/
[root@node1 ~]# chmod -R 775 /acfs_vol1/
[root@node1 ~]# chmod -R 775 /acfs_vol2/
7. Verify the configuration
ASMCMD> volinfo -a
Diskgroup Name: ACFS_DG1
Volume Name: ACFS_VOL1
Volume Device: /dev/asm/acfs_vol1-454
State: ENABLED
Size (MB): 5024
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage: ACFS
Mountpath: /acfs_mount/acfs_vol1_DG1
Diskgroup Name: ACFS_DG2
Volume Name: ACFS_VOL2
Volume Device: /dev/asm/acfs_vol2-444
State: ENABLED
Size (MB): 3008
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage: ACFS
Mountpath: /acfs_mount/acfs_vol2_DG2
SQL>SELECT dg.name AS diskgroup, v.volume_name, v.volume_device, v.mountpath,v.state FROM V$ASM_DISKGROUP dg, V$ASM_VOLUME v WHERE dg.group_number = v.group_number;
DISKGROUP VOLUME_NAM VOLUME_DEVICE MOUNTPATH STATE
---------- ---------- ------------------------------ ------------------------------ ---------------
ACFS_DG1 ACFS_VOL1 /dev/asm/acfs_vol1-454 /acfs_mount/acfs_vol1_DG1 ENABLED
ACFS_DG2 ACFS_VOL2 /dev/asm/acfs_vol2-444 /acfs_mount/acfs_vol2_DG2 ENABLED