У одного из наших клиентов, который приобретал сервера и лезвия HP, а сейчас прикупил HP MSA 2040, недавно возник вопрос:
Почему сервер видит презентованный ему лун, как 4 отдельных диска одинакового объема (ОС Linux)?
Ответ прост:
Подключение к серверу в данном случае происходит по 4 независимым каналам и каждый из этих дисков представляет собой отдельный канал.
Чтобы в итоге получить один диск, для работы нужно использовать службу multipath IO.
Multipath LUN СХД к VMware ESXi
Multipath LUN СХД к Debian GNU/Linux
Немного сложнее:
На начальном этапе установки Debian GNU/Linux, мы можем столкнуться с проблемой невозможности обнаружить системой firmware ql2400_fw.bin. Решается это просто:
На рабочей Linux системе скачиваем пакет firmware-qlogic, распаковываем, записываем в образ и монтируем через ILO (действия производятся на сервере HP Proliant). Выглядит это примерно так:
#apt-get --download-only install firmware-qlogic
#cp /var/cache/apt/archives/firmware-qlogic_* .
#ar x firmware-qlogic*
#tar cJpfv data.tar.xz
#dd if=/dev/zero of=qlfw.raw bs=1M count=50
#mkdir fw
#mount -o loop qlfw.raw fw
#cp -r lib/firmware/* fw
#umount fw
Подключаем qlfw.raw через меню Virtual Device->Image File Removable Media. Если инсталятор по-прежнему не может найти firmware, это можно сделать вручную, смонтировав образ в каталог /lib/firmware и перезагрузив модуль qla2xxx. Переключаемся на текстовую консоль ( нижеследующие действия производятся в ILO. Меню Keyboard->CTRL-ALT-Fn->CTRL-ALT-F2):
#fdisk -l| grep 50
Disk /dev/sdr: 50 MiB, 52428800 bytes, 102400 sectors
#mkdir /lib/firmware
#mount /dev/sdr /lib/firmware
#rmmod qla2xxx
#modprobe qla2xxx
После чего, возвращаемся к инсталятору (меню Keyboard->CTRL-ALT-Fn->CTRL-ALT-F5), и доустанавливаем систему в штатном режиме.
На рабочей системе, нам потребуется установить пакет multipath-tools со всеми зависимостями:
#apt-get install multipath-tools
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
multipath-tools-boot
НОВЫЕ пакеты, которые будут установлены:
multipath-tools
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0 B/185 kB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 632 kB.
Выбор ранее не выбранного пакета multipath-tools.
(Чтение базы данных … на данный момент установлено 30895 файлов и каталогов.)
Подготовка к распаковке …/multipath-tools_0.5.0-6+deb8u2_amd64.deb …
Распаковывается multipath-tools (0.5.0-6+deb8u2) …
Обрабатываются триггеры для systemd (215-17+deb8u5) …
Обрабатываются триггеры для man-db (2.7.0.2-5) …
Настраивается пакет multipath-tools (0.5.0-6+deb8u2) …
Обрабатываются триггеры для libc-bin (2.19-18+deb8u6) …
Определяем автозапуск сервиса:
#systemctl enable multipath-tools
Synchronizing state for multipath-tools.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d multipath-tools defaults
Executing /usr/sbin/update-rc.d multipath-tools enable
Посмотрим, как сгруппировались устройства:
# multipath -l
36001438005dea4600001a000000f0000 dm-0 HP,HSV450
size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=0 status=active
| |- 0:0:2:1 sdd 8:48 active undef running
| |- 0:0:3:1 sde 8:64 active undef running
| |- 2:0:0:1 sdj 8:144 active undef running
| `- 2:0:1:1 sdk 8:160 active undef running
`-+- policy='service-time 0' prio=0 status=enabled
|- 0:0:0:1 sdb 8:16 active undef running
|- 0:0:1:1 sdc 8:32 active undef running
|- 2:0:2:1 sdl 8:176 active undef running
`- 2:0:3:1 sdm 8:192 active undef running
3600143801259c5630000d00000a40000 dm-1 HP,HSV360
size=200G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=0 status=active
| |- 0:0:4:1 sdf 8:80 active undef running
| |- 0:0:5:1 sdg 8:96 active undef running
| |- 2:0:4:1 sdn 8:208 active undef running
| `- 2:0:5:1 sdo 8:224 active undef running
`-+- policy='service-time 0' prio=0 status=enabled
|- 0:0:6:1 sdh 8:112 active undef running
|- 0:0:7:1 sdi 8:128 active undef running
|- 2:0:6:1 sdp 8:240 active undef running
`- 2:0:7:1 sdq 65:0 active undef running
Создадим файловую систему на нужном нам LUN'e:
# mkfs.ext4 /dev/dm-0
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 26214400 4k blocks and 6553600 inodes
Filesystem UUID: ae98a176-55d4-484a-b637-6a57a9212d3c
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
Смонтируем, и посмотрим, что получилось:
# mount /dev/dm-0 /mnt/
# df -h /mnt
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/mapper/36001438005dea4600001a000000f0000 99G 60M 94G 1% /mnt
LUN смонтирован и готов к использованию. Осталось дописать строчку в fstab:
#echo '/dev/dm-0 /mnt/ext4 defaults 0 0'>>/etc/fstab
В данном случае мы рассмотрели пример подключения к VMware ESXi и Debian GNU/Linux.
Систему выделения LUNов к серверам мы также используем у себя на хостинге
В данном случае мы используем:
1. Блейд шасси HP C7000 в максимальной комплектации, с двумя административными модулями.
2. FC коммутаторы в шасси С7000 для подключения внешних СХД — HP Brocade 8Gb 8/24c SAN Switch. Внешние FC коммутаторы — HP StorageWorks 8/40 Base 24, (24) порта Full Fabric SAN Switch.
3. СХД HPE 3PAR StorServ 7400 (4-node), HPE 3PAR StorServ 7450c (4-node), HPE 3PAR StorServ 7400c (2-node) и СХД HPE EVA P6550.
Где мы выделяем луны:
ALLFlash — only SSD
AO — смешанный SSD+SAS
NL — only SAS
В следующей статье мы рассмотрим Подключение Multipath LUN СХД к Windows Server 2008 и Windows Server 2012.
Комментарии (18)
KorP
29.10.2018 13:20+1Почему сервер видит презентованный ему лун, как 4 отдельных диска одинакового объема
По тому, что надо знать хоте немного теории о том, в чём ты в данной момент ковыряешься?
Подключение к серверу в данном случае происходит по 4 независимым каналам и каждый из этих дисков представляет собой отдельный канал.
Если уж вы пишите для чайников — пишите подробно — каждый контроллер подключён к двум независимым SAN коммутаторам, 2х2 = 4 пути. А то — какой канал, откуда 4 и тд. Не логично так писать для начинающих.icCE
29.10.2018 13:27Я бы еще посоветовал в документацию глазами залезть. Такие вещи делались мной еще в 2006-2008 году и как-то все очевидно более чем. еще лучше использовать кластерные ФС.
good_day_4all Автор
29.10.2018 14:12Залезть в документацию — это да, всегда полезно. Но, увы, не мало тех, кому проще сначала написать или позвонить, чем загуглить.
icCE
29.10.2018 14:56В любом из вариантов я не вижу проблем в Multipath.
Если оно есть в понимании, то просто идем и хотя бы читаем wiki.
Тренироватся сейчас можно на любой вирт машине. iscsci и подключаем к нему клиентов с Multipath. Это помогает понять логику работы, если она вдруг не понятна.
У вас же сильно частный случай, который описан в документации во всех его красках и для win server в том числе.
good_day_4all Автор
29.10.2018 14:11Если уж вы пишите для чайников — пишите подробно — каждый контроллер подключён к двум независимым SAN коммутаторам
В общем-то, присутствие в схеме san-свитча не обязательно. При подключении к тому же двухпортовому qlogic'у будет, соответственно, 2 линка.KorP
29.10.2018 14:28Но вы же пишите
Внешние FC коммутаторы — HP StorageWorks 8/40 Base 24
Да и в случае с блейдами — нет у вас двухпортовой карты как таковой. Ваше утверждение верно в случае классических серверов и если их не больше 2.good_day_4all Автор
29.10.2018 14:50Ну, в случае с лезвием будет какой-нибудь двухпортовый лоджик 2562. Хотя его, конечно, без свитча к хранилке не прицепить.
А по серверам — все так. В общем-то, конфиг распространенный: 2 ноды, одна хранилка. Подключение крест-накрест от каждого контроллера хранилки к каждому серваку.icCE
29.10.2018 14:57А по серверам — все так. В общем-то, конфиг распространенный: 2 ноды, одна хранилка.
и 4 подключения, если уж писать полностью то писать.
KorP
29.10.2018 15:06конфиг распространенный: 2 ноды, одна хранилка
простите, но не знаю где это является распространённым конфигом, по этому согласиться не могу. единственно место, где такую конфигурацию я видел — у себя дома :) но и то, через коммутатор всё-равноgood_day_4all Автор
29.10.2018 15:14Ну, для дома — это очень солидно (: А так, в малом бизнесе таких решений сейчас хватает. Парочка 360х 6-7 поколения с proxmox'ом или esxi и какая-нибудь p2000g3.
SandroSmith
29.10.2018 14:31У одного из наших клиентов недавно возник вопрос, который приобрел раннее сервера и HP Blade, а сейчас прикупил HP MSA 2040:
Я бы перефразировал. А то получается, что блейды приобрёл вопрос.
Naves
29.10.2018 18:551) Нарисовали бы хотя бы схему сети. Новичкам из вашей статьи ничего не понятно, откуда 4 диска, зачем 4 пути. А те, кто подключал СХД через Multipath, задаются вопросом, о чем вообще статья.
2) Для linux multipath настроили бы алиасы, а то названия 36001438005dea4600001a000000f0000 очень много дадут понять последующему админу, где там ALLFlash или HDD
3) В следующей статье про Multipath LUN СХД к Windows Server 2008 и Windows Server 2012 хотелось бы увидеть сравнение работы MPIO против MCS, а не просто инструкцию как подключить X к Y.
Клиенту еще повезло, что он увидел всего 4 диска, а не, например, все 16.
cagami
— как-то не очевидно (=
я понимаю вы бы хоть объяснили, что там используются virtual switch san
и отказоустойчивость там 2+n или что-то еще
— почему мы видим 4 диска вместо одного
потому что 4 разных пути.
good_day_4all Автор
Ну да, очевидно, но увы не всем)