Tag Archives: voting asm disk cluster clusterware css crs

Having the voting disk in ASM is a clusterware/database 11gr2 ( feature. The first time I heard about it, it got me thinking: the clusterware needs to up before the ASM instance can start, because ASM relies on the clusterware for detecting machine and cluster problems. But: ASM needs to be started to be able to find files inside ASM. Classic chicken-egg problem…

So how does the clusterware find the voting disk when it is starting? ASM is not up at that time, so it can not ask the ASM instance.

What the clusterware does, is query the diskheaders of the ASM disks. In the (11gr2) ASM disk header, there’s room to tell if, and where the voting disk is present on that disk:

$ kfed read /dev/mapper/vg00-lvasm
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD
snipped for readability
kfdhdb.vfstart: 352 ; 0x0ec: 0x00000160
kfdhdb.vfend: 384 ; 0x0f0: 0x00000180
snipped for readability

kfdhdb.vfstart tells the begin allocation unit offset of the voting disk, kfdhdb.vfend tells the end offset.

This information is not present inside the ASM instance; that is what kept me busy for some time 😉

%d bloggers like this: