Dev mapper in linux

Помогите разобраться с разделом dev/mapper

Доброго времени суток! Помогите понять как в моей системе настроен раздел /dev/mapper/isw_cbhedgfjcb_Volume1. Небольшая предистория: на материнской (Gigabyte z170x Gaming 5) плате есть поддержка RAID. Перед установкой системы я настроил RAID 1 на 2ух дисках HDD по 1Tb (диск идентичные), а саму систему решил поставить на SDD. Загрузился с Live CD, установил систему, но она не загрузилась, пришлось поменять настройки SATA контроллера в BIOS с режима RAID на режим AHCI. После изменения настроек система загрузилась.

fdisk выдает следующее:

Диск /dev/sda: 256.1 Гб, 256060514304 байт 255 головок, 63 секторов/треков, 31130 цилиндров, всего 500118192 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Идентификатор диска: 0x232dcb17

Устр-во Загр Начало Конец Блоки Id Система /dev/sda1 2048 260098047 130048000 83 Linux /dev/sda2 * 260098048 466464767 103183360 7 HPFS/NTFS/exFAT /dev/sda3 466669566 500117503 16723969 5 Расширенный /dev/sda5 466669568 500117503 16723968 82 Linux своп / Solaris

Диск /dev/sdb: 1000.2 Гб, 1000204886016 байт 255 головок, 63 секторов/треков, 121601 цилиндров, всего 1953525168 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x000bd921

Устр-во Загр Начало Конец Блоки Id Система /dev/sdb1 2048 1062715391 531356672 83 Linux /dev/sdb2 1062715392 1952290815 444787712 7 HPFS/NTFS/exFAT

Диск /dev/sdc: 1000.2 Гб, 1000204886016 байт 255 головок, 63 секторов/треков, 121601 цилиндров, всего 1953525168 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x000bd921

Устр-во Загр Начало Конец Блоки Id Система /dev/sdc1 2048 1062715391 531356672 83 Linux /dev/sdc2 1062715392 1952290815 444787712 7 HPFS/NTFS/exFAT

Диск /dev/mapper/isw_cbhedgfjcb_Volume1: 1000.2 Гб, 1000202178560 байт 255 головок, 63 секторов/треков, 121600 цилиндров, всего 1953519880 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x000bd921

Устр-во Загр Начало Конец Блоки Id Система /dev/mapper/isw_cbhedgfjcb_Volume1p1 2048 1062715391 531356672 83 Linux /dev/mapper/isw_cbhedgfjcb_Volume1p2 1062715392 1952290815 444787712 7 HPFS/NTFS/exFAT

Диск /dev/mapper/isw_cbhedgfjcb_Volume1p1: 544.1 Гб, 544109232128 байт 255 головок, 63 секторов/треков, 66150 цилиндров, всего 1062713344 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x00000000

На диске /dev/mapper/isw_cbhedgfjcb_Volume1p1 отсутствует верная таблица разделов

Диск /dev/mapper/isw_cbhedgfjcb_Volume1p2: 455.5 Гб, 455462617088 байт 255 головок, 63 секторов/треков, 55373 цилиндров, всего 889575424 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x2052474d

Это не похоже на таблицу разделов Возможно, вы выбрали неверное устройство.

Устр-во Загр Начало Конец Блоки Id Система /dev/mapper/isw_cbhedgfjcb_Volume1p2p1 ? 6579571 1924427647 958924038+ 70 DiskSecure Multi-Boot Раздел 1 начинается не на границе физического сектора. /dev/mapper/isw_cbhedgfjcb_Volume1p2p2 ? 1953251627 3771827541 909287957+ 43 Неизвестный Раздел 2 начинается не на границе физического сектора. /dev/mapper/isw_cbhedgfjcb_Volume1p2p3 ? 225735265 225735274 5 72 Неизвестный Раздел 3 начинается не на границе физического сектора. /dev/mapper/isw_cbhedgfjcb_Volume1p2p4 2642411520 2642463409 25945 0 Пустой

Пункты таблицы разделов расположены не в дисковом порядке

у меня остались непонятки как все-таки настроен раздел из двух дисков — что это — LVM? или софтовый RAID?

Источник

Настраиваем Device Mapper Multipathing в CentOS Linux 7.2 для FC HBA при подключении к СХД HP 3PAR 7200 (3PAR OS v. 3.2.2)

