LINUX.ORG.RU
решено ФорумAdmin

Как автоматически вычислить multipath?

 


0

1

Линуксовый multipathd как-то автоматически распознаёт что например sdc и sdf - два пути к одному и тому же «диску» (речь про первое его подключение, когда никаких данных там ещё не записано). Мне лень изучать его исходники, как он это делает?

Фрибсд так не умеет, там надо вручную задавать устройства, хочу тоже автоматизировать. Из доступной информации вижу: номер шины, номер таргета на шине, номер луна, wwpn (идентификатор порта лун-провайдера). Из всего этого совпадают только номера лунов, но номер луна может совпасть и у разных дисков.

★★★★★

SCSI INQUIRY, VPD PAGE 83H

bigbit ★★★★★
()

Как уже ответли, он запрашивает инфу о диске

в частности, scsi serial

В тему: t10, t11/naa, iqn и т.д.

router ★★★★★
()
Ответ на: комментарий от ALiEN175

Да неужто?

Ну, готовь панамку, залужил

Если интересно, дома ты можешь пощупать multipath для iscsi, например

router ★★★★★
()
Ответ на: комментарий от router

serial я уже смотрел, он там пустой (у меня конкретно). Видимо без остальных параметров не обойтись, надо теперь разбираться как их в фрибсд прочитать.

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Подергай sg_inq из пакета sg3_utils.
Или scsi_id -g из udev/systemd.
То, что тебе нужно, обычно называется NAA ID и выглядит как более длинный WWN.

bigbit ★★★★★
()
Ответ на: комментарий от router

Все так, но в конце концов его затянули в systemd, ЕМНИП.

bigbit ★★★★★
()
Ответ на: комментарий от firkax

Кажется в один мультипас объединяются устройства с одинаковым wwid cat /sys/class/block/*/device/wwid.

iliyap ★★★★★
()
Ответ на: комментарий от bigbit

Хм, оказывается в штатном списке дисков есть некий lunid, который совпадает с уникальным идентификатором луна на схд, странно как я его проглядел. Но inquiry из системной утилиты camcontrol его не показывает, только пустой serial (sg3_utils не пробовал). Вобщем это то что надо. Но в линуксе то, что он называет wwid - от этого идентификатора отличается, к нему в начале приписана цифра 3. Думаю это не существенно, хотя может быть поищу откуда она берётся.

firkax ★★★★★
() автор топика
Ответ на: комментарий от firkax

«3» означает тип идентификатора (NAA ID).

А как во FreeBSD настраивается multipath? Ни разу не аттачил эту ОС к СХД.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Вот так:

gmultipath label -vA my_name da3 da6 da9 da12
daX это диски

После этого /dev/multipath/my_name это диск через все четыре пути. При последующих ребутах (или если его спрятать а потом опять расшарить этому серверу) он (и все его пути, независимо от того какие были прописаны в команде label) распознаётся уже автоматически т.к. gmultipath label записывает в последний его сектор метаданные, по которым он и распознаётся.

Есть ещё вариант без метаданных в последнем секторе, но тогда надо выполнять gmultipath create при каждом ребуте/обнаружении диска.

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Надо же, на метаданные полагается.

А как он понимает, какие пути оптимизированные, а какие нет? Просто round-robin?

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Я и не знал что пути бывают разного вида. Ну, там кажется тоже такое не учитывается. Можно вручную задать предпочтительный путь.

В мане кстати объяснено почему нет автосборки по wwn - заявляют, что уникальность этого идентификатора исключительно на совести схд-софта и может нарушиться из-за ошибок настройки, а значит на него нельзя полагаться. Рядом указан пример как вручную выявлять нужные диски для команды по serial-у, но тоже в виде: «раз у них совпадают serial-ы, будет не совсем бессмысленным предположить что это один и тот же диск, но вообще такие выводы можно делать только будучи хорошо знакомым с используемым схд».

firkax ★★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.