StorCLI команды управления RAID контроллером LSI в VMware ESXI 5.5
Всем привет сегодня после того как получилось подружить HP ProLiant DL380 G7 и LSI 9361 8i, хочется разобрать возможность управления RAID контроллером LSI в VMware ESXI 5.5 через командную строку, что на мой взгляд не так удобно как в случае с графическим интерфейсом, но имеет и свои плюсы, более быстрое в случае когда вы набили руку.
Напомню что графический способ подразумевал установку утилиты MSM, почитать это можно в статье как установить MegaRAID SMIS Providers на VMware ESXi 5.5. Для того чтобы вы могли воспользоваться функционалом StorCLI для lsi raid, вам нужно его поставить, ранее я рассказывал Как установить StorCLI в Vmware ESXI 5.5, советую ознакомится. И так приступимс.
storcli команды
Общие команды storcli show
Первым делом переходим в каталог расположения утилиты делается это командой
Посмотреть версию storcli
либо если не переходить в каталог с программой
Получить справочную информацию по всем командам утилиты storcli
Посмотреть подсоединенные контроллеры
Нашелся один RAID контроллер.
Для более детальной информации вводим следующую команду.
Как видите тут выводится модель raid контроллера, у меня это Avago MegaRAID SAS 9361-8i, количество портов.
Так как я выяснил, что мой контроллер идет под номером 0, то в дальнейшем он будет выступать под видом /c0.
Посмотрим теперь реально всю информацию о данном RAID контроллере, для этого воспользуемся командой storcli
В итоге получаем вот такую простыню, как можете заметить информации реально вагон, для примера версии всех прошивок, всех утилит, статусы компонентов и количество ошибок.
Generating detailed summary of the adapter, it may take a while to complete.
Controller = 0
Status = Success
Description = None
Basics :
======
Controller = 0
Model = AVAGO MegaRAID SAS 9361-8i
Serial Number = SV53939929
Current Controller Date/Time = 12/11/2015, 10:33:16
Current System Date/time = 12/11/2015, 09:32:31
SAS Address = 500605b00ace58d0
PCI Address = 00:0b:00:00
Mfg Date = 09/20/15
Rework Date = 00/00/00
Revision No = 11A
Version :
=======
Firmware Package Build = 24.10.0-0020
Firmware Version = 4.600.00-4907
CPLD Version = 26747-01A
Bios Version = 6.28.04.0_4.17.08.00_0x06110200
Ctrl-R Version = 5.13-1101
Preboot CLI Version = 01.07-05:#%0000
NVDATA Version = 3.1508.00-0009
Boot Block Version = 3.07.00.00-0003
Driver Name = megaraid_perc9
Driver Version = 6.901.55.00.1vmw
Bus :
===
Vendor Id = 0x1000
Device Id = 0x5D
SubVendor Id = 0x1000
SubDevice Id = 0x9361
Host Interface = PCI-E
Device Interface = SAS-12G
Bus Number = 11
Device Number = 0
Function Number = 0
Pending Images in Flash :
--------------------------------------------------
Adv S/W Opt Time Remaining Mode
--------------------------------------------------
MegaRAID FastPath Unlimited -
MegaRAID CacheCade Pro 2.0 18 days 2 hours -
MegaRAID SafeStore 18 days 2 hours -
MegaRAID RAID6 Unlimited -
MegaRAID RAID5 Unlimited -
--------------------------------------------------
Virtual Drives = 2VD LIST :
=======-----------------------------------------------------------------
DG/VD TYPE State Access Consist Cache Cac sCC Size Name
-----------------------------------------------------------------
0/0 RAID1 Optl RW No RWTD - OFF 558.406 GB system
1/1 RAID5 Optl RW No RWTD - OFF 4.545 TB VD_1
-----------------------------------------------------------------Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check ConsistencyPhysical Drives = 8
PD LIST :
=======--------------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp
--------------------------------------------------------------------------------
252:0 16 Onln 1 931.0 GB SATA SSD N N 512B Samsung SSD 850 EVO 1TB U
252:1 17 Onln 1 931.0 GB SATA SSD N N 512B Samsung SSD 850 EVO 1TB U
252:2 11 Onln 1 931.0 GB SATA SSD N N 512B Samsung SSD 850 EVO 1TB U
252:3 12 Onln 1 931.0 GB SATA SSD N N 512B Samsung SSD 840 EVO 1TB U
252:4 8 Onln 0 558.406 GB SAS HDD N N 512B EG0600FBDBU U
252:5 9 Onln 0 558.406 GB SAS HDD N N 512B EG0600FBDBU U
252:6 15 Onln 1 931.0 GB SATA SSD N N 512B Samsung SSD 850 EVO 1TB U
252:7 10 Onln 1 931.0 GB SATA SSD N N 512B Samsung SSD 850 EVO 1TB U
--------------------------------------------------------------------------------EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded
Из полезного еще, можно посмотреть число virtual drive и физических дисков.
- показывает количество групп дисков;
- для каждой группы дисков - тип RAID, состояние, наличие фоновых задач, размер, использование кеша дисков, PI, SED, наличие свободного места, не всегда отрабатывает;
- для каждого диска - номер группы дисков, номер в группе (Row), номер корзины и слота в корзине, идентификатор устройства (DID), состояние, наличие фоновых задач, размер, использование кеша дисков, интерфейс, носитель, размер сектора, модель, раскручен ли;
- для каждого виртуального диска - номер группы дисков, тип RAID, состояние, тип доступа (RW), консистентность, тип кеширования, размер, имя;
- для BBU - модель, состояние, температура, режим работы, дата изготовления, дата следующего тестирования
Интервал сброса кэша, по умолчанию стоит 4 секунды
Если происходит проверка консистентности и если находится ошибка, должен ли контроллер прекратить ее или нет.
Так и не понял для чего данная команда Use Disk Activity For Locate, типа использовать дисковую активность для локализации диска.
Посмотреть включены ли alarm
Узнать количество плохих секторов badblocks
Узнать статус включены ли предупреждения от BBU батарейки
Узнать приоритет фоновой инициализации, по умолчанию это значение 30 %, максимально 100, минимальное 0.
Задать поведение контроллера при ошибках во время загрузки
Работа с Virtual Drive
Первым делом приведу команду которая покажет вам существующие virtual drive на вашем Raid контроллере.
У меня это виртуальный диск на RAID1, размером 558 гб.
Если добавите параметр all, то получите исчерпывающию информацию, из чего состоит данный Virtual Drive (EID дисков), размер stripe и многое еще.
Далее нужно понять какие диски у нас есть, делается это командой
Вы получите список дисков на вашем сервере, если опять добавите параметр all, то информации будет в разы больше. Тут из полезного EID диска, его статус.
Создаем Virtual Drive, сразу советую вам почитать про виды RAID и виды кэша контроллера LSI. Вводим команду
В результате ее выполнения вы получите виртуальный диск размером 1тб raid0, размером strip 128 с выключенным кэшем записи на диске и режимами кэша Read ahead, Direct I/O, Write back.
Возможные параметры virtual drive
- add vd > указываем что создается виртуальный диск
- type > тип raid 0|1|5|6|00|10|50|60
- size > размер указывается в мегабайтах, если поставить all, будет размечено все пространство.
- name > любое имя на латинице
- drives > список дисков
- strip > размер страйпа возможны варианты 8|16|32|64|128|256|1024
- pdcache > включение локального кэширования записи на дисках 0n/off
- Политика ввода вывода direct > Direct I/O еще возможный вариант cached > Cached I/O
- Политика записи wb > Write back, wt > Write through, awb > Always Write Back
- spares > добавить диск горячей замены, не работает с raid0
Пример команды с диском горячей замены, где 252:3, диск в 3 слоте.
Проверим теперь список виртуальных дисков. Как видите наш vd успешно добавлен.
- ssdcaching > on|off режим CacheCade
- emulationType > этот параметр задает как будет происходить эмуляция логического размера физического диска. Если выставить Default (0), то если в виртуальном диске будут диски 512E, то он их и будет считать 512E, если все диски 512N, то и они будут 512N, другими словами, все как есть так и будет. Если выставить Disabled (1), то vd всегда все будут считать как 512N, если у вас даже будет 512E формат дисков. Ну и Forced (2) показывает на virtual drive размер блока как 512E, если его даже нет. Более подробно про типы читайте в статье Advanced Format.
- ds > Default|Auto|None|Max|MaxNoCache > режим энергосбережения
- autobgi > on|off включение или выключение фоновых процессов.
Иницилизируем созданный virtual drive
Посмотреть процесс инициализации по всем сразу
Удалить virtual drive выполняется командой, где v1 номер vd.
Изменить настройки virtual drive
Очень важно уметь выполнять настройки на существующих виртуальных томах. И так у нас есть том 1 тб и режимами кэширования direct wb ra, размер stripe изменить уже не получиться, только удаление тома, а вот имя и режимами кэширования, да и расширение можно осуществить.
Изменим для начала имя текущего тома, напомню оно raid0, задаем команду и теперь оно будет new_raid0
Думаю тут понятна конструкция берете ./storcli /c0 /v1 set и задаете параметр который нужно поправить.
Возможные значения
- storcli /cx/vx set accesspolicy=rw (чтение/запись)|ro только чтение|blocked блокировка|rmvblkd > rmvblkd - remove blocked
- storcli /cx/vx set iopolicy=cached|direct > задать политику ввода/вывода
- storcli /cx/vx set name=имя > смена имени
- storcli /cx/vx set pdcache=on|off|default > работа с кешем записи на диске
- storcli /cx/vx set rdcache=ra|nora > режим предварительного чтения
- storcli /cx/vx set ssdcaching=on|off > CacheCade, ссылка выше
- storcli /cx/vx set wrcache=wt|wb|awb > режим кеширования записи (awb - всегда кешировать запись)
- storcli /cx/vx set emulationType=0|1|2 > полезно поиграться с дисками в эмуляции logical size, подробнее о Advanced Format (Default (0): при наличии в томе дисков 512E он видится как 512E. Если все диски — 512N, тогда том видится как 512N. Disabled (1): Том всегда видится как 512N несмотря на наличие дисков 512E. Forced (2): Том всегда видится как 512E даже при отсутствии дисков 512E)
- storcli /cx/vx set ds=Default|Auto|None|Max|MaxNoCache > включение режима энергосбережения
- storcli /cx/vx set autobgi=on|off. Включить/выключить фоновую инициализацию
- storcli /cx/vx set pi=off # (что это?)
- storcli /cx/vx set bootdrive={on|off}
- storcli /cx/vx set HostAccess=ExclusiveAccess|SharedAccess
- storcli /cx/vx set pi=Off
- storcli /cx/vx set bootdrive=<On|Off> сделать том загрузочным
- storcli /cx/vx set hidden=On|Off > скрыть том
- storcli /cx/vx set hoqrebuild=On|Off > включает/выключает главный диск в очереди на ребилд
- storcli /cx/vx set cbsize=0|1|2 cbmode=0|1|2|3|4|7 > задает размер Cache bypass (cbsize: 0 – 64k Cache bypass. 1 – 128k Cache bypass. 2 – 256k Cache bypass) (cbmode: 0 – Включение intelligent mode Cache bypass. 1 – Включение standard mode Cache bypass. 2 – Включение настраиваемого custom mode Cache bypass 1. 3 – Включение настраиваемого custom mode Cache bypass 2. 4 – Включение настраиваемого custom mode Cache bypass 3. 7 – Выключение Cache bypass.)
- storcli /cx/vx start erase simple|normal|thorough|standard начать стирание
- storcli /cx/vx stop eraseостановить стирание
- storcli /cx/vx start migrate type=RAID{0|1|5|6} [option={add|remove} drives=корзина:слот{,...}] # RAID5 и 6 нельзя преобразовать в RAID1, преобразование raid.
- storcli /cx/vx start cc [force] запуск проверки консистенции
- storcli /cx/vx stop cc остановка проверки консистенции
- storcli /cx/vx pause cc пауза проверки консистенции
- storcli /cx/vx resume cc возобновление проверки консистенции
- storcli /cx/vx suspend bgi пауза фоновой инициализации
- storcli /cx/vx stop bgi остановка фоновой инициализации
- storcli /cx/vx resume bgi возобновление фоновой инициализации
- storcli /cx/vx del cachecade > удалить cachecade
- storcli /cx/vx delete preservedcache [force] удалить данные, закешированные для исчезнувшего диска
- storcli /cx/vx expand size=ГБ [expandarray] # увеличить виртуальный диск, expandarray - увеличить размер группы дисков после замены дисков на большие диски
- storcli /cx/vx show BBMT # показать количество плохих блоков на логическом уровне с возможностью коррекции
Работа с CacheCade
Создаем CacheCade командой
./storcli /cx add vd cc type=r[0,1,10] drives=[EnclosureID:SlotID|:SlotID-SlotID|:SlotID,SlotID] WT|WB (assignvds=0,1,2)
пример
CacheCade активация/деактивация
./storcli /cx/[vx|vall] set ssdCaching=[on|off]
Пример
Как узнать % ребилда ??
./storcli show all
А как добавить в существующий vd новый диск?
Вы имеете в виду размеченный vd?
Именно, есть необходимость расширить существующий raid6 без разрушения массива. Возможно ли это?
На контроллерах LSI есть такая возможность, вы можете добавить дополнительные диски в существующий RAID (http://pyatilistnik.org/kak-dobavit-disk-v-sushhestvuyushhiy-raid-na-kontrollere-lsi/), я такое проделывал через MSM, на сайте есть пример статьи, со storcli такого не делал ,но уверен, что там это можно сделать
Благодарю! Если вдруг будет такой опыт с storcli, то добавьте в статью, пожалуйста! 🙂
Ок, если не забуду. Еще забыл отметить, что во время расширения raid массива, все будет очень тормозить, учтите это.
добавить диск в рейд6 :
./storcli /c0/v0 start migrate type=raid6 option=add drives=4:3
где drives — это EID:Slt доп. диска, посмотреть можно командой ./storcli /c0 show
на пятнадцать примерно минут рейд задумается, а затем можно смотреть прогресс
./storcli /c0/v0 show migrate
Лучше чтобы при этом никто не работал, так как система будет жутко тормозить и если кто-то будет работать, то миграция затянется на дни.
VD Operation Progress% Status Estimated Time Left
——————————————————-
0 Migrate 1 In progress 5 Hours 49 Minutes
Да точно растянется на долгое время.
Скорее всего неверно указаны единицы измерения команды «expand», не ГБ а МБ
./storcli /c0 /v0 expand size=1700000
Controller = 0
Status = Success
Description = expansion operation succeeded
EXPANSION RESULT :
================
————————————————————————
VD Size FreSpc ReqSize AbsUsrSz %FreSpc NewSize Status NoArrExp
————————————————————————
0 1.031 TB 1.695 TB 1.621 TB 1.627 TB 96 2.660 TB — 1.695 TB
————————————————————————
Size — Current VD size|FreSpc — Freespace available before expansion
%FreSpc — Requested expansion size in % of available free space
AbsUsrSz — User size rounded to nearest %
Добрый день.
Есть контроллер 9631-4i вместе с ним стоит батарейка, в свойствах она и состояние — оптимальное.
При создании рейда virtual drive в политике записи я ожидал увидеть пункт: Write Back BBU,но его нет. Может вы знаете это особенность контроллера или что-то не так? В данный момент я пытаюсь обновить прошивку через storcli (efi), может есть у вас какой-то?
К сожалению, я не работал с данной моделью, могу посоветовать установить MSM или LSA для обновления через веб интерфейс.
Подскажите может была похожая проблема с storcli на esxi 6.0, при вводе любой команды storcli зависает. Команда ./storcli -v отвисла через 12 часов.
День добрый!
Подскажите плиз… У меня регистрируется ошибка:
Controller ID: 0 Transient error detected while communicating with PD: Int. Port 0 — 3:1:6
А я не могу понять с каким физическим диском эта ошибка связана…
Можете выгрузить весь список файлов
как с помощью storcli добавить второй массив?
спасибо
Включите в статью пример для временного решения проблем с BBU до замены без потери производительности
storcli64 /c0/v0 set cachedbadbbu=on
Спасибо за статью! Очень выручила!
Подскажите, пожалуйста, на сколько критично количество плохих блоков?
Сейчас такая информация:
Controller = 0
Status = Failure
Description = None
Detailed Status :
===============
————————————————————-
Ctrl Status Ctrl_Prop Value ErrMsg ErrCd
————————————————————-
0 Failed Bad Block Count — BadBlockCount failed 2
————————————————————-
Исходя из своего опыта, если диск начал крошиться, то его лучше менять сразу, так как он выходит из строя в течении нескольких недель. Например у меня были диски IBM и там критическое количество блоков было 20.
Добрый день. Добавил в массив raid6 еще один диск. Хотел сделать хотспару, но ошибся, добавил именно в массив. В винде, в Управлении дисками, свободное место на массиве появилось, но размечать НЕ стал. Возможно ли, удалить лишний диск без потери данных и остановки массива? Диск перевел в состояние Unconfigured Drive, в MSM.
В MSM я не нашел возможности удалить диск из массива. Если переделать пример выше под мой сценарий: ./storcli /c0/v0 start migrate type=raid6 option=del drives=32:7
сработает ли? не нагнется ли массив?