Помогите разобраться с разделом 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 OS — 3.2.2). Для настройки multipath в CentOS мы будем использовать возможности модуля ядра Linux — dm-multipath (Device Mapper Multipath, DM Multipath).
Онлайн документация по 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 подразумевает следующие шаги:
- Установка пакета device-mapper-multipath.
- Создание конфигурационного файла multipath.conf с помощью утилиты mpathconf и его редактирование (при необходимости).
- Запуск службы multipathd.
Помимо этих действий мы выполним рекомендации данные производителем СХД. В нашем случае придётся взять на вооружение документ HPE 3PAR Red Hat Enterprise Linux and Oracle Linux Implementation Guide (emr_na-c04448818-9.pdf) , с учётом которого последовательность наших действий будет выглядеть следующим образом:
- Тюнинг драйверов FC HBA
- Зонирование фабрик SAN и СХД
- Установка и настройка DM Multipath (3 шага базового сценария)
- Разметка диска (опционально)
Тюнинг драйверов 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 и СХД:
Для настройки зонирования нам потребуется информация о идентификаторах 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) имеют свои особенности. В итоге результирующий файл в нашем случае примет следующий вид:
Для вступления в силу изменений конфигурационного файла выполним перезапуск службы 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 .
Дополнительные источники информации:
Источник