Table of Contents
Overview
- KFOD is a utility to verify disks before installing Grid Infrastructure
- KFED is a utility that can be used to read and modify ASM metadata blocks. As a first debug step read the ASM disk header block and verify the ASM disk header status
Gather info for available ASM Disks
Note ASM disks can be created as - Multipath/(ISCSII) - UDEV disks - ASMLIB managed disks - UDEV managed disk List all currently used ASM disk [grid@grac41 ASM]$ asmcmd lsdsk -k Total_MB Free_MB OS_MB Name Failgroup Failgroup_Type Library Label UDID Product Redund Path 10236 4715 10236 DATA_0000 DATA_0000 REGULAR System UNKNOWN /dev/asmdisk1_udev_sdb1 10236 4713 10236 DATA_0001 DATA_0001 REGULAR System UNKNOWN /dev/asmdisk1_udev_sdc1 10236 4711 10236 DATA_0002 DATA_0002 REGULAR System UNKNOWN /dev/asmdisk1_udev_sdd1 10236 4712 10236 DATA_0003 DATA_0003 REGULAR System UNKNOWN /dev/asmdisk1_udev_sde1 2047 1696 2047 OCR_0000 OCR_0000 REGULAR System UNKNOWN /dev/asmdisk1_udev_sdf1 2047 1696 2047 OCR_0001 OCR_0001 REGULAR System UNKNOWN /dev/asmdisk1_udev_sdg1 2047 1697 2047 OCR_0002 OCR_0002 REGULAR System UNKNOWN /dev/asmdisk1_udev_sdh1 1019 875 1019 SSD_0000 SSD_0000 REGULAR System UNKNOWN /dev/asmdisk8_ssd1 1019 875 1019 SSD_0001 SSD_0001 REGULAR System UNKNOWN /dev/asmdisk8_ssd2 1019 875 1019 SSD_0002 SSD_0002 REGULAR System UNKNOWN /dev/asmdisk8_ssd3 1913 1521 1913 OPENFILER_DG_0000 OPENFILER_DG_0000 REGULAR System UNKNOWN /dev/asmdisk_OF-disk1 1913 1522 1913 OPENFILER_DG_0001 OPENFILER_DG_0001 REGULAR System UNKNOWN /dev/asmdisk_OF-disk2 1913 1522 1913 OPENFILER_DG_0002 OPENFILER_DG_0002 REGULAR System UNKNOWN /dev/asmdisk_OF-disk3 20473 15407 20473 FRA_0001 FRA_0001 REGULAR System UNKNOWN /dev/asmdisk_fra1 20473 15406 20473 FRA_0002 FRA_0002 REGULAR System UNKNOWN /dev/asmdisk_fra2 1019 882 1019 ASMLIB_DG_0000 ASMLIB_DG_0000 REGULAR System UNKNOWN /dev/oracleasm/disks/ASMLIB_DISK1 1019 882 1019 ASMLIB_DG_0001 ASMLIB_DG_0001 REGULAR System UNKNOWN /dev/oracleasm/disks/ASMLIB_DISK2 1019 882 1019 ASMLIB_DG_0002 ASMLIB_DG_0002 REGULAR System UNKNOWN /dev/oracleasm/disks/ASMLIB_DISK3 What sort of ASM disks are used ? Multipath managed disks root@grac43 ASM]# multipath -ll grac41_disk3 (14f504e46494c45525237556f4c352d574b4e6c2d446e736b) dm-4 OPNFILER,VIRTUAL-DISK size=1.9G features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 23:0:0:0 sdr 65:16 active ready running `- 24:0:0:0 sdq 65:0 active ready running grac41_disk2 (14f504e46494c4552786431396d6c2d6d4950492d52517178) dm-3 OPNFILER,VIRTUAL-DISK size=1.9G features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 19:0:0:0 sdp 8:240 active ready running `- 20:0:0:0 sdt 65:48 active ready running grac41_disk1 (14f504e46494c45523264556151442d5261336d2d566e4250) dm-2 OPNFILER,VIRTUAL-DISK size=1.9G features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 21:0:0:0 sds 65:32 active ready running `- 22:0:0:0 sdu 65:64 active ready running Check your Multipath Devices [root@grac43 ASM]# ls -l /dev/mapper/grac41* lrwxrwxrwx. 1 root root 7 Apr 27 10:44 /dev/mapper/grac41_disk1 -> ../dm-2 lrwxrwxrwx. 1 root root 19 Apr 27 10:44 /dev/mapper/grac41_disk1p1 -> ../asmdisk_OF-disk1 lrwxrwxrwx. 1 root root 7 Apr 27 10:44 /dev/mapper/grac41_disk2 -> ../dm-3 lrwxrwxrwx. 1 root root 19 Apr 27 10:44 /dev/mapper/grac41_disk2p1 -> ../asmdisk_OF-disk2 lrwxrwxrwx. 1 root root 7 Apr 27 10:44 /dev/mapper/grac41_disk3 -> ../dm-4 lrwxrwxrwx. 1 root root 19 Apr 27 10:44 /dev/mapper/grac41_disk3p1 -> ../asmdisk_OF-disk3 [root@grac43 ASM]# ls -l /dev/asmdisk_OF* brw-rw----. 1 grid asmadmin 252, 5 Apr 27 11:26 /dev/asmdisk_OF-disk1 brw-rw----. 1 grid asmadmin 252, 6 Apr 27 10:49 /dev/asmdisk_OF-disk2 brw-rw----. 1 grid asmadmin 252, 7 Apr 27 10:49 /dev/asmdisk_OF-disk3 .. [root@grac43 ASM]# ls -l /dev/dm* brw-rw----. 1 root disk 252, 0 Apr 27 10:44 /dev/dm-0 brw-rw----. 1 root disk 252, 1 Apr 27 10:44 /dev/dm-1 brw-rw----. 1 root disk 252, 2 Apr 27 10:44 /dev/dm-2 brw-rw----. 1 root disk 252, 3 Apr 27 10:44 /dev/dm-3 brw-rw----. 1 root disk 252, 4 Apr 27 10:44 /dev/dm-4 --> Disks ( /dev/mapper/grac41_disk1 ) are mapped to DM devices ( ../dm-2 ) [root@grac43 ASM]# ls -l /dev/mapper/grac41_disk1 /dev/mapper/grac41_disk2 /dev/mapper/grac41_disk3 lrwxrwxrwx. 1 root root 7 Apr 27 10:44 /dev/mapper/grac41_disk1 -> ../dm-2 lrwxrwxrwx. 1 root root 7 Apr 27 10:44 /dev/mapper/grac41_disk2 -> ../dm-3 lrwxrwxrwx. 1 root root 7 Apr 27 10:44 /dev/mapper/grac41_disk3 -> ../dm-4 --> Partitions have its own Multipath devices [root@grac43 ASM]# ls -l /dev/asmdisk_OF-disk1 /dev/asmdisk_OF-disk2 /dev/asmdisk_OF-disk3 brw-rw----. 1 grid asmadmin 252, 5 Apr 27 11:30 /dev/asmdisk_OF-disk1 brw-rw----. 1 grid asmadmin 252, 6 Apr 27 10:49 /dev/asmdisk_OF-disk2 brw-rw----. 1 grid asmadmin 252, 7 Apr 27 10:49 /dev/asmdisk_OF-disk3 ASMLIB managed disks [grid@grac41 ASM]$ /etc/init.d/oracleasm listdisks ASMLIB_DISK1 ASMLIB_DISK2 ASMLIB_DISK3 UDEV managed disks [grid@grac41 ASM]$ cd /etc/udev/rules.d [grid@grac41 rules.d]$ more 99-oracle-asmdevices.rules KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB009fb575-e6eaab6e", NAME="asmdisk1_udev_sdb1", OWNE R="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB60d9eca1-f7af15e8", NAME="asmdisk1_udev_sdc1", OWNE R="grid", GROUP="asmadmin", MODE="0660" .. --> Here we can see that some of our DISK are based on UDEV rules In short you can combine UDEV, ASMLIB and MULTIPATH based ASM disks on a single system
Checking all ASM disks by reading AMS disk header using kfed
Run as grid user the following script kfed.sh --> You need to use partitions for the kfed command You must change ASM_DISK_PATH and ASM_HOME to reflect your installation ------------------------------ Script kfed.sh ---------------------------------------- #! /bin/sh # # You many need to change ASM_DISK_PATH to pick up all availabe ASM disks # # /dev/mapper/grac41_disk*p1 for MULTTPATH devices # /dev/asmdisk_OF-disk* for UDEV configuration or # dev/oracleasm/disks/* for ASMLIB managed disks # rm /tmp/kfed*out ASM_DISK_PATH='/dev/asm* /dev/oracleasm/disks/*' # <--------- needs editing ls -l $ASM_DISK_PATH cd /u01/app/11204/grid/bin # <asm_home> # <--------- needs editing for i in `ls $ASM_DISK_PATH` do echo ./kfed read $i >> /tmp/kfed_DH.out ./kfed read $i >> /tmp/kfed_DH.out echo ./kfed read $i blkn=1 >> /tmp/kfed_FS.out ./kfed read $i blkn=1 >> /tmp/kfed_FS.out echo ./kfed read $i aun=1 blkn=254 >> /tmp/kfed_BK.out ./kfed read $i aun=1 blkn=254 >> /tmp/kfed_BK.out echo ./kfed read $i aun=2 blkn=1 >> /tmp/kfed_FD.out ./kfed read $i aun=2 blkn=1 >> /tmp/kfed_FD.out echo ./kfed read $i aun=2 blkn=2 >> /tmp/kfed_DD.out ./kfed read $i aun=2 blkn=2 >> /tmp/kfed_DD.out done cat /tmp/kfed_DH.out | egrep 'type|name|kfed|block.blk' echo " -> Further details can be found in files listed by : ls -l /tmp/kfed*out " ------------------------------- End script------------------------------------------------ Output from kfed.sh could look like : [grid@grac41 ASM]$ kfed.sh brw-rw----. 1 grid asmadmin 8, 17 Apr 29 10:08 /dev/asmdisk1_udev_sdb1 brw-rw----. 1 grid asmadmin 8, 33 Apr 29 10:07 /dev/asmdisk1_udev_sdc1 brw-rw----. 1 grid asmadmin 8, 49 Apr 29 10:08 /dev/asmdisk1_udev_sdd1 ..... brw-rw----. 1 grid asmadmin 8, 161 Apr 29 10:08 /dev/oracleasm/disks/ASMLIB_DISK1 brw-rw----. 1 grid asmadmin 8, 225 Apr 29 10:08 /dev/oracleasm/disks/ASMLIB_DISK2 brw-rw----. 1 grid asmadmin 8, 241 Apr 29 10:08 /dev/oracleasm/disks/ASMLIB_DISK3 total 0 -rw-r--r--. 1 grid oinstall 119666 Apr 29 10:08 /tmp/kfed_BK.out -rw-r--r--. 1 grid oinstall 1172661 Apr 29 10:08 /tmp/kfed_DD.out -rw-r--r--. 1 grid oinstall 119345 Apr 29 10:08 /tmp/kfed_DH.out -rw-r--r--. 1 grid oinstall 1226766 Apr 29 10:08 /tmp/kfed_FD.out -rw-r--r--. 1 grid oinstall 4893821 Apr 29 10:08 /tmp/kfed_FS.out ./kfed read /dev/asmdisk1_udev_sdb1 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.block.blk: 0 ; 0x004: blk=0 kfdhdb.dskname: DATA_0000 ; 0x028: length=9 kfdhdb.grpname: DATA ; 0x048: length=4 kfdhdb.fgname: DATA_0000 ; 0x068: length=9 kfdhdb.capname: ; 0x088: length=0 ./kfed read /dev/asmdisk1_udev_sdc1 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.block.blk: 0 ; 0x004: blk=0 kfdhdb.dskname: DATA_0001 ; 0x028: length=9 kfdhdb.grpname: DATA ; 0x048: length=4 kfdhdb.fgname: DATA_0001 ; 0x068: length=9 kfdhdb.capname: ; 0x088: length=0 ...
Collect ASM related Data like verions, OS protections, Partition Layout, Performance, AMS Disk Info using kfod
------------------------------ Script check_asm_dsk.sh ---------------------------------------- #!/bin/bash # # ./check_asm_dsk.sh >CHECK_ASM_DSK.OUT 2>&1; cat CHECK_ASM_DSK.OUT # ASM_DISK_STRING="/dev/asmdisk* /dev/oracleasm/disks/*" # ASM Disk Discovery String <--------- needs editing ASM_OWNER=grid # <asm_home sfw owner here> <--------- needs editing DB_OWNER=oracle # <db_home sfw owner here> <--------- needs editing ASM_OH=/u01/app/11204/grid # ASM ORACLE_HOME <--------- needs editing DB_OH=/u01/app/oracle/product/11204/racdb # DB ORACLE_HOME <--------- needs editing echo $ id id echo $ id $ASM_OWNER id $ASM_OWNER # <asm_home sfw owner here> <--------- needs editing echo $ id $DB_OWNER id $DB_OWNER # <db_home sfw owner here> <--------- needs editin echo $ ls -ltra $ASM_OH/bin/oracle ls -ltra $ASM_OH/bin/oracle # <asm_home>/bin/oracle # <--------- needs editing echo $ -ltra /u01/app/oracle/product/11204/racdb/bin/oracle ls -ltra /u01/app/oracle/product/11204/racdb/bin/oracle # <oracle_home>/bin/oracle <--------- needs editing echo $ cat /etc/*-release cat /etc/*-release echo $ cat /etc/issue cat /etc/issue echo $ cat /proc/version cat /proc/version echo $ lsb_release -id lsb_release -id echo $ uname -a uname -a echo $ rpm -qa|grep oracleasm rpm -qa|grep oracleasm echo $ /etc/init.d/oracleasm status /etc/init.d/oracleasm status echo $ /sbin/lsmod | grep oracleasm /sbin/lsmod | grep oracleasm echo $ df -ha df -ha date echo $ ls -ltra $ASM_DISK_STRING ls -ltra $ASM_DISK_STRING for i in `ls $ASM_DISK_STRING` do echo "$ dd if=$i of=/dev/null bs=1048576 count=5" dd if=$i of=/dev/null bs=1048576 count=5 #<----- the following command only attempts to read a devie (it does not write anything) echo "" done echo $ cat /proc/partitions cat /proc/partitions echo "-> ASMLIB disks discover" /etc/init.d/oracleasm querydisk -d `/etc/init.d/oracleasm listdisks -d` | cut -f2,10,11 -d" " | perl -pe 's/"(.*)".*\[(.*), *(.*)\]/$1 $2 $3/g;' | while read v_asmdisk v_minor v_major do v_device=`ls -la /dev | grep " $v_minor, *$v_major " | awk '{print $10}'` echo "ASM disk $v_asmdisk based on /dev/$v_device [$v_minor, $v_major]" done echo $ /etc/init.d/oracleasm listdisks # (either from /usr/sbin or /etc/init.d directories) /etc/init.d/oracleasm listdisks # (either from /usr/sbin or /etc/init.d directories) echo $ /usr/sbin/./oracleasm-discover /usr/sbin/./oracleasm-discover cd /u01/app/11204/grid/bin # (ASM Oracle Home) <--------- needs editing echo $ ./kfod asm_diskstring=$ASM_DISK_STRING disks=all ./kfod asm_diskstring=$ASM_DISK_STRING" disks=all # Display ASMLIB managed Diks only # Use /dev/oracleasm/disks/* instead of ORCL:* to avoid user and grop are reported as unknown echo $ ./kfod asm_diskstring="/dev/oracleasm/disks/*" disks=all ./kfod asm_diskstring="/dev/oracleasm/disks/*" disks=all" echo $ ./kfod disks=all ./kfod disks=all echo $ cat /etc/sysconfig/oracleasm cat /etc/sysconfig/oracleasm exit ------------------------------ End Script check_asm_dsk.sh ---------------------------------------- [grid@grac41 ASM]$ bash [grid@grac41 ASM]$ ./check_asm_dsk.sh >CHECK_ASM_DSK.OUT 2>&1; cat CHECK_ASM_DSK.OUT
Output from script ./check_asm_dsk.sh
$ id uid=501(grid) gid=54321(oinstall) groups=54321(oinstall),500(vboxsf),504(asmadmin),506(asmdba),507(asmoper),54322(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 $ id grid uid=501(grid) gid=54321(oinstall) groups=54321(oinstall),500(vboxsf),54322(dba),504(asmadmin),506(asmdba),507(asmoper) $ id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),500(vboxsf),54322(dba),506(asmdba) $ ls -ltra /u01/app/11204/grid/bin/oracle -rwsr-s--x. 1 grid oinstall 209914471 Sep 12 2013 /u01/app/11204/grid/bin/oracle $ -ltra /u01/app/oracle/product/11204/racdb/bin/oracle -rwsr-s--x. 1 oracle asmadmin 239626641 Sep 14 2013 /u01/app/oracle/product/11204/racdb/bin/oracle $ cat /etc/lsb-release /etc/oracle-release /etc/redhat-release /etc/system-release LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Oracle Linux Server release 6.5 Red Hat Enterprise Linux Server release 6.5 (Santiago) Oracle Linux Server release 6.5 $ cat /etc/issue Oracle Linux Server release 6.5 Kernel \r on an \m $ cat /proc/version Linux version 2.6.39-400.214.4.el6uek.x86_64 (mockbuild@ca-build44.us.oracle.com) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP Tue Mar 25 18:05:58 PDT 2014 $ lsb_release -id Distributor ID: OracleServer Description: Oracle Linux Server release 6.5 $ uname -a Linux grac41.example.com 2.6.39-400.214.4.el6uek.x86_64 #1 SMP Tue Mar 25 18:05:58 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux oracleasmlib-2.0.4-1.el6.x86_64 kmod-oracleasm-2.0.6.rh1-2.el6.x86_64 oracleasm-support-2.1.8-1.el6.x86_64 $ /etc/init.d/oracleasm status Checking if ASM is loaded: yes Checking if /dev/oracleasm is mounted: yes oracleasm 53865 1 $ df -ha df: `/root/.gvfs': Permission denied Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_oel64-lv_root 38G 26G 11G 72% / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devpts 0 0 0 - /dev/pts tmpfs 4.0G 120M 3.9G 3% /dev/shm /dev/sda1 485M 146M 314M 32% /boot none 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs ns1:/shared_data_nfs 35G 24G 9.7G 71% /u01/oradata oracleasmfs 0 0 0 - /dev/oracleasm kits 2.8T 1.3T 1.5T 48% /media/sf_kits patches 2.8T 1.3T 1.5T 48% /media/sf_patches Thu May 1 14:12:52 CEST 2014 $ ls -ltra /dev/asmdisk1_udev_sdb1 /dev/asmdisk1_udev_sdc1 /dev/asmdisk1_udev_sdd1 /dev/asmdisk1_udev_sde1 /dev/asmdisk1_udev_sdf1 /dev/asmdisk1_udev_sdg1 /dev/asmdisk1_udev_sdh1 /dev/asmdisk8_ssd1 /dev/asmdisk8_ssd2 /dev/asmdisk8_ssd3 /dev/asmdisk_fra1 /dev/asmdisk_fra2 /dev/asmdisk_OF-disk1 /dev/asmdisk_OF-disk2 /dev/asmdisk_OF-disk3 /dev/oracleasm/disks/ASMLIB_DISK1 /dev/oracleasm/disks/ASMLIB_DISK2 /dev/oracleasm/disks/ASMLIB_DISK3 brw-rw----. 1 grid asmadmin 252, 7 May 1 14:08 /dev/asmdisk_OF-disk1 brw-rw----. 1 grid asmadmin 252, 5 May 1 14:08 /dev/asmdisk_OF-disk2 brw-rw----. 1 grid asmadmin 252, 6 May 1 14:08 /dev/asmdisk_OF-disk3 brw-rw----. 1 grid asmadmin 8, 129 May 1 14:08 /dev/asmdisk8_ssd2 brw-rw----. 1 grid asmadmin 8, 145 May 1 14:08 /dev/asmdisk8_ssd3 brw-rw----. 1 grid asmadmin 8, 193 May 1 14:08 /dev/asmdisk_fra1 brw-rw----. 1 grid asmadmin 8, 177 May 1 14:08 /dev/asmdisk8_ssd1 brw-rw----. 1 grid asmadmin 8, 17 May 1 14:08 /dev/asmdisk1_udev_sdb1 brw-rw----. 1 grid asmadmin 8, 209 May 1 14:12 /dev/asmdisk_fra2 brw-rw----. 1 grid asmadmin 8, 65 May 1 14:12 /dev/asmdisk1_udev_sde1 brw-rw----. 1 grid asmadmin 8, 49 May 1 14:12 /dev/asmdisk1_udev_sdd1 brw-rw----. 1 grid asmadmin 8, 33 May 1 14:12 /dev/asmdisk1_udev_sdc1 brw-rw----. 1 grid asmadmin 8, 81 May 1 14:12 /dev/asmdisk1_udev_sdf1 brw-rw----. 1 grid asmadmin 8, 97 May 1 14:12 /dev/asmdisk1_udev_sdg1 brw-rw----. 1 grid asmadmin 8, 113 May 1 14:12 /dev/asmdisk1_udev_sdh1 brw-rw----. 1 grid asmadmin 8, 241 May 1 14:12 /dev/oracleasm/disks/ASMLIB_DISK3 brw-rw----. 1 grid asmadmin 8, 225 May 1 14:12 /dev/oracleasm/disks/ASMLIB_DISK2 brw-rw----. 1 grid asmadmin 8, 161 May 1 14:12 /dev/oracleasm/disks/ASMLIB_DISK1 $ dd if=/dev/asmdisk1_udev_sdb1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.15644 s, 33.5 MB/s $ dd if=/dev/asmdisk1_udev_sdc1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.167998 s, 31.2 MB/s $ dd if=/dev/asmdisk1_udev_sdd1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.188401 s, 27.8 MB/s $ dd if=/dev/asmdisk1_udev_sde1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.199952 s, 26.2 MB/s $ dd if=/dev/asmdisk1_udev_sdf1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.259633 s, 20.2 MB/s $ dd if=/dev/asmdisk1_udev_sdg1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.233417 s, 22.5 MB/s $ dd if=/dev/asmdisk1_udev_sdh1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.23723 s, 22.1 MB/s $ dd if=/dev/asmdisk8_ssd1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.212136 s, 24.7 MB/s $ dd if=/dev/asmdisk8_ssd2 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.0576401 s, 91.0 MB/s $ dd if=/dev/asmdisk8_ssd3 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.0530667 s, 98.8 MB/s $ dd if=/dev/asmdisk_fra1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.201408 s, 26.0 MB/s $ dd if=/dev/asmdisk_fra2 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.247131 s, 21.2 MB/s $ dd if=/dev/asmdisk_OF-disk1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.301265 s, 17.4 MB/s $ dd if=/dev/asmdisk_OF-disk2 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.31729 s, 16.5 MB/s $ dd if=/dev/asmdisk_OF-disk3 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.2728 s, 19.2 MB/s $ dd if=/dev/oracleasm/disks/ASMLIB_DISK1 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.232534 s, 22.5 MB/s $ dd if=/dev/oracleasm/disks/ASMLIB_DISK2 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.206302 s, 25.4 MB/s $ dd if=/dev/oracleasm/disks/ASMLIB_DISK3 of=/dev/null bs=1048576 count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.200658 s, 26.1 MB/s $ cat /proc/partitions major minor #blocks name 8 0 49152000 sda 8 1 512000 sda1 8 2 42300416 sda2 8 3 6337427 sda3 8 16 10485760 sdb 8 17 10482381 sdb1 8 32 10485760 sdc 8 33 10482381 sdc1 8 48 10485760 sdd 8 49 10482381 sdd1 8 64 10485760 sde 8 65 10482381 sde1 8 80 2097152 sdf 8 81 2096451 sdf1 8 96 2097152 sdg 8 97 2096451 sdg1 8 112 2097152 sdh 8 113 2096451 sdh1 8 128 1048576 sdi 8 129 1044193 sdi1 8 144 1048576 sdj 8 145 1044193 sdj1 8 160 1048576 sdk 8 161 1044193 sdk1 8 176 1048576 sdl 8 177 1044193 sdl1 8 192 20971520 sdm 8 193 20964793 sdm1 8 208 20971520 sdn 8 209 20964793 sdn1 8 224 1048576 sdo 8 225 1044193 sdo1 8 240 1048576 sdp 8 241 1044193 sdp1 252 0 40235008 dm-0 252 1 5210112 dm-1 65 16 1966080 sdr 65 17 1959898 sdr1 65 32 1966080 sds 65 33 1959898 sds1 65 48 1966080 sdt 65 49 1959898 sdt1 65 80 1966080 sdv 65 81 1959898 sdv1 65 64 1966080 sdu 65 65 1959898 sdu1 65 0 1966080 sdq 65 1 1959898 sdq1 252 2 1966080 dm-2 252 3 1966080 dm-3 252 4 1966080 dm-4 252 5 1959898 dm-5 252 6 1959898 dm-6 252 7 1959898 dm-7 -> ASMLIB disks discover ASM disk ASMLIB_DISK1 based on /dev/sdk1 [8, 161] ASM disk ASMLIB_DISK2 based on /dev/sdo1 [8, 225] ASM disk ASMLIB_DISK3 based on /dev/sdp1 [8, 241] $ /etc/init.d/oracleasm listdisks ASMLIB_DISK1 ASMLIB_DISK2 ASMLIB_DISK3 $ /usr/sbin/./oracleasm-discover Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so [ASM Library - Generic Linux, version 2.0.4 (KABI_V2)] Discovered disk: ORCL:ASMLIB_DISK1 [2088387 blocks (1069254144 bytes), maxio 512] Discovered disk: ORCL:ASMLIB_DISK2 [2088387 blocks (1069254144 bytes), maxio 512] Discovered disk: ORCL:ASMLIB_DISK3 [2088387 blocks (1069254144 bytes), maxio 512] $ ./kfod asm_diskstring=/dev/asmdisk* /dev/oracleasm/disks/ASMLIB_DISK1 /dev/oracleasm/disks/ASMLIB_DISK2 /dev/oracleasm/disks/ASMLIB_DISK3 disks=all _asm_a/llow_only_raw_disks KFOD allow only raw devices [_asm_allow_only_raw_disks=TRUE/(FALSE)] _asm_l/ibraries ASM Libraries[_asm_libraries=lib1,lib2,...] _asms/id ASM Instance[_asmsid=sid] a/sm_diskstring ASM Diskstring [asm_diskstring=discoverystring, discoverystring ...] c/luster KFOD cluster [cluster=TRUE/(FALSE)] db/_unique_name db_unique_name for ASM instance[db_unique_name=dbname] di/sks Disks to discover [disks=raw,asm,badsize,all] ds/cvgroup Include group name [dscvgroup=TRUE/(FALSE)] g/roup Disks in diskgroup [group=diskgroup] h/ostlist hostlist[hostlist=host1,host2,...] metadata_a/usize AU Size for Metadata Size Calculation metadata_c/lients Client Count for Metadata Size Calculation metadata_d/isks Disk Count for Metadata Size Calculation metadata_n/odes Node Count for Metadata Size Calculation metadata_r/edundancy Redundancy for Metadata Size Calculation n/ohdr KFOD header suppression [nohdr=TRUE/(FALSE)] o/p KFOD options type [OP=DISKS/CANDIDATES/MISSING/GROUPS/INSTS/VERSION/CLIENTS/RM/RMVERS/DFLTDSTR/GPNPDSTR/METADATA/ALL] p/file ASM parameter file [pfile=parameterfile] s/tatus Include disk header status [status=TRUE/(FALSE)] v/erbose KFOD verbose errors [verbose=TRUE/(FALSE)] KFOD-00101: LRM error [102] while parsing command line arguments $ ./kfod disks=all -------------------------------------------------------------------------------- Disk Size Path User Group ================================================================================ 1: 10236 Mb /dev/asmdisk1_udev_sdb1 grid asmadmin 2: 10236 Mb /dev/asmdisk1_udev_sdc1 grid asmadmin 3: 10236 Mb /dev/asmdisk1_udev_sdd1 grid asmadmin 4: 10236 Mb /dev/asmdisk1_udev_sde1 grid asmadmin 5: 2047 Mb /dev/asmdisk1_udev_sdf1 grid asmadmin 6: 2047 Mb /dev/asmdisk1_udev_sdg1 grid asmadmin 7: 2047 Mb /dev/asmdisk1_udev_sdh1 grid asmadmin 8: 1019 Mb /dev/asmdisk8_ssd1 grid asmadmin 9: 1019 Mb /dev/asmdisk8_ssd2 grid asmadmin 10: 1019 Mb /dev/asmdisk8_ssd3 grid asmadmin 11: 1913 Mb /dev/asmdisk_OF-disk1 grid asmadmin 12: 1913 Mb /dev/asmdisk_OF-disk2 grid asmadmin 13: 1913 Mb /dev/asmdisk_OF-disk3 grid asmadmin 14: 20473 Mb /dev/asmdisk_fra1 grid asmadmin 15: 20473 Mb /dev/asmdisk_fra2 grid asmadmin 16: 1019 Mb /dev/oracleasm/disks/ASMLIB_DISK1 grid asmadmin 17: 1019 Mb /dev/oracleasm/disks/ASMLIB_DISK2 grid asmadmin 18: 1019 Mb /dev/oracleasm/disks/ASMLIB_DISK3 grid asmadmin 19: 1019 Mb ORCL:ASMLIB_DISK1 <unknown> <unknown> 20: 1019 Mb ORCL:ASMLIB_DISK2 <unknown> <unknown> 21: 1019 Mb ORCL:ASMLIB_DISK3 <unknown> <unknown> -------------------------------------------------------------------------------- ORACLE_SID ORACLE_HOME ================================================================================ +ASM2 /u01/app/11204/grid +ASM1 /u01/app/11204/grid $ cat /etc/sysconfig/oracleasm # # This is a configuration file for automatic loading of the Oracle # Automatic Storage Management library kernel driver. It is generated # By running /etc/init.d/oracleasm configure. Please use that method # to modify this file # # ORACLEASM_ENABLED: 'true' means to load the driver on boot. ORACLEASM_ENABLED=true # ORACLEASM_UID: Default user owning the /dev/oracleasm mount point. ORACLEASM_UID=grid # ORACLEASM_GID: Default group owning the /dev/oracleasm mount point. ORACLEASM_GID=asmadmin # ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot. ORACLEASM_SCANBOOT=true # ORACLEASM_SCANORDER: Matching patterns to order disk scanning ORACLEASM_SCANORDER="" # ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan ORACLEASM_SCANEXCLUDE="" # ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size # reported by the underlying disk instead of the physical. The default # is 'false' ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false
References
- http://asmsupportguy.blogspot.de/2010/04/kfed-asm-metadata-editor.html
- http://asmsupportguy.blogspot.de/2012/04/asm-in-exadata.html
- http://asmsupportguy.blogspot.de/2011/09/asm-toolbox.html