Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
www.lissyara.su
|
|
где host10 - наше целевое устройство. Можно посмотреть в каталоге /sys/class/fc_host/, либо через утилиту systool:
|
Если необходимо узнать WWN адаптера, доступной по Fibre Channel, то информацию можно найти в каталоге:
|
, где rport-6:0-2 - один из доступных (в примере - только один) HBA.
Непосредственно WWN адаптера:
|
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Основы Fibre Channel
Linux I/O: Fibre Channel - The Linux SCSI Target Wiki
Настройка FC HBA и подключение SCSI-томов в Linux c внешнего SAN-хранилища
Fibre Channel storage with HBA target mode
SCST: Generic SCSI Target Subsystem for Linux
Настройка Openfiler в качестве Fibre Channel таргета
Создаем своими руками Fiber Channel Target (Linux)
б) HBA Emulex
1 - ПРОГРАММЫ УПРАВЛЕНИЯ, ПРОШИВКИ
Первоначально скачиваем с сайта Emulex необходимые пакеты:
1) Application Kit 10.2.370.16 (GUI / CLI) - я скачивал GUI, поставил его и с ним работал, но не понял, как запустить саму GUI - работал через CLI;
2) Linux Elxflash Online Utility 10.2.370.19;
3) прошивки для своих карт: у меня LPE12000, поэтому скачивал:
3.1) Firmware 2.01a12;
3.2) Universal Boot.
Вначале устанавливаем Application Kit. Для этого понадобится немного подправить install.sh, т.к. установка на Fedora Linux не предусмотрена.
В моём случае пришлось строки 514-515 исправить, указав, что у меня RHEL7:
|
Запускаем исправленный install.sh и ставим утилиту.
После этого лучше сразу обновить карту последними прошивками: для это и нужны Linux Elxflash Offline, Firmware и Universal Boot.
Распаковываем Linux Elxflash Online ( ../x86_64/rhel-7/elxflashOnline-10.2.370.19 ), во вложеные каталоги ./boot и ./firmware распаковываем содержимое Universal Boot и Firmware и запускам эту утилиту:
|
Более подробное описание параметров доступны в "хелпе", а примеры - в файле ./lcreflsh.sh.
2 - УПРАВЛЕНИЕ HBA
Для управления Emulex HBA используется утилита hbacmd, входящая в состав ранее установленного пакета Application Kit.
Выбор топологии:
|
где host6 - номер устройства, которое можно определить из:
|
hbacmd - утилита управления HBA Emulex из пакета пакета OneCommand:
|
Подробно все параметры утилиты hbacmd расписаны в документе "OneCommand™ Manager Command Line Interface".
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Emulex drivers for linux
Emulex: Setting lpfc driver and SCSI mid-layer logging on Linux
lpfc SCST Support
в) HBA QLogic
По умолчанию FC HBA стартует в режиме инициатора (initiator mode), поэтому надо карту при инициализации перевести в режим цели (target mode).
Для этого есть два варианта:
1) дописать в параметры ядра ещё один (и перегрузиться, конечно):
|
2) создать файл /etc/modprobe.d/qla2xxx.conf с такой строкой:
|
При использовании второго варианта надо помнить, что данного вида карты инициализируются на очень раннем этапе загрузки, когда ещё "работает" образ initrd, то просто перезагрузка ничего не даст - необходимо пересобрать initrd, чтобы инициализация прошла:
|
Проверка, что карта в нужном режиме:
|
Кроме данного параметра можно, при установке 2-х карт включить , указав соответствующий параметр ядра:
|
, где ql2xfailover - поддержку fallover-режима (активное резервирование при установке не менее 2-х плат HBA); ConfigRequired - указывает, как осуществлять привязку (bind) устройств: 0 - всех обнаруженных ОС, 1 - только устройств, определённых в файле /etc/qla2xxx.conf (по умолчанию: 0).
Более подробно о параметрах драйвера qla2xxx.ko.
К сожалению, параметр ql2xfailover можно использовать не всегда: во многих дистрибутивах в сборках qla2xxx этот функционал исключают (как и FC-target). Почему - могу только догадываться: возможно, чтобы не создавать конкуренцию дорогим решениям. Надо, при случае, попробовать собрать драйвер самому по данной инструкции: How to Configure the FC QLogic Target Driver for 22xx/23xx/24xx/25xx/26xx Adapters.
Управлять FC будем с помощью Linux SCSI Target (LIO), используя программу управления targetcli:
|
И запустим службу восстановления конфигурации (Restore LIO kernel target configuration):
|
Теперь вся работа - утилитой targetcli:
|
Если после запуска мы будет находиться не в корне (например, /qla2xxx), то выйдем на него:
|
Посмотрим исходное состояние:
|
Ветка qla2xxx - это указание наличия FC карты QLogic и её поддержки в системе.
Запросим информацию по этой ветке:
|
Создадим объект хранилища для нашей будущей Цели (target):
|
В примере устройство /dev/md125 - программный RAID массив.
Создаём саму Цель:
|
где 2100001b32180465 - WWN карты Fibre Channel, установленной в системе, берётся из вывода info узла /qla2xxx (см.выше).
Создаём лист доступа (ACL, access control list) с WWN карт, имеющих доступ к данной:
|
Привязываем ранее созданное блочное устройство к Цели:
|
Смотрим результат наших операций:
|
Если всё устраивает, сохраняем конфигурацию (специально, если отключено автоматическое сохранение (по умолчанию)):
|
Указывается, что текущая конфигурация сохранена в /etc/target/saveconfig.json, а в /etc/target/backup находятся 10 предыдущих вариантов.
Если возникает желание/необходимость что-то удалить, переходим в нужную ветку дерева и удаляем, например, LUN:
|
Теперь посмотрим, доступен ли наш LUN на целевой системе, Инициаторе, пересканировав доступные LUN:
|
где X - номер нашего FC HBA.
Смотрим, доступен ли соответствующий LUN в системе Инициатора:
|
Чтобы добавить одно заданное устройство, выполним:
|
Чтобы удалить заданное устройство, выполним:
|
где <H> <B> <T> <L> — это хост, шина, целевой номер устройства и логический номер (host, bus, target, LUN) соответственно. Соответствующие устройству номера можно найти в каталоге /sys (только для ядер версии 2.6), файле /proc/scsi/scsi или выводе команды dmesg.
Удалить (отключить) LUN:
|
У нас было одно устройство, которые в системе виделось, как /dev/sdf, мы его отключили и теперь подключенных устройств нет.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
How To Create A Fiber Channel SAN Using SCST With QLogic HBA On Linux Debian 6
How to Configure the FC QLogic Target Driver for 22xx/23xx/24xx/25xx/26xx Adapters
qla2x00t QLogic git integration into the SCST build tree
Сборка под Ubuntu драйвера qla2xxx с поддержкой failover
QLogic Fibre Channel Driver for Kernel 2.6.x - есть описание работы с IP-over-FC.
2. Infiniband
Infiniband - сравнительно молодой интерфейс, идея создания которого была в замене современной сетевой инфраструктуры Ethernet и Fibre Channel.
а) Общая информация по настройке
Getting Started with InfiniBand
б) HCA: QLogic
Адаптер (HCA) InfiniBand - QLogic QLE7240
в) HCA: Mellanox
Mellanox OFED for Linux
IPoIB: How To Configure IPoIB with Mellanox HCAs – Ubuntu 12.04.1 LTS
Установка iSCSI Target SCST с Infiniband на Debian 7
How to Set up an Infiniband SRP Target on Ubuntu 12.04
HOWTO: Infiniband SRP Target on CentOS 6 incl RPM SPEC
Howto install SCST over Infiniband with SRP on Debian Sqeeze
Infiniband HOWTO
Bog BOS: hardware: InfiniBand
RedHat: Infiniband and RDMA networking
Практика Infiniband
Tsuru Network
Infiniband: аппаратные средства и поддержка в Linux
0MQ, в Fedora есть соотв.пакет: "zeromq.i686 : Software library for fast, message-based applications".
два esxi соединить IB InfiniHost III Ex Dual-Port
ДОП.ИНФОРМАЦИЯ
>>> QSFP — это другое, это QIB (40 Gbps) в физическом формате SPF/SPF+. Вот пример: http://www.google.com/shopping/product/2229109579985845642
>> CX4 - это, по мелланоксовски, MicroGigaCN (у некоторых кабелей в названии так и написано MicroGigaCN/СX4)
>> Осталось понять, CX4 и SFF-8470 - это одно и то же?
> Точнее, CX4 - это среда передачи, 4*copper, а SFF-8470 — один из видов разъёмов.
3. iSCSI
iSCSI хранилище для небогатых
Подключаем внешнее хранилище к XenServer по iSCSI
Настройка iSCSI target и initiator в RHEL/Fedora
Установка большого Linux-кластера: Часть 4. Установка узлов и настройка GPFS-кластера
High performance SCST iSCSI Target on Linux software Raid
Создание надёжного iSCSI-хранилища на Linux, часть 1
СХД Gladius Storage L и настройка MPIO для iSCSI в Windows Server 2012
Установка и базовая настройка iSCSI LIO Target на CentOS 7
Настройка Linux iSCSI посредством targetcli
Настройка iSCSI target и initiator в RHEL/Fedora
iSCSI Target Box
Настройка ISCSI initiator в linux
DRBD
RDMA, iSCSI, TOE, iWARP, iSER
Настройка iSCSI Target на FreeBSD 8.2
Как подключать Windows Server 2008 и Windows Vista к iSCSI Server
Fedora - Storage Administration Guide
iSCSI (википедия)
iSCSI и другие
Использование iSCSI в FreeBSD
4. Программный RAID
а) Создание RAID-массива
Для работы с программным RAID в Linux используется утилита mdadm. Создание с её помощью массива RAID1:
|
Сканирование системы на наличие массивов и вывода информации по ним (в форме для добавления в файл конфигураций /etc/mdadm/mdadm.conf):
|
б) Мониторинг состояния массива
Состояние RAID-массива отслеживается через файл /proc/mdstat:
|
Информация о конкретном дисковом разделе:
|
Мониторинг состояния массива - разовая проверка:
|
Для постоянной периодической проверки эту команду надо внести в файл, например, mdRAIDmon, размещённый в папке /etc/cron.haurly/.
Или, для пятиминутной проверки внести в файл /etc/crontab следующую строку:
|
Проверки работы системы оповещения:
|
в) Работа с разделами на RAID-массиве
Удаление LVM и RAID, где он размещён:
|
Иногда после данных информация о томах всё ещё отображается, поэтому переподключить массив или перезагрузить сиситему.
г) Поддержка bitmap
Включение поддержки bitmap с хранением:
|
Просмотр включенных bitmap:
|
Отключение на RAID-массиве использование bitmap:
|
Параметр bitmap в свойствах массива означает добавление дополнительной информации для восстановления RAID в случае сбоев. Сборка массива при замене жёсткого диска будет происходить быстрее, но общая производительность массива снизится примерно на 5% в случае размещения bitmap на том же диске, что и RAID или в самом RAID-массиве (по умолчанию).
д) Замена сбойных дисков
Выяснить, какой диск сбойный:
# cat /proc/mdstat
Подробная информация:
# mdadm -D /dev/mdX
где X - номер массива
Восстановление функционирования (rebuild) разделов диска по одному после однократного "несмертельного" сбоя:
# mdadm -a /dev/md<0-6> /dev/sd<a-b><1-10>
например:
# mdadm -a /dev/md0 /dev/sdb1
Нужно быть аккуратным с номерами разделов
В случае ошибки, удалить компонент из RAID командой:
# mdadm -r /dev/md0 /dev/sdb1
получается не всегда - устройство может быть занято.
Замена диска:
1) выключить компьютер и заменить диск;
2) включить компьютер и определить имеющиеся на обоих дисках разделы:
# fdisk /dev/sd<a-b> -l
3) с помощью fdisk создать на новом диске разделы, идентичные оригиналу Необходимо пометить нужный раздел нового диска (sda1 или sdb1) как загрузочный до включения в зеркало.
Swap-разделы не подлежат зеркалированию в программном RAID.
е) Очистка дисков от метаданных RAID
Отмонтируем все разделы, размещённые на удаляемом RAID и остановим этот массив:
|
Стираем суперблок, хранящий информацию о массиве, на всех дисках, входящих в удаляемый массив:
|
Если не получилось, то делаем прямым затиранием:
|
Выключаем систему, отключаем девственно чистые диски. :\
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
RAID — избыточный массив независимых жестких дисков
Работы с программным RAID-массивом
Утилита обслуживания RAID-массивов mdadm
Увеличение скорости программного RAID
Linux: Ускоряем софтрейд и RAID6 в домашнем сервере
Увеличение скорости перестроения программного RAID в Linux
IBM: Создание программного RAID-массива на Linux-платформе
Программный RAID в Linux. Тестирование и мониторинг
MD (multi disk)
Мониторинг RAID
mdadm - мониторинг и восстановление программного RAID
mdadm: mdmonitor.service fails to start
Настройка msmtp для отправки уведомлений администратору по E-Mail.
Мониторинг mdadm
5. Работа с LVM
а) Отключение/подключение диска с LVM
Это требуется, например, после подключения диска с LVM к системе через, например, USB конвертер. Если отключать диск без некоторых дополнительных действий, то в системе останутся "зависшими" подключения, что может вызвать некоторые проблемы.
Для отключения надо:
1) отмонтировать все разделы на этом диске;
2) выполнить команду:
|
3) удаляем блочное устройство (в современных системах происходит автоматически, но вдруг понадобится) /dev/sdf:
|
Всё, можно отключать питание.
Если LVM не подключается автоматически, то вручную это делается так (для устройства hostX, где X - номер в системе):
|
б) Создание томов LVM
Посредством утилиты fdisk создаём (описано в предыдущем пункте) на новом диске таблицу разделов и раздел на нём.
Создание новых томов (физического, группы и логического) на дополнительном диске /dev/sdb:
|
Добавляем новую запись к файл /etc/fstab и на этом заканчивается настройка.
в) Восстановление удалённых томов
Если случайно был удален том LVM (или специально, но потом понадобилось восстановление) - механизм резервного копирования метаданных volume group может спасти ситуацию.
Настройка архивирования находится в файле /etc/lvm/lvm.conf в секции backup.
По умолчанию архивирование включено, папка для архивов - /etc/lvm/archive и содержит архивы изменения vg за 30 дней.
Посмотреть чего менялось можно командой
|
Здесь видно имя файла архива и команда, перед (или иногда после) которой архивирование метаданных VG было выполнено.
В данном случае были удалены некоторые LV и после них создан новый.
Чтобы узнать, попал новый LV поверх старых (тогда естественно данные будут перезаписаны, зависит от количества записей в новый LV) надо посмотреть в архиве до удаления параметры extent_count и stripes нужного LV. stripes это номер начала блока на PV, extent_count - количество.
LV может состоять из нескольких сегментов, в каждом будет свой набор extent_count и stripes.
Потом посмотреть эти же параметры нового LV, но в архиве поcле создания нового LV.
Если эти регионы не пересеклись - значит новый LV создался в другом месте, чем удаленные LV.
Восстановление метаданных:
|
это откатит все изменения с текущего момента до нужного архива, предшествующего указанной в vgcfgrestore -l команде.
Дальше остается только активировать восстановленные LV командой
|
Взято отсюда.
г) Изменение размеров томов
Изменение размеров физического тома - задача весьма сложная и обычно не применяется. Безопаснее либо удалить физический том, изменить размер раздела и создать том заново, либо (как в данном примере) создать на доступном свободном пространстве дополнительный физический том и объединить его в группу томов, для которых требуется расширение.
При необходимости увеличить доступный объём дискового пространства на, например, корневом разделе, необходимо воспользоваться имеющимся функционалом LVM:
1) смотрим (например, утилитой fdisk) (пакет util-linux), где у нас есть свободное место на подключённых накопителях:
|
Предположим, что у нас есть /dev/sda1 - загрузчик (т.е. /boot) и /dev/sda2 - собственно корень системы (т.е. /) и имеет формат Linux LVM. И на том же диске есть ещё свободное неразделённое место.
2) формируем новый раздел на свободном месте накопителя (в данном случае /dev/sda) новый раздел в интерактивном режиме:
|
На запрос "Команда (m для справки)" жмём n (создание нового раздела), p (первичный раздел), 3 (номер нового раздела: 1 и 2 уже есть, новый будет /dev/sda3), начальный и конечный блок оставляем как есть (или указываем необходимый объём, если будем использовать не всё доступное пространство).
После создания раздела необходимо указать его тип "Linux LVM": наживаем t, затем выбираем созданный раздел (наш - 3) и указываем его тип - 8e.
Затем p (просмотреть созданные изменения): если всё устраивает - w (записать изменения и выйти), если не устраивает перенастраиваем или жмём q (выйти без изменений) и всё заново.
Внесённые изменения ещё не известны ядру, поэтому сообщаем ядру, чтобы оно приняло изменения, командой:
|
Создаём новый физический том на созданном разделе:
|
Смотрим, на какой группе томов расположен корневой раздел /dev/sda2:
|
Добавляем к этой группе созданный нами раздел /dev/sda3:
|
Смотрим путь, по которому доступен целевой логический том:
|
Выделяем целевому тому необходимое место:
|
В качестве альтернативного пути может быть использован любой:
1) через mapper: /dev/mapper/lvmpart-root;
2) через любой путь в каталоге /dev/disk/.
Теперь остаётся изменить размер файловой системы, размещённой на целевом логическом томе. Это производится для каждой файловой системы по своему:
|
Кроме этого изменение размера: XFS - в примонтированном состоянии, EXTx - не имеет значения (но отмонтированно представляется более безопасным для данных вариантом),
Для EXTx есть возможность (и она использована в примере) создания файла отката вносимых изменений: в представленном варианте - old_LVM.e2undo. В случае необходимости изменения отменяются утилитой e2undo (пакет e2fsprogs):
|
Для увеличения размера целевой файловой системы всё сделано.
При необходимости уменьшить размер всё производится в обратном порядке, но действия производятся только на размонтированных файловых системах. Т.е., в случае с корневым разделом надо предварительно загрузиться с LiveCD с поддержкой LVM2. ВАЖНО!: операция уменьшения невозможна для XFS.
|
Теперь вносим изменения в группы томов и физические тома.
д) Дополнительная информация
LVM (xgu.ru)
Logical Volume Manager (LVM)
6. Некоторые особенности настройки FreeNAS 10
Смена пароля root через CLI:
|
Так же надо назначить IP адрес:
|
В 10 версии полностью переработаны интерфейсы: и графический (GUI) и консольный (CLI).
Если используется Fibre Channel карта для работы с СХД на базе FreeNAS, то для создания и презентации соответствующего LUN надо использовать ctladm. По сути: в интерфейсе WebGUI настраивается iSCSI, а для работы активировать FC интерфейс:
|
Хорошо поддерживаются FC-карты QLogix (устройство ispX).
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
вверх
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [1 шт.]