/dev/disk/by-id/scsi-* links pointing to sdX instead of multipath device
We have two similar SLES10SP2 servers both using multipath on the same devices from the same storage array.
On one server, the /dev/disk/by-id/scsi-* devices properly point at the multipath devices:
server1:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000050c4933f22c -> ../../dm-1
scsi-3600a0b80005047d80000050c4933f22c-part1 -> ../../dm-2
scsi-3600a0b80005047d80000050c4933f22c-part2 -> ../../dm-3
scsi-3600a0b80005047d80000b0a14dbb20e4 -> ../../dm-0
On the other, the /dev/disk/by-id/scsi-* disk devices are pointing at one of the paths instead of the multipath dm device:
server2:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000a3464a07f6ee -> ../../dm-1
scsi-3600a0b8000505008000004f84933e183 -> ../../sda
scsi-3600a0b8000505008000004f84933e183-part1 -> ../../dm-4
scsi-3600a0b8000505008000004f84933e183-part2 -> ../../dm-5
scsi-3600a0b80005050080000057749352a81 -> ../../sdd
scsi-3600a0b80005050080000057749352a81-part1 -> ../../dm-6
scsi-3600a0b80005050080000a7cd4dbb2498 -> ../../sdg
This causes a problem as some of the disks are configured to use the entire disk as a pv.
What do we need to change on server2 to have the system set up all of the scsi-* links to point to the multipath devices instead of a single path?
From the documentation:
In SUSE Linux Enterprise Server 10, the kpartx software is used in the /etc/init.d/boot.multipath to add symlinks to the /dev/dm-* line in the multipath.conf configuration file for any newly created partitions without requiring a reboot. This triggers udevd to fill in the /dev/disk/by-* symlinks.
So, I would
- Check whether boot.multipath was run on the second server
- Check that udev is configured identically on both servers
- Check that udevd is running on the second server
If all of that is true, you could try running kpartx -a
on the multipath devices to see if the entries in /dev/disk/by-id/ are updated.
After you straighten this out, you still need to edit lvm.conf. Again, from the documentation:
By default, LVM2 does not recognize multipathed devices. To make LVM2 recognize the multipathed devices as possible physical volumes, you must modify /etc/lvm/lvm.conf. It is important to modify it so that it does not scan and use the physical paths, but only accesses the multipath I/O storage through the multipath I/O layer. If you are using user-friendly names, make sure to specify the path so that it scans only the device mapper names for the device (/dev/disk/by-id/dm-uuid-.-mpath-.) after multipathing is configured.
As it turns out, this is a known issue in SLES10SP2.
It's fixed in SLES10SP3 with package udev-085-30.58.3.6.x86_64.rpm
.