/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-*.

Итак, я бы

  1. Проверьте, был ли boot.multipath запущен на втором сервере
  2. Убедитесь, что udev настроен одинаково на обоих серверах
  3. Убедитесь, что 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*.

Другие вопросы по тегам