/dev/disk/by-id/scsi-* ссылки, указывающие на sdX вместо многолучевого устройства
У нас есть два одинаковых сервера SLES10SP2, которые используют многолучевое распространение на одних и тех же устройствах из одного массива хранения.
На одном сервере устройства /dev/disk/by-id/scsi-* правильно указывают на многолучевые устройства:
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
С другой стороны, дисковые устройства /dev/disk/by-id/scsi-* указывают на один из путей вместо многопутевого устройства 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
Это вызывает проблему, поскольку некоторые диски настроены на использование всего диска в качестве PV.
Что нам нужно изменить на сервере server2, чтобы система настроила все ссылки scsi- *, чтобы они указывали на многолучевые устройства вместо одного пути?
3 ответа
Как выясняется, это известная проблема в SLES10SP2.
Это исправлено в SLES10SP3 с пакетом udev-085-30.58.3.6.x86_64.rpm
,
Из документации:
В SUSE Linux Enterprise Server 10 программное обеспечение kpartx используется в /etc/init.d/boot.multipath для добавления символических ссылок в строку /dev/dm-* в файле конфигурации multipath.conf для всех вновь создаваемых разделов без необходимости перезагрузка. Это заставляет udevd заполнять символьные ссылки /dev/disk/by-*.
Итак, я бы
- Проверьте, был ли boot.multipath запущен на втором сервере
- Убедитесь, что udev настроен одинаково на обоих серверах
- Убедитесь, что udevd работает на втором сервере
Если все это правда, вы можете попробовать запустить kpartx -a
на устройствах с многолучевым распространением, чтобы увидеть, обновляются ли записи в / dev / disk / by-id /.
После того, как вы исправите это, вам все еще нужно отредактировать lvm.conf. Опять же из документации:
По умолчанию LVM2 не распознает несколько устройств. Чтобы LVM2 распознал устройства с несколькими потоками как возможные физические тома, вы должны изменить /etc/lvm/lvm.conf. Важно изменить его так, чтобы он не сканировал и не использовал физические пути, а только обращался к хранилищу многопутевого ввода-вывода через уровень многопутевого ввода-вывода. Если вы используете удобные для пользователя имена, обязательно укажите путь, чтобы он сканировал только имена сопоставителей устройств для устройства (/ dev / disk / by-id / dm-uuid-.-Mpath-.) После сконфигурировано.
Я бы настроил правило фильтра в lvm.conf
filter =[ "a|/dev/dm|", "a|^/dev/sda2$|", "r|/dev/sd|"]
В этом примере lvm использует все /dev/md* /dev/sda2 и удаляет все другие устройства /dev/sd*.