LINUX.ORG.RU

Настройка Device-Mapper Multipath в RHEL 5

 , ,


0

0

Device Mapper Multipathing позволяет "собрать" несколько маршрутов ввода/вывода между сервером и дисковым массивом в единое целое и рассматривать доступный по нескольким путям массив как одно метаустройство. Например, если сервер с двумя двухпортовыми HBA подключен к одному и тому же массиву, то сервер, в самом простейшем случае, будет "видеть" четыре устройства /dev/sd{a,b,c,d}. При помощи dm-multipath можно собрать из них агрегирующее все четыре пути метаустройство /dev/dm-N, обеспечив прозрачную для операционной системы и приложений конфигурацию, отказоустойчивую в случае выхода из строя HBA, кабеля или коммутатора (если каждый HBA подключен через свой коммутатор).

>>> Подробности

а вот в HPUX оно из коробки работает. и вот что непонятно: в примере делается multipath поверх iscsi, а какой тайный смысл? почему бы не сделать bond поверх eth?

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

1) dm-multipath работает не только с iscsi. 2) iscsi "доступнее" для "повторения". Не нужны дорогие железки для лабы 3) если сузить задачу до iscsi то можно и bonding. 4) пост про Device-Mapper а не про bond

korum ★★
() автор топика

Кто использовал/сравнивал subj & EMC Powerpath? Поделитесь впечатлениями об этом.

anonymous
()
Ответ на: комментарий от korum

>dm-multipath работает не только с iscsi

для HBA статья представляет исключительно академический интерес, покольку редхат цепляет multipath при инсталляции, особенно если речь идет о поддержке вендоров, то достаточно загрузить соответствующий модуль, у нас крутится dm_emc

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

> а вот в HPUX оно из коробки работает. и вот что непонятно: в
примере делается multipath поверх iscsi, а какой тайный смысл?
почему бы не сделать bond поверх eth?

это таргеты на iSCSI хранилище:

[root@cent ~]# iscsiadm -m node
10.33.221.10:3260,1 iqn.1992-04.com.emc:ax.fcnhw075100023.a0
10.33.222.11:3260,3 iqn.1992-04.com.emc:ax.fcnhw075100023.b1
10.33.222.10:3260,2 iqn.1992-04.com.emc:ax.fcnhw075100023.b0
10.33.221.11:3260,4 iqn.1992-04.com.emc:ax.fcnhw075100023.a1

а это они же, объединённые в dm-0:

[root@cent ~]# multipath -ll
mpath1 (360060160fe411f017ad2658b137add11) dm-0 DGC,RAID 10
[size=300G][features=1 queue_if_no_path][hwhandler=1 emc]
\_ round-robin 0 [prio=2][active]
 \_ 5:0:0:0  sdc 8:32  [active][ready]
 \_ 8:0:0:0  sde 8:64  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 6:0:0:0  sdd 8:48  [active][ready]
 \_ 7:0:0:0  sdb 8:16  [active][ready]

[root@cent ~]# cat /proc/partitions
major minor  #blocks  name

   8     0  244009553 sda
   8     1     104391 sda1
   8     2   10241437 sda2
   8     3   10241437 sda3
   8     4          1 sda4
   8     5    9438156 sda5
   8     6    2096451 sda6
   8     7    8385898 sda7
   8     8  203495323 sda8
   8    16  314572800 sdb
   8    32  314572800 sdc
   8    64  314572800 sde
   8    48  314572800 sdd
 253     0  314572800 dm-0

доступ к хранилищу осуществляется через 2 соски по 1Gbit,
которые находятся в бондинге.

это я к тому, что multipath-ing и bonding - это вещи
не взаимозаменяющие друг друга :)

// wbr

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

>Кто использовал/сравнивал subj & EMC Powerpath? Поделитесь впечатлениями об этом.

За powerpath надо платить. Этим собственно все сказано. Линуксовый мультипас вездеходен - работает с любыми storage коробками, бесплатен, прост, понятен и нативен ;) (сорри за слово нерусское).

Но любители платной проприетарщины могут выбрать: powerpath, dmp, hdlm и т.д. Они тоже работают.

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

>это я к тому, что multipath-ing и bonding - это вещи не взаимозаменяющие друг друга :)

у Вас на другой стороне два стоража с репликацией? иначе как-то я смысла не вижу так изголяться.

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

> За powerpath надо платить. Этим собственно все сказано. Линуксовый мультипас вездеходен - работает с любыми storage коробками, бесплатен, прост, понятен и нативен ;) (сорри за слово нерусское).