В этой заметке будет рассмотрен пример того, как настроить многоканальное ( Multipath ) подключение оптических хост-контроллеров (FC HBA) Emulex/QLogic, установленных в сервере на базе ОС CentOS Linux 7.2, к системе хранения данных (СХД) HP 3PAR 7200 (версия firmware 3PAR OS3.2.2). Для настройки multipath в CentOS мы будем использовать возможности модуля ядра Linux — dm-multipath (Device Mapper Multipath, DM Multipath).

Читайте также:  Linux ubuntu многопользовательская или однопользовательская

Онлайн документация по DM Multipath, доступная на сайте CentOS.org по сути дублирует документацию с сайта RedHat и является уже устаревшей. Более актуальную версию (для 7 ветки RHEL) можно найти на сайте RedHat . Если с английским языком есть сложности, то для общего понимания первично можно заглянуть в переведённое на русский язык руководство для RHEL 6 .

Компоненты DM Multipath

Процитирую документацию для того, чтобы отразить основные компоненты DM Multipath:

  • dm-multipath (модуль ядра) — Перенаправляет ввод-вывод и обеспечивает
    отказоустойчивость маршрутов и их групп.
  • multipathd (служба) — Следит за маршрутами, инициализирует переключение групп маршрутов и позволяет изменять устройства интерактивно. Чтобы изменения в /etc/multipath.conf вступили в силу, необходим перезапуск этой службы.
  • mpathconf (утилита) — Используется для настройки и активации многоканальных
    возможностей.
  • multipath (утилита) — Возвращает список многоканальных устройств и позволяет их
    настроить. Запускается с помощью /etc/rc.sysinit или во время добавления блочного устройства при помощи udev.
  • kpartx (утилита) — Создает многоканальные устройства для разделов DOS с DM Multipath. kpartx предоставляется в виде отдельного пакета и требуется для установки device-mapper-multipath.

Модуль ядра dm-multipath поставляется вместе с системой CentOS

Утилита multipath и служба multipathd входят в состав пакета device-mapper-multipath, который мы установим позже.

Порядок настройки

Базовый сценарий настройки DM Multipath подразумевает следующие шаги:

  1. Установка пакета device-mapper-multipath.
  2. Создание конфигурационного файла multipath.conf с помощью утилиты mpathconf и его редактирование (при необходимости).
  3. Запуск службы multipathd.

Помимо этих действий мы выполним рекомендации данные производителем СХД. В нашем случае придётся взять на вооружение документ HPE 3PAR Red Hat Enterprise Linux and Oracle Linux Implementation Guide (emr_na-c04448818-9.pdf) , с учётом которого последовательность наших действий будет выглядеть следующим образом:

  1. Тюнинг драйверов FC HBA
  2. Зонирование фабрик SAN и СХД
  3. Установка и настройка DM Multipath (3 шага базового сценария)
  4. Разметка диска (опционально)
Тюнинг драйверов FC HBA

Документация рекомендует нам выполнить тюнинг драйверов хост-контроллеров с указанием конкретных предложенных параметров в файле /etc/modprobe.d/modprobe.conf с последующей пересборкой образа initramfs

Для контроллеров QLogic строка параметров тюнинга выглядит так:

Для контроллеров Emulex строка параметров тюнинга выглядит так:

Для контроллеров Brocade тюнинг выполняется отдельной командой:

Обратите внимание на то, что указанные опции драйвера справедливы только для прошивки 3PAR OS версии 3.1.1 и новее. Для старых версий 3PAR OS параметры будут несколько иные и их можно найти в ранее упомянутом документе.

В нашем случае используются только контроллеры QLogic и Emulex, поэтому сразу добавим параметры для обоих этих драйверов в файл /etc/modprobe.d/modprobe.conf (если файл в системе отсутствует, то его нужно создать):

Кстати, с помощью утилиты modinfo мы можем посмотреть краткое описание изменяемых параметров:

Теперь нужно пересобрать образ initramfs. Для этого сначала сделаем резервную копию текущего используемого образа для текущей версии ядра, затем вызовем команду пересборки нового образа, в процессе чего будет учтён добавленный нами файл modprobe.conf:

