==== Environment details start ===
OS : Oracle Linux 6.4
Grid Infra version : 11.2.0.4
Storage : EMC VMAX
ASM Lib version:
# rpm -qa | grep oracleasm
oracleasm-support-2.1.8-1.el6.x86_64
oracleasmlib-2.0.4-1.el6.x86_64
oracleasm version didn't come up in rpm -qa output maybe because it is part of kernel in Oracle Linux. But the above 2 components are not
==== Environment details end ===
We have a 2-node RAC cluster .
We wanted to add 2 more LUNs to our Data Diskgroup and asked storage team to provision it to both nodes in this cluster.
After they provisioned, the Linux Admin scanned the LUNs and powerpath device names were generated. The powerpath device names just like SCSI LUN Names are incremented sequentially. Because , two extra powerpath LUNs were used in Node1 for a local filesystem,the powerpath names were incrementing differently in both nodes.
So, for the same LUNs the emcpowerpath names were different in Node2 ! The Linux Admin didn't notice this difference. And he told us the powerpath names of the newly added LUNs only from Node1 which were
/dev/emcpowerv
/dev/emcpowerw
But, in Node2, the same LUNs were named
/dev/emcpowert
/dev/emcpoweru
The DBA assumed that powerpath name of these 2 LUNs will be same on node2 as well, labelled the disks using
oracleasm createdisk DATA17 /dev/emcpowerv1
oracleasm createdisk DATA18 /dev/emcpowerw1
After labelling in Node1, the DBA ran scandisks in Node2. But, during oracleasm scandisks execution in Node2, it doesn't look for /dev/emcpowerv and /dev/emcpowerw in Node2 . Instead, ASMLib is intelligent enough to read the LUN ID in Node1 and look for powerpath devices with the same LUN IDs and labels them just as Node1 !! This is how, in Node2, /dev/emcpowert is labelled DATA17 and /dev/emcpoweru is labelled DATA18 appropriately as shown below.
Node1 | Node2 | LUN ID | ASM Label |
/dev/emcpowerv | /dev/emcpowert | 873F | DATA17 |
/dev/emcpowerw | /dev/emcpoweru | 629H | DATA18 |
Confirmed this using oracleasm querydisk -p /dev/emcpower<x> command.
During labelling using oracleasm createdisk command , since we use the LUN Name I always thought ASMLib dealt only with device names (Powerpath name in this case). I didn't know that ASMLib deals with LUN IDs. If ASMLIB is dealing in LUN IDs internally , then you don't need to have same name for a particular LUN for shared disks in different RAC nodes ? Right ?