вот только на тему "прост и понятен" я бы не стал так уж настаивать. "кто с multipath трахался тот в цирке не смеется". тем более, что багов в нём вплоть до SIGSEGV хватает :-/

но, да, бесплатен и нативен - это факт.

// wbr

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

>для HBA статья представляет исключительно академический интерес, покольку редхат цепляет multipath при инсталляции

Если мой маразм мне не изменяет, то:
1. По умолчанию в multipath.conf все устройства сидят в blacklist
2. Сервис multipathd не включен
3. Как минимум в 4-ке RHEL пакет device-mapper-multipath по умолчанию не ставился.

А статья полезная, ибо меня все больше удивляет то кол-во линуксовых админов, которые не имеют даже базового представления об основах построения вычислительной инфрастурктуры, к примеру, в части систем хранения. Так что пусть читают и учатся.

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

> За powerpath надо платить. Этим собственно все сказано. ну цена не главное. Тем более что платено он только за a/a конфигурации.

> работает с любыми storage коробками, бесплатен, прост, понятен и нативен надёжен?

а ля оракловую базу на это положить с туевой хучей raw и ocfs партиций?

anonymous
()
Ответ на: комментарий от Bebop

> Если мой маразм мне не изменяет, то:
> 1. По умолчанию в multipath.conf все устройства сидят в blacklist

не все. sd, естественно, не в блеклисте.

> 2. Сервис multipathd не включен
> 3. Как минимум в 4-ке RHEL пакет device-mapper-multipath по умолчанию не ставился.

а это да, AFAIR так они и есть. впрочем как и в RHEL5. в противном случае, бОльшая часть юзеров использовала бы dm-0 а не sda :)

// wbr

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

> За powerpath надо платить. Этим собственно все сказано.

ну цена не главное. Тем более что платено он только за a/a конфигурации.

> работает с любыми storage коробками, бесплатен, прост, понятен и нативен

Надёжен?

а ля оракловую базу на это положить с туевой хучей raw и ocfs партиций?

anonymous
()
Ответ на: комментарий от klalafuda

>вот только на тему "прост и понятен" я бы не стал так уж настаивать. "кто с multipath трахался тот в цирке не смеется". тем более, что багов в нём вплоть до SIGSEGV хватает :-/

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

PS Зато про сам iSCSI, в частности про программный таргет могу много плохого рассказать. Проще рассказать когда оно не валится, чем наоборот.

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

>а ля оракловую базу на это положить с туевой хучей raw и ocfs партиций?

А кто даст больше гарантий-то? Уж не ёмс ли?

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

>не все. sd, естественно, не в блеклисте. 

Сейчас специально посмотрел - в дефолтной инсталяции, в multipath.conf:

# Blacklist all devices by default. Remove this to enable multipathing
# on the default devices.
blacklist {
        devnode "*"
}

Или Вы о чем???

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

> PS Зато про сам iSCSI, в частности про программный таргет могу много плохого рассказать. Проще рассказать когда оно не валится, чем наоборот.

нуу есть такой момент. по крайней мере с версией из 4го RHELа я поимел приключений включая полную блокировку системы и пр. однако, если брать что посвежее, скажем, из 5го, то в принципе ничего. работает. я про iscsi-initiator-utils.

// wbr

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

> Сейчас специально посмотрел - в дефолтной инсталяции, в multipath.conf:

странно. а мне казалось, что там в черном листе было куда как более обширный список устройств :-/

// wbr

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

# cat /etc/redhat-release
Red Hat Enterprise Linux ES release 4 (Nahant Update 7)

#grep -v "^$\|^#" /etc/multipath.conf
defaults {
user_friendly_names yes
}
devnode_blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^sda"
devices {
device {
vendor "DGC"
product "*"
path_grouping_policy multibus
path_checker emc_clariion
}
}

но при все при этом:
# dmsetup table mpath0
0 209715200 multipath 1 queue_if_no_path 1 emc 2 2 round-robin 0 1 1 8:16 1000 round-robin 0 1 1 8:32 1000

машину 100% никто дополнительно не конфигурил, оно так с инсталляции

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

> А кто даст больше гарантий-то? Уж не ёмс ли?

Ну так а договор на что? ну и за 5ок лет воде граблей не было.

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

> Ну так а договор на что? ну и за 5ок лет воде граблей не было.

ммм... а что, EMC даёт какую то гарантию по поводу сохранности данных на их хранилищах? и они готовы отвечать за целостность данных в том числе финансово :-?

// wbr

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

>машину 100% никто дополнительно не конфигурил, оно так с инсталляции

А сам установщик увидев HBA и пару лунов с массива не может случаем подсобить в виде готовой конфы?