После того, как последняя команда отработает, перезагружаем сервер и убеждаемся в том, что система успешно загружается с новыми тюнингованными параметрами драйверов HBA. Для того, чтобы проверить то, что модуль с драйвером загружен именно с заданными нами параметрами можно использовать проверку файлов /sys/module/ /parameters/*

или же можно воспользоваться утилитой systool из пакета sysfsutils:

Зонирование фабрик SAN и СХД

В данный момент наш сервер ничего не видит через свой контроллер FC HBA, так как нам ещё нужно настроить зонирование на оптических коммутаторах (фабриках) SAN и СХД:

Читайте также:  Original mac os wallpapers

Для настройки зонирования нам потребуется информация о идентификаторах WWN. Идентифицировать контроллеры HBA в Linux можно разными способами. В частности, чтобы быстро узнать Node WWN, выполним:

Чтобы узнать Port WWN, выполним:

Дополнительные примеры идентификации FC HBA можно посмотреть в Вики-статье Как идентифицировать контроллеры FC HBA в CentOS Linux .

Настройку зонирования на оптических коммутаторах и СХД в данной заметке мы рассматривать не будем. Сделаю только одно важное замечание по настройке зонирования в СХД HP 3PAR 7200. При создании записи о хосте на СХД в поле Host OS выбираем наиболее близкую к нам ОС, таким образом, чтобы атрибут Persona был определён как 2-Generic-ALUA (согласно стр.12 используемого нами руководства это рекомендуемый вид для RHEL7).

Итак, предполагается, что зонирование сделано, и теперь наш сервере с CentOS 7.2 уже имеет доступ к дискам через HBA. Заставим систему обновить информацию о подключенных дисках методом описанным здесь :

После этого посмотрим, какие устройства видит наш сервер:

В нашем случае после зонирования SAN сервер увидел презентованный с 3PAR дисковый том (3PARdata Model: VV) доступный по 4 путям.

Установка и настройка DM Multipath

Устанавливаем пакет device-mapper-multipath

После установки нужно настроить основной конфигурационный файл /etc/multipath.conf , которого по умолчанию не существует. Чтобы создать этот файл в конфигурации «по умолчанию» можно воспользоваться утилитой mpathconf:

Без учёта комментариев, создаваемый файл multipath.conf по умолчанию будет иметь следующее содержимое:

Как я понял, до версии RHEL/CentOS 6 не существовало параметра автоматической настройки find_multipaths и поэтому устройства, подлежащие включению/исключению из механизма multipath, приходилось всегда прописывать в файле multipath.conf в ручную. В современной версии RHEL/CentOS всё несколько упрощено. Цитата по этому поводу из документации:

В Red Hat Enterprise Linux 6 появился новый способ настройки многоканальных устройств с
помощью параметра find_multipaths. Раньше устройства создавались для всех путей, не
внесенных в черный список. Теперь, если параметр find_multipaths имеет значение yes,
метаустройство будет создано только в одном из следующих случаев:
* Существует по крайней мере два пути с одним и тем же WWID, не указанных в списке
исключений.
* Пользователь создает устройство вручную с помощью multipath.
* Путь имеет тот же WWID что и созданное ранее метаустройство (даже если это
устройство в настоящий момент уже не существует). Раздел 4.2, «Секция blacklist»
объясняет, что делать, если многоканальные устройства были созданы, в то время как
параметр find_multipaths не был определен.

Поэтому, наверняка, в большинстве случаев можно оставить предложенный по умолчанию файл multipath.conf . Что ж, попробуем…

Выполняем запуск службы multipathd и после этого выполняем команду вывода информации о топологи multipath:

В нашем случае из вывода последней команды стало понятно, что, во-первых, не смотря на параметр find_multipaths yes, DM Multipath пытается обработать multipath для локального логического диска cciss/c0d0 с контроллера HP Smart Array P400i, на котором установлена сама CentOS 7.2 (это также хорошо видно в выводе команды multipath -v3), а во-вторых multipath с настройками по умолчанию таки смог собрать мультиканальное устройство используя все 4 пути до СХД:

Добавим регулярное выражение определяющее любые диски с контроллера Smart Array в секцию blacklist в конфигурационном файле multipath.conf .

Кстати довольно странно, что в уважаемых источниках, например здесь или здесь можно встретить пример неработающего регулярного выражения для определения дисков с контроллера Smart Array. Но наш вариант рабочий:

А чтобы более правильно настроить DM Multipath на работу СХД 3PAR, всё таки нам придётся воспользоваться точной настройкой файла multipath.conf в соответствии с рекомендацией из руководства HP, согласно которой, настройки конфигурации под хост ALUA Persona 2 (а мы помним, что именно этот тип выбран при создании записи о нашем сервере на СХД 3PAR) имеют свои особенности. В итоге результирующий файл в нашем случае примет следующий вид:

Читайте также:  При запуске windows не работает мышь клавиатура

Для вступления в силу изменений конфигурационного файла выполним перезапуск службы multipathd:

Теперь снова проверим состояние multipath:

Теперь видно, что наше multipath-устройство работает с другими настройками, а предупреждений по поводу локального контроллера Smart Array нет.

Разметка диска (опционально)

Описанные в данном разделе действия по разметке multipath-диска являются опциональными, и приведены исключительно для примера. Предположим, что нам нужно создать раздел диска с файловой системой ext4 размером всего multipath-диска.

Как видно на предыдущем скриншоте, наш multipath-диск в системе доступен по 4 путям в виде равнозначных устройств /dev/sda , /dev/sdb , /dev/sdc , /dev/sdd . Выполнить разметку можно на любом из этих устройств, но нельзя выполнять эту операцию обращаясь к устройству как к multipath-диску через /dev/mapper/* (об этом в руководстве сделано отдельное замечание). Для разметки воспользуемся утилитой parted, все действия будем выполнять на любом из дисков, например /dev/sdd . Пошагово процедуру разметки диска с помощью parted я рассматривал в статье Вики , поэтом здесь приведу лишь последовательный набор команд:

В документации отдельное внимание обращается на то, что при создании раздела диска нужно выбрать оптимальную конфигурацию для 3PAR, а именно учесть то, что раздел должен начинаться с сектора 32768. Это нужно учесть, если для разметки диска вы используете утилиту fdisk, которая по умолчанию начальным сектором устанавливает 30876, что в последствии, как я понял, может отрицательно сказаться на производительности будущего дискового раздела в Linux. Поэтому я и использую утилиту parted, которая по умолчанию при создании раздела использует правильный, с точки зрения 3PAR, начальный сектор.

В случае, если вы всё же для создания раздела будете использовать утилиту fdisk, то вызывать её нужно с соответствующими ключами (пример взят из документации и мной не проверялся):

Далее созданный раздел диска нам нужно добавить к мультиканальным устройствам в /dev/mapper/ . Для этого используем утилиту kpartx и ID корневого multipath-диска. ID видно как в выводе утилиты multipath, так и собственно в каталоге /dev/mapper/

Выполним команду добавления раздела в /dev/mapper/ :

После этого появится новое multipath-устройство ( 360002ac000000000000000160000cec9p1 ), олицетворяющее собой ранее созданный нами раздел на корневом multipath-диске ( 360002ac000000000000000160000cec9 ).

Форматируем multipath-раздел в нужную нам файловую систему, например ext4:

Теперь пропишем в файл /etc/fstab информацию для автоматического монтирования multipath-раздела в точку монтирования /mnt/3par-vv1 . Для этого сначала узнаем UUID раздела:

Потом добавим информацию о монтировании в конец файла /etc/fstab

После этого перезагружаем сервер и убеждаемся в том, что конечный результата достигнут и multipath-раздел автоматически монтируется в точку монтирования /mnt/3par-vv1

Пробуем создать новый пустой файл в смонтированном в каталог разделе, проверяя тем самым возможность записи в этот каталог. Затем пробуем удалить созданный файл:

Замечание. Multipath в кластерных конфигурациях

Если сервер, на котором мы настраиваем multipath, в дальнейшем будет использоваться в качестве узла кластера с общим дисковым хранилищем, то для возможно потребуется обеспечить то, чтобы все узлы кластера имели одинаковые настройки multipath. Для этого можно использовать механизм алиасов. В таком случае для каждого multipath-устройства можно задать опцию alias в секции multipaths конфигурационного файла multipath.conf , например:

Настройку алиасов имеет смысл делать лишь в том случае, если в секции defaults значение параметра user_friendly_names равно yes. Дополнительную информацию об этом можно найти здесь: Consistent Multipath Device Names in a Cluster .

Дополнительные источники информации:

Источник

Оцените статью