enclosure:slot с накопителями в корзине. Только подтверждённо свободные диски без нужной Foreign Configuration можно передавать команде создания Virtual Drive. После создания проверяют не только Success, но и состояния тома, дисков, защищённого кэша, фоновых операций и появление нового блочного устройства в Linux.Что StorCLI видит в конфигурации MegaRAID
StorCLI управляет совместимыми RAID-контроллерами Broadcom/LSI MegaRAID и некоторыми OEM-вариантами. Связь объектов такая: physical drive → Virtual Drive → блочное устройство ОС. Физический диск — отдельный HDD, SSD или другой накопитель; Virtual Drive — созданный контроллером RAID-том; Linux обычно получает его как отдельный логический диск, например /dev/sdb.
Одна строка Status = Success означает успешное выполнени е конкретной команды, но не подтверждает исправность всех объектов. Контроллер, каждый Virtual Drive, каждый физический диск, enclosure, кэш и фоновые задачи проверяются отдельно.
Какие объекты проверять перед изменением RAID
| Объект | Что показывает | Почему это важно |
|---|---|---|
Контроллер /c0 | Модель, firmware, состояние, кэш, предупреждения | Определяет поддержку команд и доступность защищённого кэша |
| Virtual Drive | RAID-уровень, состояние, размер, политики | Показывает состояние уже созданных RAID-томов |
| Physical Drive | EID:Slt, состояние, модель, серийный номер, DG/VD | Позволяет выбрать именно свободные накопители |
| Enclosure | Корзину и номера слотов | Нужно для связи адреса StorCLI с физическим отсеком |
| Background tasks | Инициализацию, Rebuild, Consistency Check, Patrol Read | Активная задача может менять нагрузку и ограничивать дальнейшие действия |
Установка StorCLI и поиск контроллера
Получение и установка StorCLI
Используйте пакет Broadcom либо пакет производителя сервера, предназначенный для точной модели контроллера, ОС и архитектуры. Зафиксируйте источник, номер сборки и контрольную сумму скачанного файла.
- 1Проверьте пакет и release notesСверьте поддерживаемые контроллеры, дистрибутивы, архитектуру, firmware и имя программы —
storcliилиstorcli64. Для OEM-контроллера сначала проверьте пакет производителя сервера. - 2Установите пакет своего форматаДля полученного DEB-пакета используйте
sudo apt install ./имя-файла.deb, для RPM-пакета —sudo dnf install ./имя-файла.rpmлибо документированную для дистрибутива команду RPM. Подставляйте фактическое имя проверенного файла; не переименовывайте пакет в имя из примера. - 3Найдите исполняемый файлПроверьте
command -v storcliиcommand -v storcli64. Если команда не находится черезPATH, посмотрите с писок файлов установленного пакета: некоторые сборки размещают бинарный файл в каталоге/opt. Дальнейшие примеры предполагают имяstorcli.
Контрольная версия и границы применимости
storcli -v со своей версией: набор ключей зависит от поколения контроллера, firmware и OEM-реализации. Перед изменяющими командами проверьте встроенную справку: storcli help, storcli /c0 help, storcli /c0 add vd help и справку для конкретного объекта. Если указанная контрольная версия фактически не проверялась редакцией, замените её реальными данными тестовой среды до публикации.Запуск StorCLI и проверка доступа к MegaRAID
Выполняйте команды от root или через sudo. Если бинарный файл называется storcli64, подставьте это имя во все примеры.
- 1Проверьте версию утилитыЗапустите
storcli -v. В выводе должны быть версия StorCLI и сведения о сборке. Сохраните этот вывод вместе с диагностикой: он нужен для сопоставления синтаксиса и статусов. - 2Выведите список контроллеровКоманда
/call showперечисляет обнаруженные контроллеры. Если в списке есть0, следующие примеры используют адрес/c0. - 3Проверьте сводку контроллераВыполните
/c0 show. Проверьте модель, firmware, состояние контроллера, количество Virtual Drive и физических дисков. Отсутствие контроллера в StorCLI не означает автоматически отсутствие PCIe-устройства: отдельно проверяют драйвер, режим контроллера и обнаружение в BIOS/UEFI.
storcli -v && storcli /call show && storcli /c0 showОжидаемый результат: `/call show` содержит Controller = 0, а `/c0 show` выводит сведения о MegaRAID. Номера контроллеров не всегда начинаются с 0 и не всегда остаются неизменными после изменения оборудования.Проблема
StorCLI не видит контроллер
Возможные причины
- неподходящая или слишком старая версия StorCLI
- не загружен либо не поддерживается драйвер контроллера
- контроллер отключён, неисправен или не определяется платформой
- контроллер работает в режиме, который данная утилита не поддерживает
Решение
Сохраните вывод lspci -nn, dmesg -T, версию ядра и StorCLI. Затем сверяйте драйвер, firmware, режим контроллера и пакет утилиты с документацией сервера и OEM. Не создавайте конфигурацию и не очищайте метаданные в попытке «заставить» контроллер появиться. Для дальнейшей диагностики используйте материал «RAID-контроллер не определяется, cache disabled или disk not supported».
StorCLI show: снимок состояния до настройки
Сначала соберите полный снимок в файлы. Это безопасные read-only команды; они не меняют RAID-конфигурацию. Команда с all обычно даёт больше полей, чем краткая сводка, поэтому её удобно сохранить до и после создания Virtual Drive.
mkdir -p ~/storcli-before-change
storcli /call show > ~/storcli-before-change/controllers.txt
storcli /c0 show all > ~/storcli-before-change/controller-c0.txt
storcli /c0/vall show all > ~/storcli-before-change/virtual-drives.txt
storcli /c0/eall show all > ~/storcli-before-change/enclosures.txt
storcli /c0/eall/sall show all > ~/storcli-before-change/physical-drives.txt
storcli /c0/fall show > ~/storcli-before-change/foreign.txt
storcli /c0 show events > ~/storcli-before-change/events.txtКоманды фоновых задач
storcli /c0/vall show bgi и storcli /c0/vall show cc; Rebuild — для физических дисков: storcli /c0/eall/sall show rebuild; Patrol Read — для контроллера: storcli /c0 show patrolread. Некоторые версии поддерживают также агрегированные формы или требуют указать конкретный /vX либо /eX/sX. Перед использованием проверьте соответствующие команды через storcli /c0 help, storcli /c0/vall help и storcli /c0/eall/sall help.Компактный пример того, что нужно выписать из вывода
| Поле | Условный пример | Проверка |
|---|---|---|
| VD State | Optl | Virtual Drive штатно работает; другие состояния требуют разбирательства |
| PD State | UGood | Свободный диск, но пригодность для создания подтверждают по полной карточке |
| DG/VD | -/- | Диск не назначен в дисковую группу и Virtual Drive |
| EID:Slt | 252:0 | Адрес диска для команд StorCLI и сверки с корзиной |
| Med / Size | SSD / 1.92 TB | Тип носителя и д оступная ёмкость должны быть совместимы с планом |
| Model / SN / WWN | Model-X / SN123 / WWN... | Устойчивые идентификаторы для физической сверки |
В /c0 show различайте результат выполнения команды и состояние оборудования. Верхний Command Status или строка Status = Success сообщает, что запрос обработан; отдельный Controller Status описывает состояние контроллера. Перед изменением конфигурации ожидают штатное состояние контроллера — во многих версиях оно обозначается Optimal — и отдельно проверяют аппаратные ошибки, предупреждения защиты кэша, а также dirty или preserved cache. Точные назван ия полей зависят от версии и OEM-реализации.
Распространённые сокращения в выводе: Optl — оптимальное состояние Virtual Drive, Dgrd — деградированный режим, Pdgd — частично деградированное состояние, Offln — offline. Для физических дисков часто встречаются Onln (участник массива), UGood (unconfigured good), UBad (unconfigured bad), GHS и DHS (global/dedicated hot spare). Написание и доступные значения могут отличаться между верс иями. Failed и Predictive Failure требуют остановки обычной процедуры создания RAID и отдельной диагностики.
Не трактуйте статус по одному сокращению
JBOD, UGood, Foreign, Offln или другое обозначение не делает диск автоматически пригодным для add vd. В частности, Foreign может содержать нужные RAID-метаданные, а Offln может быть следствием неисправности, проблем корзины или прежней конфигурации. При Dgrd, Offln, Failed, Predictive Failure или активном Rebuild не продолжайте создание нового массива.Как сопоставить enclosure:slot с диском в корзине
Адрес физического диска в MegaRAID обычно записывается как enclosure:slot, в StorCLI — EID:Slt. Например, /e252/s0 означает enclosure ID 252 и слот 0. Это не имя Linux-устройства: /dev/sdX может измениться после перезагрузки, смены порядка обнаружения или создания нового Virtual Drive.
Подтверждение дисков перед изменением конфигурации
- 1Получите подробности по каждому кандидатуДля каждого выбранного адреса выведите подробную карточку. Зафиксируйте EID:Slt, модель, серийный номер, WWN при наличии, размер, тип носителя, секторный формат, состояние и принадлежность DG/VD.
- 2Сверьте адрес с корзинойСопоставьте номер enclosure и слот с маркировкой корзины, документацией шасси или интерфейсом управления сервера. Нумерация отсеков на лицевой панели не всегда совпадает с нумерацией StorCLI, особенно при SAS-экспандере или нескольких корзинах.
- 3Используйте Locate только после проверки поддержкиЕсли контроллер, backplane и версия StorCLI поддерживают Identify/Locate LED, включите индикатор только на уже сверенном диске и визуально подтвердите отсек. Синтаксис и доступность команды нужно проверить через help конкретной версии.
- 4Зафиксируйте соответствиеЗапишите таблицу «EID:Slt — серийный номер/WWN — модель — физический отсек». Не выбирайте диски только по одинаковой модели или по предположению о номере слота.
storcli /c0/e252/s0 show allstorcli /c0/e252/s0 start locatestorcli /c0/e252/s0 stop locateЧек-лист перед созданием Virtual Drive
- Есть актуальная и проверенная резервная копия, если на сервере или выбранных дисках могли быть нужные данные. RAID не заменяет резервное копирование: подробнее — «Почему RAID — не резервное копирование».
- Сохранены выводы
/c0 show all,/c0/vall show all,/c0/eall/sall show all, сведения о Foreign Configuration и событиях. - Для каждого кандидата подтверждены
EID:Slt, модель, серийный номер либо WWN, размер, тип носителя и физический отсек. - Диски действительно свободны: не принадлежат существующему DG/VD, не являются hot spare, не используются как системные или прикладные устройства.
- На выбранных дисках нет Foreign Configuration, которая может быть нужна. Не очищайте и не импортируйте её в рамках этой инструкци и: используйте инструкцию по Foreign Configuration.
- На контроллере и существующих Virtual Drive нет
Dgrd,Offln, Failed, Predictive Failure, нерасследованных предупреждений или активного Rebuild. - Проверены состояние кэша и его защита: BBU, CacheVault либо иной механизм. Не включайте принудительно Write Back при предупреждении кэша.
- Проверены активные фоновая инициализация, Rebuild, Consistency Check и Patrol Read.
Создание Virtual Drive меняет метаданные дисков
add vd создаёт RAID-конфигурацию на выбранных накопителях и может сделать прежние данные или конфигурацию недоступными. Не используйте её на дисках с неясной историей, на участниках существующего массива, при Foreign Configuration или если не подтверждён каждый адрес enclosure:slot.Создание RAID 1 или RAID 5 через StorCLI
Ниже приведён распространённый синтаксис StorCLI: add vd type=raid1|raid5 drives=E:S,E:S. RAID 1 требует как минимум два диска, RAID 5 — как минимум три. Поддержка самих уровней, смешивания SATA/SAS/SSD/NVMe, JBOD, секторных форматов и допустимых сочетаний определяется конкретной моделью MegaRAID и её firmware. О выборе уровня и ёмкости читайте отдельно: сравнение RAID-уровней и расчёт ёмкости RAID.
Параметр имени Virtual Drive поддерживается не всеми версиями одинаково; если справка add vd help вашей утилиты не подтверждает name=, создайте том без имени и не подставляйте непроверенный ключ. Не копируйте вслепую параметры strip, wb, wt, direct, cached, ra, nora, init, force и аналогичные: они меняют политики кэша, чтения, полосы или инициализации. Политику Write-Back кэша и Stripe Size настраивают отдельно по документации контроллера.
Создание нового Virtual Drive из подтверждённо свободных дисков
- 1Повторно проверьте кандидатовНепосредственно перед созданием снова выполните подробный просмотр каждого диска. Убедитесь, что выбранные адреса, идентификаторы и состояния совпадают с сохранённым чек-листом.
- 2Создайте RAID 1 или RAID 5Выполните только одну команду для нужного уровня и только с собственными подтверждёнными адресами. Примеры используют условные диски
/e252/s0,/e252/s1и/e252/s2. - 3Не считайте Success финальной проверкойПосле ответа StorCLI сразу проверьте новый Virtual Drive, состояние всех его физических дисков, кэш и фоновые задачи. Созданный том может проходить фоновую инициализацию.
storcli /c0 add vd type=raid1 drives=252:0,252:1Успешный ответ подтверждает принятие команды, но не заменяет проверку нового Virtual Drive и его участников.storcli /c0 add vd type=raid5 drives=252:0,252:1,252:2Инициализация
add vd поведение инициализации зависит от модели, firmware, политики и параметров команды. Некоторые конфигурации становятся доступны хосту до завершения фоновой инициализации, но это не означает, что операция уже завершена. Не добавляйте init=... по примеру из другой версии StorCLI: сначала проверьте storcli /c0 add vd help и документацию OEM.Проверка Virtual Drive, дисков и нового устройства Linux
Проверка результата после add vd
- 1Проверьте Virtual DriveВ
/c0/vall show allнайдите новый том, его RAID-уровень, размер и состояние. Ожидаемое штатное сокращение во многих версиях —Optl, но точное допустимое состояние во время инициализации смотрите в документации контроллера. - 2Проверьте участниковВ
/c0/eall/sall show allубедитесь, что нужные диски стали участниками ожидаемой DG/VD, а их состояние соответствует нормальной работе массива. Остальные диски не должны неожиданно изменить роль. - 3Проверьте кэш и фоновые задачиПросмотрите
/c0 show allи поддерживаемые команды состояния BGI, Rebuild, CC и Patrol Read. Предупреждение о защите кэша или активная фоновая операция требует учитывать ограничения документации, а не принудительно менять политику записи. - 4Проверьте обнаружение LinuxСопоставьте новый логический диск с выводом
lsblk, журналом ядра и устойчивыми ссылками/dev/disk/by-id. Не форматируйте устройство, пока не подтверждены его размер и связь с новым Virtual Drive.
storcli /c0/vall show all
storcli /c0/eall show all
storcli /c0/eall/sall show all
storcli /c0 show all
storcli /c0/vall show bgi
storcli /c0/vall show cc
storcli /c0/eall/sall show rebuild
storcli /c0 show patrolread
lsblk -o NAME,SIZE,TYPE,MODEL,SERIAL,WWN
ls -l /dev/disk/by-id/
dmesg -T | tail -n 100Новый Virtual Drive обычно появляется в Linux как отдельное SCSI-блочное устройство, но это нужно подтвердить. Если его нет в lsblk, сначала проверьте состояние Virtual Drive, журналы ядра, драйвер и события контроллера. Повторное сканирование SCSI-host допустимо только документированным для драйвера и дистрибутива способом; универсальную команду сканирования здесь давать нельзя. В отдельных случаях требуется перезагрузка, если это указано документацией контроллера или ОС.
Не выбирайте /dev/sdX по букве
/dev/sdX способен поменяться. Перед разметкой, созданием файловой системы или добавлением в LVM сопоставьте размер, модель, WWN и ссылку /dev/disk/by-id с новым логическим устройством. Физические диски — участники аппаратного RAID — не являются целями для форматирования или тестов из Linux.Команды StorCLI, которые нельзя выполнять по шаблону
Ниже перечислены операции, способные изменить RAID-метаданные, роль диска или доступность данных. Их нельзя использовать как способ исправить предупреждение, освободить диск или «пересобрать» массив без отдельной процедуры для модели контроллера и текущего состояния.
delete vdи удаление дисковой группы — удаляют конфигурацию Virtual Drive и могут сделать данные недоступными.clear foreignиimport foreign— меняют обработку Foreign Configuration; при неясном происхождении дисков остановитесь и используйте инструкцию по Foreign Configuration.erase— предназначен для стирания и может затруднить восстановление данных и метаданных.set good,force online,forceи похожие параметры — способны изменить состояние диска или обойти защитные проверки, не устранив первопричину.- Назначение hot spare, запуск Rebuild и замена диска — отдельные процедуры; порядок действий описан в инструкции по замене диска и Rebuild.
- Initialize, миграция RAID-уровня и расширение — изменяющие операции с отдельными ограничениями и рисками.
Когда нужно остановиться
add vd и другие изменяющие команды, если есть Degraded, Offline, Failed, Predictive Failure, Foreign Configuration, активный Rebuild, неизвестный диск, dirty/preserved cache или нерасследованные события. Сначала сохраните выводы StorCLI и журналы. Для деградированного массива и проблемного диска используйте «RAID Degraded, Offline или Failed: диагностика отказа дисков»; при риске потери существующего массива — «Восстановление RAID после сбоя».Термины в статье
- Аппаратный RAID
- Реализация RAID, в которой специализированный контроллер формирует логические диски и выполняет операции массива. Наличие и защита кэша зависят от модели.
- Деградированный режим
- Состояние отказоустойчивого RAID-массива, потерявшего часть избыточности, но сохраняющего доступ, пока сочетание отказов допустимо для его уровня и раскладки.
- Логический диск
- Логический диск — блочное устройство, которое RAID-контроллер или программная RAID-подсистема предоставляет хосту как отдельный накопитель.
- Метаданные RAID
- Метаданные RAID — служебные записи на дисках или контроллере, описывающие состав, уровень, состояние и параметры RAID-массива для его распознавания и сборки.
- Миграция RAID-уровня
- Миграция RAID-уровня — преобразование существующего массива в другой RAID-уровень без выгрузки данных, если эту операцию поддерживает контроллер.
- Физический диск
- Физический диск — отдельный HDD, SSD или иной накопитель, распознанный RAID-контроллером как член массива либо как независимое устройство.
- Фоновая инициализация
- Фоновая инициализация — формирование или проверка RAID-контроллером данных избыточности нового массива без отключения логического диска.
- BBU
- Аккумуляторный модуль, поддерживающий питание энергозависимого кэша RAID-контроллера при сбое питания до восстановления питания и записи данных на диски.
- CacheVault
- CacheVault — технология защиты кэша записи RAID-контроллера, сохраняющая во флеш-память подтверждённые хосту, но ещё не записанные на диски данные при потере питания.
- Consistency Check
- Consistency Check — фоновая проверка согласованности избыточности RAID: зеркальных копий либо рассчитанной и записанной чётности; расхождения могут исправляться.
- Dedicated Hot Spare
- Dedicated Hot Spare — резервный диск RAID-контроллера, закреплённый за конкретным массивом или группой массивов и используемый для rebuild только при отказе их дисков.
- Failed
- Failed — статус физического накопителя, который RAID-контроллер признал отказавшим и перестал использовать для штатного ввода-вывода в составе массива.
- Foreign Configuration
- Состояние, при котором RAID-контроллер считает найденную на дисках конфигурацию массива не зарегистрированной или не совпадающей с текущей. Её проверяют и импортируют либо очищают.
- Hot Spare
- Заранее подключённый резервный накопитель RAID-системы, автоматически задействуемый для rebuild отказоустойчивого массива при отказе совместимого рабочего диска.
- JBOD
- Способ подключения дисков без аппаратного RAID: обычно ОС видит каждый накопитель отдельно. Сам JBOD не обеспечивает избыточность; при необходимости её создаёт программный уровень.
- MegaRAID
- Семейство аппаратных RAID-контроллеров Broadcom, которые объединяют накопители в массивы и предоставляют ОС логические диски, обрабатывая RAID на самом контроллере.
- NVMe
- NVMe — протокол обмена командами с энергонезависимыми накопителями, оптимизированный для параллельного ввода-вывода; локальные NVMe-SSD обычно подключаются по PCIe.
- Offline
- Offline — зависящий от реализации статус накопителя или виртуального диска RAID: первый исключён контроллером из работы, второй недоступен хосту.
- Patrol Read
- Patrol Read — фоновое сканирование накопителей RAID-контроллером для поиска скрытых ошибок чтения. В избыточном массиве контроллер может восстановить повреждённые блоки.
- Predictive Failure
- Predictive Failure — диагностический статус накопителя, указывающий на признаки вероятного отка за по SMART или данным контроллера до фактической недоступности диска.
- RAID 1
- RAID 1 — уровень RAID с зеркалированием данных на двух или более дисках. Полезная ёмкость равна ёмкости наименьшего участника, а доступ сохраняется, пока исправна хотя бы одна копия.
- RAID 5
- RAID 5 — уровень RAID с чередованием данных и распределённой чётностью, выдерживающий отказ одного диска. Требует минимум трёх дисков.
- RAID-контроллер
- Устройство или модуль, который формирует RAID-массивы из накопителей и предоставляет ОС логические диски, управляя размещением данных, отказами и восстановлением избыточности.
- RAID-уровень
- RAID-уровень — схема размещения данных и избыточности по накопителям массива, определяющая полезную ёмкость, отказоустойчивость и характеристики ввода-вывода.
- Rebuild
- Процесс восстановления избыточности массива после замены отказавшего диска: контроллер вычисляет и записывает на новый диск недостающие данные из остальных дисков.
- SAS
- SAS — последовательный интерфейс и набор протоколов SCSI для подключения накопителей, поддерживающий адресацию устройств, экспандеры и обычно двухпортовое подключение дисков.
- SATA
- SATA — последовательный интерфейс подключения HDD, SSD и оптических приводов; в обычной прямой схеме один порт контроллера соединён с одним накопителем.
- StorCLI
- StorCLI — консольная утилита управления совместимыми RAID-контроллерами Broadcom, применяемая для настройки массивов, просмотра состояния дисков, кэша и событий.
- Stripe Size
- Параметр чередования RAID: объём последовательных данных, размещаемых на одном диске до перехода к следующему. Значение термина stripe size зависит от вендора.
- Write-Back кэш
- Политика кэша RAID-контроллера: запись подтверждается после помещения данных в кэш, а на накопители переносится позже. Кэш требует защиты от потери питания.