Мне просто попадались серваки куда уже после установки подцеплялись HBA.

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

>ммм... а что, EMC даёт какую то гарантию по поводу сохранности данных на их хранилищах? и они готовы отвечать за целостность данных в том числе финансово :-?

Я думаю, что это сильно зависит от количества уже закупленных симериксов и самое главное от количества планируемых к закупке =D =D =D

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

> Я думаю, что это сильно зависит от количества уже закупленных симериксов и самое главное от количества планируемых к закупке =D =D =D

что то я сильно в этом сомневаюсь. лежит у меня там небольшая база 1-2Tb ценой в десяток лимонов баксов. и что, они мне её покроют в случае утери или кто то застрахует? ой не верю..

// wbr

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

>Я думаю, что это сильно зависит от количества уже закупленных симериксов и самое главное от количества планируемых к закупке =D =D =D

ага, еще в нагрузку networker и poswersnap прикупить :)

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

>ммм... а что, EMC даёт какую то гарантию по поводу сохранности данных на их хранилищах? и они готовы отвечать за целостность данных в том числе финансово :-?

Ну за сохранность данных отвечает резервное копирование :)

Интересует стабильность, работа под большой нагрузкой.

anonymous
()
Ответ на: комментарий от borisych

> а вот в HPUX оно из коробки работает

В HP-UX оно есть из коробки только в последней версии (11.31). В предыдущих надо было ставить SecurePath/AutoPath - та еще зверюга.

Кстати, раз уж зашел разогово о HP. В последнее время DM настоятельно рекомендуется для использования под linux для работы с массивами HP. Раньше предлагалось пользоваться мультипафингом, который идет в комплекте с дровами вендова HBA (Qlogic/Emulex).

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

В свое время бодался с этим multipath - открыл много интересного.
Итак, centos 5.2 - это rhel 5.2, только бесплатный.
В сервере - две платы qlogic, соединяются с хранилищем от ibm -
ds3400. В хранилище - 2 контроллера, т.е., каждый hba qlogic соединен с отдельным котроллером.
Поставил фирменный драйвер от qlogic, включил failover.
Дергаю кабель - на уровне драйвера faiover проходит. Но хранилище его не хватает. В ibm сказали, что драйвер qlogic не совсем так отрабатывает failover - он не посылает сигнал инициализации
scsi-контроллера - потому и не работает. Рекомендовали device-mapper.
Начал с ним разбираться.
Вот несколько примеров конфигурации для device-mapper
blacklist {
devnode "^hd[a-z][[0-9]*]"
devnode "^sda[[0-9]*]"
devnode "^sda"
devnode "^sdc"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

}

defaults {
user_friendly_names yes
}


devices {
device {
vendor "IBM"
product "1726-4xx"
hardware_handler "1 rdac"
prio "rdac"
features "1 queue_if_no_path"
path_checker rdac
path_grouping_policy group_by_prio
failback immediate
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
}
}

multipaths {
mulitpath {
device {
vendor "IBM"
product "1726-4xx"
}
}
}


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

Продолжение от anonymous (*) (17.11.2008 11:37:13)

Вот еще пример данного файла

blacklist {
devnode "^hd[a-z][[0-9]*]"
devnode "^sda[[0-9]*]"
devnode "^sda"
devnode "^sdc"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

}

defaults {
user_friendly_names yes
}


multipaths {
multipath {
device {
vendor "IBM"
product "1726-4xx"
}
}
}


devices {
device {
vendor "IBM"
product "1726-4xx"
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
features "1 queue_if_no_path"
hardware_handler "1 rdac"
prio "rdac"
path_grouping_policy group_by_prio
failback immediate
path_checker tur
no_path_retry 5
product_blacklist "Universal Xport"
}
}
И еще один вариант данного файла

blacklist {
devnode "^hd[a-z][[0-9]*]"
devnode "^sda[[0-9]*]"
devnode "^sda"
devnode "^sdc"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

}

defaults {
user_friendly_names yes
}


multipaths {
multipath {
device {
vendor "IBM "
product "1726-4xx FAStT "
}
}
}


devices {
device {
vendor "IBM "
product "1726-4xx FAStT "
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
features "1 queue_if_no_path"
hardware_handler "1 rdac"
prio "rdac"
path_grouping_policy group_by_prio
failback immediate
path_checker tur
no_path_retry 5
product_blacklist "Universal Xport "
}
}

Увы, у меня не заработало.

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

Продолжаю.
Попутно выяснилось
**********
https://bugzilla.redhat.com/show_bug.cgi?id=446144

