Сброс настроек инструмента управления рейдами Megacli sas
Обновлено: 21.11.2024
В этом руководстве показано, как проверить работоспособность жестких дисков, подключенных к RAID-контроллеру LSI Logic/Symbios Logic MegaRAID SAS 2108 под управлением Linux. Но очень полезно для других аппаратных рейд-контроллеров.
Ищем его наличие в системе:
Бинго!, мы можем работать с этим.
Установить утилиты Linux
LSI предоставляет megacli, проприетарную утилиту командной строки для управления. Репозиторий Debian, содержащий все пакеты для установки проприетарных инструментов и инструментов с открытым исходным кодом для любой карты HW RAID, можно найти здесь.
Моей Linux-системой теперь является Debian Bullseye. Добавьте репозиторий в файл /etc/apt/sources.list в следующем формате:
- дистрибутив — может быть как Debian, так и Ubuntu.
- ветвь — может быть сжатой, хриплой, джесси, растяжимой, разоряющей или в яблочко для Debian или точной, надежной, яркой, хитрой и xenial и т. д. для Ubuntu.
Для моего сервера это:
Отредактируйте файл /etc/apt/sources.list и добавьте репозиторий в последнюю строку:
Пакеты теперь подписаны, выполните следующую команду после добавления репозитория в sources.list:
Сделайте apt--update и установите утилиту MegaCli и оболочку сценария megaclisas-status.
мегакли
megacli — это собственный инструмент LSI, который может создавать отчеты и управлять картами MegaRAID SAS. Однако его действительно сложно использовать, потому что он использует множество параметров командной строки и не имеет документации.
Быстрый запуск и пример вывода
Получить статус и конфигурацию всех адаптеров:
Состояние и тип логического диска 0 на адаптере 0
Показать физические диски с первого контроллера:
статус мегаклизы
megaclisas-status — это скрипт-оболочка для megacli, который сообщает сводное состояние RAID с функцией периодических проверок. Он также доступен в репозитории пакетов.
Пакеты поставляются с оболочкой python для megacli и сценарием инициализации, который периодически запускает эту оболочку для проверки состояния. Он хранит файл с последним статусом и, таким образом, может обнаруживать изменения статуса RAID и / или поломку. Он зарегистрирует линию в системном журнале, когда что-то выйдет из строя, и отправит вам письмо. Пока массивы снова не восстановятся, напоминание будет отправляться каждые 2 часа.
примеры вывода статуса megaclisas
Пример вывода оболочки
интеграция icinga2
Скрипт можно вызвать с параметром --nagios. Это вызовет вывод одной строки и вернет код выхода 0, если все хорошо, или 2, если хотя бы одна вещь неверна. Это стандартный ожидаемый код возврата nagios.
создать символическую ссылку на статус megaclisas
запустить megaclisas-status от имени пользователя root
megaclisas-status должен иметь привилегии суперпользователя для запуска команды. Итак, перейдите в каталог /etc/sudoers.d/ и создайте мониторинг файлов, содержащий следующее:
Убедитесь, что это работает:
создать определение команды проверки icinga2
Создайте файл megaclisas_status.conf в каталоге конфигурации icinga2 со следующим содержимым:
создать конфигурацию сервиса и добавить сервис на сервер
Перейдите в каталог конфигурации icinga2, создайте файл с определением сервиса и добавьте сервис на сервер
MegaRAID – это аппаратный RAID-контроллер, созданный компанией LSI (теперь Broadcom), который используется во множестве физических серверов. Здесь, в Jaguar Network, мы используем такие контроллеры (хотя мы перешли на Dell PERC на более новых серверах). Мы используем команду megacli для управления ими прямо из Linux.
Цель этой заметки — перечислить все полезные команды и аргументы этого небольшого, но мощного инструмента. Это не полнофункциональная документация по инструменту, а просто краткое изложение наиболее часто используемых команд.
Диагностика команд
- Адаптер: это сам физический адаптер, подключенный к дискам и открывающий массивы RAID для ОС.
- Виртуальные диски (VD): это агрегаты RAID, открытые для операционной системы.
- Физические диски (PD): сами физические диски.
- Блок резервной батареи (BBU): эта батарея используется для хранения данных в случае отключения электроэнергии.
Переключатели командной строки MegaCli не самые удобные для системного администратора, поэтому мы перечислим команды, которые мы обычно используем для мониторинга и диагностики наших контроллеров MegaRAID в системах Linux.
Информация об адаптере
Эта всеобъемлющая команда покажет все настройки и информацию, относящуюся к самому адаптеру. Если у вас несколько контроллеров, вы можете заменить a0 на -aALL, чтобы запросить их все.
Физические диски
- Счетчик ошибок мультимедиа
- Прогнозируемый счетчик отказов
- Состояние встроенного ПО
- Диск пометил оповещение S.M.A.R.T.
Виртуальные диски
- Уровень RAID
- Политика кэширования по умолчанию и текущая политика кэширования: если кеш использует WriteThrough, а должен быть WriteBack, ожидайте снижения производительности.
- Состояние: должно быть "Оптимальное".
Если на сервере наблюдается высокий iowait, политика кэширования, скорее всего, переключилась на WriteThrough (обход кэша) вместо WriteBack.
Это часто бывает вызвано неисправностью блока резервной батареи или автоматически запускаемым циклом повторного обучения.
Резервный аккумулятор
Здесь можно проверить много информации.
- Напряжение, ток, температура, состояние батареи: краткий обзор состояния батареи.
- Статус зарядки: должно быть "Нет".
- Learn Cycle Active: если да, это может быть причиной плохих результатов.
- Относительный уровень заряда: должен быть равен 100%.
- Время следующего обучения: когда будет запущен следующий цикл повторного обучения.
Цикл повторного обучения разряжает аккумулятор и снова заряжает его, чтобы определить его емкость. Это автоматически выполняется контроллером на регулярной основе для отслеживания текущей емкости.
Побочным эффектом этой процедуры является то, что когда заряд батареи падает ниже определенного порога, контроллер считает батарею неисправной и прекращает кэширование команд, что может иметь огромное влияние на производительность в зависимости от рабочей нагрузки сервера.
Конфигурация
Вы также можете использовать MegaCli для настройки контроллера.
Изменить состояние диска на «Онлайн»
Изменить состояние диска на «Не в сети»
Отметить диск как отсутствующий
Подготовить диск к удалению
Восстановить диск
Сбросить состояние диска до хорошего
Принудительная обратная запись политики кэша
Это можно использовать для перевода кэша в режим обратной записи, даже если BBU неисправен. Очень полезно в случае инцидента из-за запуска цикла повторного обучения.
MegaCli представлен компанией LSI как средство администрирования контроллеров LSI MegaRaid из командной строки.
С помощью megacli мы можем создавать физические рейды, собирать информацию о рейдах и отслеживать рейды.
Сентос
Расположение команды: /opt/MegaRAID/MegaCli/MegaCli64
создайте псевдоним для удобства использования:
Убунту
Расположение команды: /usr/sbin/megacli, псевдоним не нужен.
Дополнительные инструменты
MegaCli не предоставляет всей необходимой нам информации, такой как сопоставление с устройствами Linux и уровнем рейда (читаемый), поэтому мы собираемся использовать некоторые дополнительные инструменты.
Сентос
Убунту
Адаптеры, физические и виртуальные диски
Прежде чем мы перейдем к командам megacli, нам нужно следовать принципам megacli.
Адаптер — физический контроллер, который мы собираемся использовать, представленный идентификатором (обычно 0).
Корпус – физическое шасси, к которому подключены физические диски, представленное идентификатором, например 254 252 и т. д.
Физические диски — физические жесткие диски, подключенные к контроллеру, представленные идентификатором, 0,1,2,3 и т. д.
Виртуальные диски. Эти диски содержат физические диски и эквивалентны Raid-устройствам, представленным идентификатором, 0,1,2,3 и т. д.
Например, если у нас есть RAID 0 на 3 физических дисках, мы получим:
Идентификаторы физических дисков: 0,1,2
Идентификатор виртуального диска: 0
Виртуальный диск содержит физические диски 0, 1 и 2 и включает в себя настройки рейд-устройства, такие как уровень рейда, размер полосы и т. д.
Мы можем видеть конфигурации в megacli, такие как виртуальный диск с RAID 0 на одном физическом диске, у нас есть эти настройки, потому что физические диски подключены к рейд-контроллеру, и для представления устройства в системе мы должны установить его в megacli.
По умолчанию все физические устройства, являющиеся частью виртуального диска, будут отображаться в рейде 0.
Собрать информацию о рейд-контроллере
Убедитесь, что к вашему серверу подключен рейд-контроллер с помощью lspci.
Теперь, когда мы знаем, что у нас есть контроллер MegaRaid, мы можем продолжить работу с интерфейсом командной строки megacli.
Сбор информации о рейд-адаптерах:
Здесь мы можем видеть информацию об адаптерах, позже мы будем использовать идентификатор адаптера, идентификатор адаптера равен 0.
Собрать информацию о корпусе
Давайте рассмотрим некоторые значения:
Этот идентификатор представляет вложение и будет использоваться в других командах.
Максимальное количество физических дисков, которые мы можем подключить к этому корпусу.
Сбор информации о физических дисках
Идентификатор адаптера – 0.
Это номер слота, к которому подключен физический диск.
Фактически этот номер слота будет использоваться для представления этого физического ID-диска в других командах.
Сбор информации о виртуальных дисках
Этот идентификатор представляет собой виртуальный диск, созданный при создании рейда.
Размер рейд-устройства, этот размер является фактически выделяемым размером.
Для двух устройств, каждое из которых имеет размер 1 ТБ в RAID 1, размер виртуального диска будет 1 ТБ, поскольку диски находятся в зеркальном рейде.
Поскольку мы ищем простой вывод, показывающий структуру виртуальных дисков, его сложно получить с помощью megacli.
Одним из способов является манипулирование выводом приведенной выше команды:
Эта манипуляция уродлива и не нужна, поскольку мы можем просто использовать megasasctl.
Давайте посмотрим на одну из строк, представляющих виртуальный диск:
Виртуальный диск: 0
Строка, обозначающая физический диск:
Идентификатор корпуса: 245
И этот физический диск является частью виртуального диска 0 адаптера 0 (a0d0).
Собрать информацию об уровне рейда
Поскольку мы знакомы с командой megasasctl, мы можем легко получить информацию об уровне рейда.
MegaCli также предоставляет информацию об уровне рейда:
Здесь мы видим первичный рейд уровня 1 и вторичный 0. На самом деле это означает рейд 0 поверх рейда 1, то есть RAID 10.
Нам трудно понять этот вывод, поэтому мы предпочитаем использовать megasasctl. Как объяснялось выше:
В конце концов мы хотим получить информацию о сопоставлении между Linux-устройствами и виртуальными дисками (RAID-устройствами).
Мы уже знаем, что виртуальные диски представлены идентификаторами.
Мы будем использовать команду sg_map:
scsi_id – соответствует идентификатору виртуального диска. Это все, что нам нужно знать для сопоставления виртуальных дисков с устройствами Linux, как показано выше.
Прежде чем мы создадим рейд-устройство, нам нужно собрать некоторую информацию, как я объяснял выше.
Давайте используем эту информацию для примера:
Синтаксис команды:
Мы видим, что виртуальный диск 2 создан.
Создать устройство RAID 10 (виртуальный диск)
Создание устройства RAID 10 отличается тем, что мы должны записать точные пары для RAID 1, а над ними будет RAID 0.
Мы также используем другой флаг команды megacli.
Если мы хотим удалить рейд-устройство, нам нужно определить идентификатор виртуального диска и идентификатор адаптера.
Перед удалением убедитесь, что на диске нет данных, а также необходимо размонтировать устройство и удалить его из /etc/fstab .
Давайте удалим виртуальный диск 2.
Политика кэширования — это то, как карта рейда использует встроенную оперативную память для сбора данных перед записью на диск или для чтения данных до того, как система запросит их.
Кэш записи используется, когда у нас есть много данных для записи, и быстрее записывать данные на диск последовательно, а не небольшими порциями.
Кэш чтения используется, когда система запросила некоторые данные, и карта рейда хранит данные в кеше на случай, если система запросит те же данные снова.
Чтение и запись в кэш всегда быстрее, чем доступ к вращающимся дискам. Поймите, что кэширование следует использовать только в том случае, если в системе есть хорошее питание от ИБП.
Если система теряет питание и не очищает кеш, возможна потеря данных. Никто этого не хочет. Давайте рассмотрим каждую политику кэширования, используемую рейдовой картой LSI.
Сделайте том RAID загрузочным с помощью утилиты настройки LSI WebBIOS
Выполните эту процедуру, чтобы сделать том RAID (виртуальный диск) загрузочным, если вы создали более одного тома RAID с помощью утилиты настройки BIOS на сервере с внутренним адаптером шины Sun Storage 6 Гбит SAS PCIe RAID (SGX-SAS6-R). -INT-Z).
Вам не нужно выполнять эту процедуру, если верно одно из следующих условий:
Вы использовали Oracle System Assistant, чтобы создать том и сделать его загрузочным.
На вашем сервере установлен внутренний HBA-адаптер Sun Storage 6 Гбит/с SAS PCIe (SGX-SAS6-INT-Z).
Вы создали только один виртуальный диск с помощью утилиты настройки LSI SAS2 BIOS.
Прежде чем начать
Перед началом этой процедуры создайте по крайней мере один виртуальный диск или том RAID на Sun Storage 6 Гбит SAS PCIe RAID, внутренний HBA (SGX-SAS6-R-INT-Z) с помощью утилиты настройки BIOS (см. Создайте том RAID в устаревшем режиме загрузки BIOS с помощью утилит настройки BIOS RAID.
-
Сбросьте или включите сервер.
Например, чтобы перезагрузить сервер:
-
На локальном сервере нажмите кнопку питания (примерно 1 секунду) на передней панели сервера, чтобы выключить сервер, затем снова нажмите кнопку питания, чтобы включить сервер. В веб-интерфейсе Oracle ILOM выберите Управление хостом. > Управление питанием, затем выберите «Сброс» в списке «Выбор действия». В интерфейсе командной строки Oracle ILOM введите: reset /System
Появится экран BIOS.
Увидев подсказку Нажмите для WebBIOS., немедленно нажмите комбинацию клавиш Ctrl+H, чтобы получить доступ к утилите LSI MegaRAID.
Появится экран выбора адаптера.
Появится экран виртуальной конфигурации LSI MegaRAID BIOS Config Utility.
Читайте также: