У меня 2 одинаковых сервера Dell R720, работающих одинаково Oracle Enterprise Linux
(RHEL
) 6.4.
Оба сервера (предположительно) настроены абсолютно одинаково. Однако один из серверов ведет себя иначе.
При каждой другой перезагрузке имя локального жесткого диска (и связанных разделов) переключается с /dev/sda
к /dev/sdj
. Это проблематично, потому что этот сервер настроен с multipathd
, и если это изменение происходит, эта конфигурация не соответствует другому серверу, и Oracle DB (или его кластерное ПО) жалуется, что узлы не настроены идентично.
Почему один сервер имеет согласованные имена устройств, а другой сервер постоянно переключается туда и обратно?
Как сделать так, чтобы локальный жесткий диск постоянно был /dev/sda
?
изменить: я создал файл правил в /etc/udev/rules.d
со следующим правилом, но похоже, что оно не работает
KERNEL=="sd*" , PROGRAM="scsi_id --page=0x83 -–whitelisted --device=/dev/%k",RESULT=="36b8ca3a0e58a3f00195c25c8117a6822", NAME="sda"
Лучше, чем бороться с udev
заставить устройство название для данного устройство, постоянное решение - использовать UUID. Это справедливо для любого устройства, известного устройству сопоставления.
Таким образом, вам не нужно беспокоиться, если вы добавите дополнительные диски на свой хост. Идентификатор UUID гарантирует, что будет использовано правильное устройство.
Используйте псевдонимы, user_friedly_names или сделайте это с помощью udev. Все это задокументировано в Руководстве по администрированию хранилища RHEL:
Возможно, вы могли бы использовать / dev / disk / * tree вместо сопоставленного / dev / sd *
если вы используете multipathd, вам не нужно беспокоиться о том, будет ли имя диска /dev/sda
или /dev/sdj
. Используйте имя устройства, созданное с помощью multipathd
показано с multipath -ll
. Это имя постоянно. В /dev/sd*
имена относятся только к одному пути ...
Никогда не используйте необработанное разбиение диска. Используйте LVM. Вы получите одинаковую конфигурацию на обоих хостах, независимо от схемы именования дисков UUID / WWID.