Description From Jacob Luna Lundberg 2008-05-12 20:27:43 EDT

Description of problem:
During boot, multipath fails to create devices, causing mount to fail and wait
for user input. This appears to be a new problem within the past release or
two
of multipath. It reminds me of Bug 232849 but this is RHEL5.1.


Version-Release number of selected component (if applicable):
device-mapper-multipath-0.4.7-12.el5_1.3


How reproducible:
Every time we reboot one of our production servers. I will try to start
reproducing it on a test server soon.


Steps to Reproduce:
1. Use multipath
2. Put a mpath device in /etc/fstab
3. Reboot


Actual results:
Log entries note multipathd failing to access files (in the initrd?). Boot
waits for user intervention because /dev/mapper/25L_66p1 does not exist.


Expected results:
Successful boot and mounted device.


Additional info:
I will attach the output of /var/log/messages from a boot where I entered the
root password, remounted / as rw, and continued booting without the missing
multipath device.

------- Comment #1 From Jacob Luna Lundberg 2008-05-12 20:27:43 EDT -------

Created an attachment (id=305188) [details]
Messages log from boot with error

------- Comment #2 From Jacob Luna Lundberg 2008-08-04 16:20:08 EDT -------

This happened again with a RHEL 5.2 box and I had more time to investigate.
The problem is that /sbin/mpath_prio_hds_modular tries to create a file
in /tmp
while / (and therefore /tmp) is read-only during bootup.

This happens because device names have changed and now an mpath target exists
on a device name (such as sdb) which was previously not an mpath target.
Otherwise /sbin/mpath_prio_hds_modular is able to use the file it already
created in /tmp during a time when /tmp was not read-only.

Upon reaching the recovery console and logging on with the root password, the
problem can be fixed (until the next time a device changes names) by doing:

mount -o remount,rw
multipath
^D

------- Comment #3 From Jacob Luna Lundberg 2008-08-04 16:30:57 EDT -------

mount -o remount,rw /

Bugzilla ate my comment the first time and when I retyped it I left the / off.

*******

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

Продолжение.
Потому вопрос - CentOS 5.2 x86_64, hba qlogic,
ibm storage system DS3400 - как сделать отказоустойчивую систему в данной конфигурации - желательно, через device-mapper. Чтоб если дернуть кабель - система автоматом перешла на другой контроллер без потери данных и почти мнговенно, чтоб никто ничего не почувствовал.
Заранее спасибо.

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

VMS-а вам не хватает...VMS-а... Горя б не знали...

anonymous
()
Ответ на: комментарий от Bebop

Кстати, а где можно основательно почитать по теме сетевых хранилищ? а то действительно - технологии вперед ушли, а я тут не сном ни духом.....

Vetal80
()
Ответ на: комментарий от anonymous

>Чтоб если дернуть кабель - система автоматом перешла на другой контроллер без потери данных и почти мнговенно, чтоб никто ничего не почувствовал. Заранее спасибо.

я тут недавно развлекался с дисковым массивом inventec и centos 5.2- не то чтобы мгновенно, но переходит. никаких специальных усилий не прикладывал ;-)

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

to anonymous (*) (17.11.2008 15:58:25)
>я тут недавно развлекался с дисковым массивом inventec и centos 5.2- >не то чтобы мгновенно, но переходит. никаких специальных усилий не прикладывал ;-)
Чисто на failover от qlogic - или при помощи device-mapper?
Увы, мне надо именно с ds3400...

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

>технологиям 100 лет в обед будет

Эт точно... Меняются названия а как всё было как и осталось... Вместо реально нового - прикручивание бантиков к старому...

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

По поводу сравнения PowerPath и multipath.

Как вообще можно сравнивать? PowerPath, реализующий только failover multipath, никому не нужен, в коммерческих юниксах (AIX, Solaris) multipath сто лет как из коробки.

PowerPath нужно ставить (и да, при этом за него придётся заплатить) - если хочешь нагрузку раскидать по нескольким каналам.

Loseki
()
Ответ на: комментарий от anonymous

на RHEL4 пробовали сабж- в итоге пользуем powerpath 1)удобнее он - меньше телодвижений 2)был непонятный глюк - м\д emc ломалась синхронизация (у нас их 2),но у нас к нему подключены куча HP-UX & linux 3)лицензия в районе 500$ - недорого по сравнению с emc&oracle&hp-ux :) 4)можно пользовать бесплатно (вроде) - но у нас почему то если переключался канал ,обратно он не возвращался - на emc возрастала нагрузка.

В итоге таки купили лицензии и пушисто все стало (3 раза тьфу) ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.