There are two issues with using multipath disks in ASM. ASM cannot
handle seeing the same disk twice. If it does, it will cause an error.
A single disk can appear three times in a multipath configuration:
- The first path to the disk
- The second path to the disk
- The multipath access point
Here's an example: say a system has one local disk, /dev/sda,
and one disk attached via external storage. The machine has two
connections, or paths, to that external storage. The Linux SCSI driver
will see both paths. They will appear as /dev/sdb and
/dev/sdc. The system may access sdb or sdc,
the access ends up in the same place.
If multipathing is enabled, there will be a multipath disk, for example
/dev/multipatha, that can access both paths. That is, any I/O
to multipatha can use either path. If a system were using the
sdb path, and that cable is unplugged, the system will get an
error. But the multipath disk will know to switch to the sdc
path.
Most system software will be unaware of the multipath configuration. It
can use any of the paths, sdb, sdc, or
multipatha, and it won't know the difference. ASMLib is the
same way. The default configuration does not care which path it uses.
ASMLib will choose only one of the paths, because ASM cannot handle
seeing the same disk twice. This solves the first issue. ASM only sees
one path, and it is happy. Here is the second issue: which path does
ASM see? In its default configuration, ASMLib will choose the first
path it finds. This is the first path as reported by Linux. Depending
on your storage driver, it could be the multipath, or it could be one
of the single paths.
The system administrator wants ASMLib to always use the multipath disk.
What's the point of having it if Oracle is not using it? There is no
way, however, for ASMLib to know what a multipath looks like. It must
be told via its configuration.