Como se constata, este é um problema conhecido no SLES10SP2.
Ele foi corrigido no SLES10SP3 com o pacote udev-085-30.58.3.6.x86_64.rpm
.
Temos dois servidores SLES10SP2 semelhantes, ambos usando multipath nos mesmos dispositivos da mesma matriz de armazenamento.
Em um servidor, os dispositivos / dev / disk / by-id / scsi- * apontam corretamente dispositivos multipath:
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
Por outro lado, os dispositivos / dev / disk / by-id / scsi- * estão apontando para um dos os caminhos em vez do dispositivo multipath dm:
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
Isso causa um problema, pois alguns dos discos estão configurados para usar todo o disco como um pv.
O que precisamos mudar no server2 para que o sistema configure todos os links scsi- * para apontar para os dispositivos multipath em vez de um único caminho?
Na documentação :
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.
Então, eu faria
Se tudo isso for verdade, você pode tentar executar kpartx -a
nos dispositivos multipath para ver se as entradas em / dev / disk / by-id / estão atualizadas.
Depois de corrigir isso, você ainda precisa editar o lvm.conf. Mais uma vez, na documentação :
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.
Eu configuraria uma regra de filtro em lvm.conf
filter =[ "a|/dev/dm|", "a|^/dev/sda2$|", "r|/dev/sd|"]
Neste exemplo, o lvm usa todos os / dev / md * / dev / sda2 e remove todos os outros dispositivos / dev / sd *.