Oracle - ASM Filter Driver
Oracle ASM Filter Driver is a new way to bind the disk with a permanent path, instead of the using of asmlib or udev. And, additionally, it provides the protection of the disk device from the crazy operations.
- ASMCMD> afd_state
- ASMCMD-9526: The AFD state is ‘LOADED’ and filtering is ‘ENABLED’ on host ‘database01’
- ASMCMD> afd_lsdsk
- ——————————————————————————–
- Label Filtering Path
- ================================================================================
- CRSDG1 ENABLED /dev/asm-sdd
- CRSDG2 ENABLED /dev/asm-sdc
- CRSDG3 ENABLED /dev/asm-sdb
- MGMT1 ENABLED /dev/asm-sdj
Enable:
The simplest way is to choose it during the installment of Grid.
We can also enable it by using afd_configure in asmcmd.( with CRS off)
Label new disk:
- /u01/app/12.2.0/grid/bin/asmcmd afd_label DAT01 /dev/sde
Label exist disk:
- /u01/app/12.2.0/grid/bin/asmcmd afd_label CRSDG1 /dev/sdd –migrate
Unlabel:
- /u01/app/12.2.0/grid/bin/asmcmd afd_unlabel DATA1
Scan and List( like asmlib )
- asmcmd afd_lsdsk
- asmcmd afd_scan
The status in v$asm_disk
- 1* select NAME, PATH, mount_status from v$asm_disk
- SQL> /
- NAME PATH MOUNT_S
- ———- ——————– ——-
- /dev/asm-sdj IGNORED
- /dev/asm-sdc IGNORED
- /dev/asm-sdd IGNORED
- /dev/asm-sdb IGNORED
- CRSDG1 AFD:CRSDG1 CACHED
- CRSDG2 AFD:CRSDG2 CACHED
- MGMT1 AFD:MGMT1 CACHED
- CRSDG3 AFD:CRSDG3 CACHED
- 8 rows selected.
Filter — rewrite the disk
- [root@database01 ~]# dd if=/dev/zero of=/dev/oracleafd/disks/CRSDG1 bs=128 count=8000
- 8000+0 records in
- 8000+0 records out
- 1024000 bytes (1.0 MB) copied, 0.0274736 s, 37.3 MB/s
- — read the disk and find the data has been cleaned up
- [root@database01 ~]# dd if=/dev/oracleafd/disks/CRSDG1 |od -xv|tail -n 10
- 2000+0 records in
- 2000+0 records out
- 1024000 bytes (1.0 MB) copied, 0.358082 s, 2.9 MB/s
- 3717560 0000 0000 0000 0000 0000 0000 0000 0000
- 3717600 0000 0000 0000 0000 0000 0000 0000 0000
- 3717620 0000 0000 0000 0000 0000 0000 0000 0000
- 3717640 0000 0000 0000 0000 0000 0000 0000 0000
- 3717660 0000 0000 0000 0000 0000 0000 0000 0000
- 3717700 0000 0000 0000 0000 0000 0000 0000 0000
- 3717720 0000 0000 0000 0000 0000 0000 0000 0000
- 3717740 0000 0000 0000 0000 0000 0000 0000 0000
- 3717760 0000 0000 0000 0000 0000 0000 0000 0000
- 3720000
- — after reboot, data is remain
- [root@database01 ~]# dd if=/dev/oracleafd/disks/CRSDG1 |od -xv|tail -n 10
- 0+1 records in
- 0+1 records out
- 13 bytes (13 B) copied, 3.3587e-05 s, 387 kB/s
- 0000000 642f 7665 612f 6d73 732d 6464 000a
- 0000015
- — the disk is still a member of votedisk
- [grid@database01 ~]$ crsctl query css votedisk
- ## STATE File Universal Id File Name Disk group
- — —– —————– ——— ———
- 1. ONLINE 88f23183af1f4fdbbf65f93a8b927f27 (AFD:CRSDG1) [CRSDG]
- 2. ONLINE c761b16740504fd0bfdc280f4cbef571 (AFD:CRSDG2) [CRSDG]
- 3. ONLINE 24e27d7bf82f4fa4bf8bd69dd3fde7e9 (AFD:CRSDG3) [CRSDG]
- Located 3 voting disk(s).
The Path of Disk
- [grid@database01 ~]$ ls -l /dev/oracleafd/disks
- total 16
- -rwxrwx— 1 grid oinstall 13 Jun 11 22:54 CRSDG1
- -rwxrwx— 1 grid oinstall 13 Jun 11 22:54 CRSDG2
- -rwxrwx— 1 grid oinstall 13 Jun 11 22:54 CRSDG3
- -rwxrwx— 1 grid oinstall 13 Jun 11 22:54 MGMT1