Начну с того, что очень не рекомендую пользоваться контроллерами этого производителя даже не смотря на то, что он показывает неплохие результаты бенчмарков на фоне конкурентов. Причина: полное отсутсвие документации на сайте. Даже опция -help выглядит как издевательство:
Так впечатление, что писать документацию отдали на аутсурс в ЦРУ :)
Так что будем пытаться допереть научным тыком - благо он не раз нас спасал.
Существуют следующие утилиты:
MegaCLI - (CLI - command line interface). Основная управляющая утилита для просмотра состояния и конфигурирования работы контроллера.
MegaRC - устаревшая текстовая утилита для управления контроллером.
MegaMon - (Mon - monitoring). Демон + клиент для мониторинга.
MegaSM - (SM - storage manager). Какая-то неведомая GUI-ёвая херня на Java. Весит как ядро Linux и требует иксов, что на сервере неприемлемо (не знаю для кого писали, не уж то для десктопов с адаптерами по несколько сотен долларов...).
В официальных репозиториях основных дистрибутивов, видимо, утилиты не распространяются, но скачать их можно тут: LSI public downloads.
Но для Linux там есть только .rpm пакет и неподходящая по битности библиотека lybsysfs.
Пользователи Debian x64 могут воспользоваться собранным мной .deb-пакетиком для 64-битных ОС из всего этого.
Итак следующие команды помогут облегчить жизнь:
Структура расположения объектов такая:
Адаптеры:
сервер может иметь некоторое количество адаптеров. В командах обозначается буквой -a и либо номером, либо все сразу ALL: -aALL или -a0. (как правило адаптер один и установлен в нулевой слот, а значит можно смело писать -a0 ).
Корзины:
Каждый адаптер может иметь одну или несколько корзин (Enclosure), а каждая корзина имеет слоты (Slot).
Обозначаются как [E:S]. Например диск вставленный в слот 3 корзины 252 обозначается так: [252:3]
В один слотов вставляется один визический диск. Обозначается как -PhysDrv [E:S]
*******************
Просмотр всех данных и настроек адаптера:
Просмотр структуры дисков и корзин:
Изменение настроек(пропертей) адаптера:
Эта команда переводит значение опции DisableCacheBypass в единичку, то есть включает. Правда не у всех сработает - поддержка функции зависит от модели адаптера.
*******************
Просмотр существующих корзин(Enclosure). Чтобы ничего не пропустить, напишем не только наш адаптер -a0, а все -aALL:
Просмотр логических дисков (грубо говоря RAID-массивов):
Работа с конфигурационным файлом.
Просмотреть конфиг:
Работа с логами.
Почитать логи (для warning, debug, error нужно ставить соответствующий уровнь вместо -info )
Работа с ребилдом.
Регулирование скорости ребилда. Просмотр текущей скорости:
Тоже проресс, только покрасивее:
Работа с виртуальными дисками.
Далее идут команды, вводя которые нужно 1000 раз подумать. Они уничтожают данные.
ВНИМАНИЕ: не делайте этого на серверах с ценными данными!!!
Удалить виртуальный диск (RAID-массив):
Работа с физическими дисками.
Перевести физический диск в состояние Offline:
-Array1 - номер Virtual Drive. Так как у нас были виртуальные диски 0 (с физическими 252:0,252:1) и 1 (с физическими 252:2,252:3), то в нашем случае это второй виртуальный диск.
-row0 - это порядковый номер физического диска в этом массиве.Как правило именно этот слот, в котором меняли диск, будет помечен всего лишь одной строкой PD: 0 Information и никакой больше информации о нем не будет.
И то и другое добывается из команды MegaCli64 -LdPdInfo -a0
Заставить мелькать LED-ом заданный физический диск (для легкости его нахождения).
Включаем настройку адаптера, чтобы он вообще разрешил подобное действо:
...
MegaCli -PdMarkMissing -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
MegaCli -PdGetMissing -aN|-a0,1,2|-aALL
MegaCli -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -aN
MegaCli -PdPrpRmv [-UnDo] -physdrv[E0:S0] -aN|-a0,1,2|-aALL
MegaCli -EncInfo -aN|-a0,1,2|-aALL
MegaCli -EncStatus -aN|-a0,1,2|-aALL
MegaCli -PhyInfo -phyM -aN|-a0,1,2|-aALL
MegaCli -PhySetLinkSpeed -phyM -speed -aN|-a0,1,2|-aALL
...
Так впечатление, что писать документацию отдали на аутсурс в ЦРУ :)
Так что будем пытаться допереть научным тыком - благо он не раз нас спасал.
Существуют следующие утилиты:
MegaCLI - (CLI - command line interface). Основная управляющая утилита для просмотра состояния и конфигурирования работы контроллера.
MegaRC - устаревшая текстовая утилита для управления контроллером.
MegaMon - (Mon - monitoring). Демон + клиент для мониторинга.
MegaSM - (SM - storage manager). Какая-то неведомая GUI-ёвая херня на Java. Весит как ядро Linux и требует иксов, что на сервере неприемлемо (не знаю для кого писали, не уж то для десктопов с адаптерами по несколько сотен долларов...).
В официальных репозиториях основных дистрибутивов, видимо, утилиты не распространяются, но скачать их можно тут: LSI public downloads.
Но для Linux там есть только .rpm пакет и неподходящая по битности библиотека lybsysfs.
Пользователи Debian x64 могут воспользоваться собранным мной .deb-пакетиком для 64-битных ОС из всего этого.
Итак следующие команды помогут облегчить жизнь:
Структура расположения объектов такая:
Адаптеры:
сервер может иметь некоторое количество адаптеров. В командах обозначается буквой -a и либо номером, либо все сразу ALL: -aALL или -a0. (как правило адаптер один и установлен в нулевой слот, а значит можно смело писать -a0 ).
Корзины:
Каждый адаптер может иметь одну или несколько корзин (Enclosure), а каждая корзина имеет слоты (Slot).
Обозначаются как [E:S]. Например диск вставленный в слот 3 корзины 252 обозначается так: [252:3]
В один слотов вставляется один визический диск. Обозначается как -PhysDrv [E:S]
MegaCli64 -PDList -aALL | egrep -i 'Enclosure Dev|Slot|^Firmware'Проблема только в том, что не видно серийника дисков и тяжело определить какой конкретно диск нужно переводить например в оффлайн. А его уже можно отсюда:
MegaCli64 -ShowSummary -a0 | egrep 'Connector|Product Id'Логическое деление происходит по виртуальным дискам (обозначается в командах как -L и имеет нумерацию с единички или ALL) и массивами (-Array0)
*******************
Просмотр всех данных и настроек адаптера:
MegaCli64 -AdpAllInfo -a0
Просмотр структуры дисков и корзин:
MegaCli64 -ShowSummary -a0
Изменение настроек(пропертей) адаптера:
MegaCli64 -AdpSetProp свойство значение_свойства адаптер
например:
MegaCli64 -AdpSetProp -DsblCacheBypass -1 -a0
Эта команда переводит значение опции DisableCacheBypass в единичку, то есть включает. Правда не у всех сработает - поддержка функции зависит от модели адаптера.
*******************
Просмотр существующих корзин(Enclosure). Чтобы ничего не пропустить, напишем не только наш адаптер -a0, а все -aALL:
MegaCli64 -EncInfo -aALL
Просмотр логических дисков (грубо говоря RAID-массивов):
Просмотер физических дисков:MegaCli64 -LDInfo -LALL -a0
MegaCli64 -PDList -a0Просмотр конкретного физического диска. Здесь 252:1 - номер корзины и номер слота в ней:
MegaCli64 -PDInfo -PhysDrv [252:2] -a0А теперь просмотр физических, разбитых по группам логических (самое удобное):
MegaCli64 -LdPdInfo -a0
Работа с конфигурационным файлом.
Просмотреть конфиг:
MegaCli64 -CfgDsply -a0Сохранить конфиг:
Восстановить из конфига (у меня не восстановилось, пишет ошибку без подробностей):MegaCli64 -CfgSave -f raid_config.conf -a0
MegaCli64 -CfgRestore -f raid_config.conf -a0
Работа с логами.
Почитать логи (для warning, debug, error нужно ставить соответствующий уровнь вместо -info )
MegaCli64 -AdpEventLog -GetEvents -info -a0
Работа с ребилдом.
Регулирование скорости ребилда. Просмотр текущей скорости:
MegaCli64 -AdpGetProp -RebuildRate -aALLУстановка нужной:
MegaCli64 -AdpSetProp {RebuildRate -60} -aALLЗапустить ребилд физического диска:
MegaCli64 -PDRbld -Start -PhysDrv [252:3] -a0Посмотреть прогресс сколько уже проребилдилось:
MegaCli64 -PDRbld -ShowProg -PhysDrv [252:3] -a0
Тоже проресс, только покрасивее:
MegaCli64 -PDRbld -ProgDsply -physdrv [252:3] -a0Просмотреть включена ли опция автоматического ребилда:
MegaCli64 -AdpAutoRbld -Dsply -a0Включить его:
MegaCli64 -AdpAutoRbld -Enbl -a0
Работа с виртуальными дисками.
Далее идут команды, вводя которые нужно 1000 раз подумать. Они уничтожают данные.
ВНИМАНИЕ: не делайте этого на серверах с ценными данными!!!
А теперь, прежде, чем вводить команду, проверьте точно ли Вы ее вводите на нужном сервере, а не на сервере, с которого копируете раздел.
И еще раз перечитайте предыдущий абзац. Какой бы Вы ни были профессионал, эти слова не просто так. Еще раз проверяйте!
Удалить виртуальный диск (RAID-массив):
MegaCli64 -CfgLdDel -L0 -a0Создать виртуальный диск (-r - тип RAID, все кроме составных на подобнее 10):
MegaCli64 -CfgLdAdd -r1 [252:0, 252:1] -a0
Работа с физическими дисками.
Перевести физический диск в состояние Offline:
Перевести физический диск в состояние Online:MegaCli64 -PDOffline -PhysDrv [252:2] -a0
MegaCli64 -PDOnline -PhysDrv [252:2] -a0Пометить физический диск как сломанный:
MegaCli64 -PDMarkMissing -PhysDrv [252:2] -a0Подготовить физический диск к удалению из виртуального (необходимо сначала его в Offline переложить, затем пометить как сломанный и уже потом это):
MegaCli64 -PdPrpRmv -PhysDrv [252:2] -a0Добавить нововставленный диск:
MegaCli64 -PdReplaceMissing -PhysDrv [252:2] -Array1 -row0 -a0здесь:
-Array1 - номер Virtual Drive. Так как у нас были виртуальные диски 0 (с физическими 252:0,252:1) и 1 (с физическими 252:2,252:3), то в нашем случае это второй виртуальный диск.
-row0 - это порядковый номер физического диска в этом массиве.Как правило именно этот слот, в котором меняли диск, будет помечен всего лишь одной строкой PD: 0 Information и никакой больше информации о нем не будет.
И то и другое добывается из команды MegaCli64 -LdPdInfo -a0
Заставить мелькать LED-ом заданный физический диск (для легкости его нахождения).
Включаем настройку адаптера, чтобы он вообще разрешил подобное действо:
MegaCli64 -AdpSetProp \{UseDiskActivityforLocate -1\} -a0И помечаем нужный диск (чтобы выключть лампочку, просто поменяйте -start на -stop):
MegaCli64 -PdLocate -start -physdrv [252:2] -a0
Комментариев нет:
Отправить комментарий