Назад | Перейти на главную страницу

/ 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- * указывают на один из путей вместо устройства 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

Это вызывает проблему, поскольку некоторые из дисков настроены на использование всего диска в качестве pv.

Что нам нужно изменить на server2, чтобы система настроила все ссылки scsi- * для указания на устройства с несколькими путями вместо одного пути?

Из документация:

В 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 / диск / по-идентификатору / обновлены.

После того, как вы это исправите, вам все равно нужно отредактировать lvm.conf. Опять же, из документация:

По умолчанию LVM2 не распознает многоточечные устройства. Чтобы LVM2 распознал устройства с несколькими путями как возможные физические тома, вы должны изменить /etc/lvm/lvm.conf. Важно изменить его так, чтобы он не сканировал и не использовал физические пути, а только обращался к хранилищу многопутевого ввода-вывода через уровень многопутевого ввода-вывода. Если вы используете понятные для пользователя имена, обязательно укажите путь, чтобы он сканировал только имена устройств сопоставления устройств для устройства (/ dev / disk / by-id / dm-uuid-.-сочувствовать-.) после настройки многопутевого режима.

Как оказалось, это известная проблема в SLES10SP2.

Это исправлено в SLES10SP3 с пакетом udev-085-30.58.3.6.x86_64.rpm.

Я бы установил правило фильтра в lvm.conf

filter =[ "a|/dev/dm|", "a|^/dev/sda2$|", "r|/dev/sd|"]

В этом примере lvm использует все / dev / md * / dev / sda2 и удаляет все остальные устройства / dev / sd *.