====== Консольные утилиты RAID-массивов ====== [[http://www.watters.ws/mediawiki/index.php/RAID_controller_commands|http://www.watters.ws/mediawiki/index.php/RAID_controller_commands]] https://hwraid.le-vert.net/wiki ==== megarc ==== 1. Узнать емкости и модели винтов в RAID-массиве можно так megarc -phys -chAll -idAll -a0 2. Состояние RAID-массива megarc -dispCfg -a0 3. Отобразить историю ошибок физического диска megarc -pdFailInfo -chAll -idAll -a0 4. Логи megarc -LogPhysInfo -a0 5. Статус самого контроллера megarc -ctlrInfo -a0 6. Запуск консистенси чека на всех LUN'ах megarc –chkonLd –a0 –Lall 7. Просмотр состояния ребилда megarc -showRbld -a0 8. Информация о логическом диске megarc -ldInfo -l0 -a0 9. Изменить rebuild rate (не рекомендуется ставить больше 40%, значения выше 90% сделают диски недоступными для чего либо кроме ребилда) megarc -setRbldRate 35 -a0 10. Запустить перестроение массива. Следующая команда запусти ребилд на адаптере 0 (-a0) канала 0 диска 2 [0:2] (можно не указывать -ShowProg если не нужно отображать процесс перестроения массива) megarc -doRbld -a0 -RbldArray[0:2] -ShowProg 11. Отключить звук аларма (само состояние аларма остается) megarc -silenceAlarm -a0 12. Включить диск, находящийся в состоянии "ошибка". x=номер канала, обычно 0 y=id физического диска megarc -physOn -a0 pd[x:y] 13. Выключить диск megarc -physOff -a0 pd[x:y] 14. Удалить логический диск x megarc -DelLd -a0 -lx Удалить ЛД 1 megarc -DelLd -a0 -l1 15. Создать логический диск RAID-5 megarc -addCfg -a0 -R5[0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7] ==== tw_cli ==== tw_cli show tw_cli /c6 show tw_cli /c6 show all tw_cli /c6/p4 remove tw_cli /c6 rescan tw_cli /c6/u0 show tw_cli /c6/u0 show all tw_cli /c6/u0 start rebuild disk=4 tw_cli maint rebuild c6 u0 p0 tw_cli rescan tw_cli /c6/bbu show all tw_cli /c6/bbu test quiet ==== smartctl ==== smartctl -a -d 3ware,0 /dev/twa0 smartctl -a -d 3ware,1 /dev/twa0 smartctl -a -d 3ware,2 /dev/twa0 smartctl -a -d 3ware,3 /dev/twa0 smartctl -a -d 3ware,4 /dev/twa0 smartctl -a -d 3ware,5 /dev/twa0 smartctl -a -d 3ware,6 /dev/twa0 smartctl -a -d 3ware,7 /dev/twa0 smartctl --all -d aacraid,0,0,2 /dev/sda ==== arcconf ==== 1. Информация об адаптере arcconf GETCONFIG 1 AD 2. Информация о логических дисках arcconf GETCONFIG 1 LD 3. Информация о физических дисках arcconf GETCONFIG 1 PD arcconf getconfig 1 pd|egrep "Device #|Model|State\>|Reported Location|Reported Channel|S.M.A.R.T. warnings" watch -n 10 "arcconf getconfig 1 pd|egrep 'Device #|State\>|Reported Location|Reported Channel|S.M.A.R.T.|Serial'" 4. Чтение лога событий (выводит в xml-формате, с параметром tabular в текстовом) arcconf GETLOGS 1 event 5. Создание RAID-массивов: Перед использованием дисков их нужно инициализировать. В примере ниже инициализируются диски 6 и 7 на канале 0 arcconf task start 1 device 0 6 INITIALIZE arcconf task start 1 device 0 7 INITIALIZE И затем из этих дисков собирается RAID-1 arcconf create 1 logicaldrive max 1 0 6 0 7 То же самое, но с назначением имени "ar2" логическому диску и отменой запроса подтверждения(noprompt) arcconf create 1 logicaldrive name ar2 max 1 0 6 0 7 noprompt Создание RAID-10 из 4х дисков arcconf CREATE 1 LOGICALDRIVE MAX 10 0 4 0 5 0 6 0 7 noprompt Пробросим один диск как Single Volume arcconf create 1 logicaldrive max volume 0 5 6. Удаление логического диска arcconf DELETE 1 LOGICALDRIVE 1 7. После каких-либо изменений в физическом составе дисков следует дать команду контроллеру пересканировать диски arcconf rescan 1 8. Обновление прошивки arcconf romupdate [CONTROLLERNUMMER] [ROMFILE]01.ufi 9. Очистка диска от информации о raid-массиве, в котором он был arcconf TASK START 1 DEVICE 0 0 CLEAR 10. Запуск проверки диска arcconf TASK START DEVICE VERIFY arcconf TASK START 1 DEVICE 0 5 VERIFY 11. Просмотр состояния запущенных задач arcconf getstatus 1 12. Работа с hot-spare дисками Назначить в качестве глобального hot-spare диска физический диск 5 на канале 0 arcconf SETSTATE 1 DEVICE 0 5 HSP Назначить в качестве hot-spare диска для логического диска с указанным номером физический диск 5 на канале 0 arcconf SETSTATE 1 DEVICE 0 5 HSP LOGICALDRIVE убрать из hot-spare физический диск 5 на канале 0 arcconf SETSTATE 1 DEVICE 0 5 RDY 13. Если в контроллере идут какие-то фоновые задачи, то просмотр их состояния выполняется следующей командой arcconf GETSTATUS 1 Для длительного мониторинга выполнения задач удобно использовать команду watch. watch -n 10 arcconf GETSTATUS 1 watch -n 10 "arcconf GETSTATUS 1;arcconf getconfig 1 pd|egrep 'Device #|^ *State|Reported Channel|S.M.A.R.T. warnings'" ==== megarc ==== 1. Узнать емкости и модели винтов в RAID-массиве можно так megarc -phys -chAll -idAll -a0 2. Состояние RAID-массива megarc -dispCfg -a0 3. Отобразить историю ошибок физического диска megarc -pdFailInfo -chAll -idAll -a0 4. Логи megarc -LogPhysInfo -a0 5. Статус самого контроллера megarc -ctlrInfo -a0 6. Запуск консистенси чека на всех LUN'ах megarc –chkonLd –a0 –Lall 7. Просмотр состояния ребилда megarc -showRbld -a0 8. Информация о логическом диске megarc -ldInfo -l0 -a0 9. Изменить rebuild rate (не рекомендуется ставить больше 40%, значения выше 90% сделают диски недоступными для чего либо кроме ребилда) megarc -setRbldRate 35 -a0 10. Запустить перестроение массива. Следующая команда запусти ребилд на адаптере 0 (-a0) канала 0 диска 2 [0:2] (можно не указывать -ShowProg если не нужно отображать процесс перестроения массива) megarc -doRbld -a0 -RbldArray[0:2] -ShowProg 11. Отключить звук аларма (само состояние аларма остается) megarc -silenceAlarm -a0 12. Включить диск, находящийся в состоянии "ошибка". x=номер канала, обычно 0 y=id физического диска megarc -physOn -a0 pd[x:y] 13. Выключить диск megarc -physOff -a0 pd[x:y] 14. Удалить логический диск x megarc -DelLd -a0 -lx Удалить ЛД 1 megarc -DelLd -a0 -l1 15. Создать логический диск RAID-5 megarc -addCfg -a0 -R5[0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7] ==== tw_cli ==== tw_cli show tw_cli /c6 show tw_cli /c6 show all tw_cli /c6/p4 remove tw_cli /c6 rescan tw_cli /c6/u0 show tw_cli /c6/u0 show all tw_cli /c6/u0 start rebuild disk=4 tw_cli maint rebuild c6 u0 p0 tw_cli rescan tw_cli /c6/bbu show all tw_cli /c6/bbu test quiet ==== smartctl ==== smartctl -a -d 3ware,0 /dev/twa0 smartctl -a -d 3ware,1 /dev/twa0 smartctl -a -d 3ware,2 /dev/twa0 smartctl -a -d 3ware,3 /dev/twa0 smartctl -a -d 3ware,4 /dev/twa0 smartctl -a -d 3ware,5 /dev/twa0 smartctl -a -d 3ware,6 /dev/twa0 smartctl -a -d 3ware,7 /dev/twa0 smartctl --all -d aacraid,0,0,2 /dev/sda smartctl -a -d cciss,0 /dev/sda ==== arcconf ==== 1. Информация об адаптере arcconf GETCONFIG 1 AD 2. Информация о логических дисках arcconf GETCONFIG 1 LD 3. Информация о физических дисках arcconf GETCONFIG 1 PD arcconf getconfig 1 pd|egrep "Device #|Model|State\>|Reported Location|Reported Channel|S.M.A.R.T. warnings" watch -n 10 "arcconf getconfig 1 pd|egrep 'Device #|State\>|Reported Location|Reported Channel|S.M.A.R.T. warnings'" 4. Чтение лога событий (выводит в xml-формате, с параметром tabular в текстовом) arcconf GETLOGS 1 event 5. Создание RAID-массивов: Перед использованием дисков их нужно инициализировать. В примере ниже инициализируются диски 6 и 7 на канале 0 arcconf task start 1 device 0 6 INITIALIZE arcconf task start 1 device 0 7 INITIALIZE Инициализировать сразу 8 дисков одной строкой (вариант по одному и все разом) for i in $(seq 0 7); do arcconf task start 1 device 0 $i INITIALIZE noprompt; done arcconf task start 1 DEVICE ALL INITIALIZE И затем из этих дисков собирается RAID-1 arcconf create 1 logicaldrive max 1 0 6 0 7 То же самое, но с назначением имени "ar2" логическому диску и отменой запроса подтверждения(noprompt) arcconf create 1 logicaldrive name ar2 max 1 0 6 0 7 noprompt Создание RAID-10 из 4х дисков и из 8 arcconf CREATE 1 LOGICALDRIVE MAX 10 0 4 0 5 0 6 0 7 noprompt arcconf CREATE 1 LOGICALDRIVE Stripesize 16 Name data Rcache RON Wcache WBB MAX 10 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 noprompt 6. Удаление логического диска arcconf DELETE 1 LOGICALDRIVE 1 7. После каких-либо изменений в физическом составе дисков следует дать команду контроллеру пересканировать диски arcconf rescan 1 8. Обновление прошивки arcconf romupdate [CONTROLLERNUMMER] [ROMFILE]01.ufi 9. Очистка диска от информации о raid-массиве, в котором он был arcconf TASK START 1 DEVICE 0 0 CLEAR 10. Запуск проверки диска arcconf TASK START DEVICE VERIFY 11. Работа с hot-spare дисками Назначить в качестве глобального hot-spare диска физический диск 5 на канале 0 arcconf SETSTATE 1 DEVICE 0 5 HSP Назначить в качестве hot-spare диска для логического диска с указанным номером физический диск 5 на канале 0 arcconf SETSTATE 1 DEVICE 0 5 HSP LOGICALDRIVE убрать из hot-spare физический диск 5 на канале 0 arcconf SETSTATE 1 DEVICE 0 5 RDY 12. Если в контроллере идут какие-то фоновые задачи, то просмотр их состояния выполняется следующей командой arcconf GETSTATUS 1 Для длительного мониторинга выполнения задач удобно использовать команду watch. watch -n 10 arcconf GETSTATUS 1 watch -n 10 "arcconf getstatus 1;arcconf GETCONFIG 1 LD" ==== ssacli & hpacucli==== Эти программы часто могут использоваться для одних и тех же контроллеров. Поддерживаемые модели контроллеров и набор команд варьируются в зависимости от версий утилит. https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c03493210 http://pyatilistnik.org/spisok-komand-hpssacli-dlya-rabotyi-s-raid-smart-array-p410i-na-esxi-5-5/ ssacli ctrl all show detail ssacli ctrl slot=1 show detail ssacli ctrl slot=1 show config ssacli ctrl slot=1 array all show ssacli ctrl slot=1 array all show status ssacli ctrl slot=1 array A show detail ssacli ctrl slot=1 rescan ssacli ctrl slot=1 physicaldrive all show ssacli ctrl slot=1 physicaldrive 1I:0:5 show status ssacli ctrl slot=1 physicaldrive 1I:0:5 show detail ssacli ctrl slot=1 Array A logicaldrive all show detail ssacli ctrl slot=1 array A delete ssacli ctrl slot=1 physicaldrive allunassigned show ssacli ctrl slot=1 create type=ld drives=allunassigned raid=50 ssacli ctrl slot=1 create type=ld drives=allunassigned raid=1 ssacli ctrl slot=1 create type=ld drives=1I:1:1,1I:1:2,1I:1:3,1I:1:4,1I:1:5,1I:1:6 raid=50 ssacli ctrl slot=1 create type=ld drives=allunassigned raid=1+0 ssacli ctrl slot=1 create type=ld drives=1I:1:1,1I:1:2,1I:1:3,1I:1:4,1I:1:5,1I:1:6 raid=1+0 ssacli ctrl slot=1 create type=ld raid=1+0 drives=5I:1:4,5I:1:6,5I:1:7,5I:1:9,5I:1:10,5I:1:12 stripsize=16 arrayaccelerator=enable writepolicy=writeback ssacli ctrl slot=1 create type=ld raid=1+0 drives=1I:1:5,1I:1:6,1I:1:7,1I:1:8,1I:1:1,1I:1:2,1I:1:3,1I:1:4 stripsize=16 arrayaccelerator=enable size=$((12*1024*1024)) ssacli ctrl slot=1 create type=ld drives=1I:1:2 raid=0 # Delete - Logical Drive 2 ssacli ctrl slot=1 ld 2 delete ssacli ctrl slot=1 ld 2 modify stripsize=256 ssacli ctrl slot=1 array A add spares=allunassigned sparetype=autoreplace ssacli ctrl slot=2 modify drivewritecache=disable ssacli ctrl slot=2 create type=ldcache drives=5I:1:11 datald=2 hpacucli controller slot=1 logicaldrive 1 modify arrayaccelerator=enable ssacli ctrl slot=1 modify dwc=enable hpacucli ctrl slot=1 modify cacheratio=25/75 ssacli ctrl slot=1 modify cacheratio=25/75 ssacli ctrl slot=1 modify cacheratio=10/90 hpacucli ctrl slot=1 array A delete hpacucli ctrl slot=1 create type=ld drives=1I:1:1,1I:1:2,1I:1:3,1I:1:4,1I:1:5,1I:1:6 raid=1+0adm stripsize=256 arrayaccelerator=enable caching=enable size= hpacucli ctrl slot=1 create type=ld drives=1I:1:1,1I:1:2,1I:1:3,1I:1:4,1I:1:5,1I:1:6 raid=1+0 stripsize=256 caching=enable hpacucli ctrl slot=1 array all show detail hpacucli ctrl slot=1 Array A logicaldrive all show detail {{tag>hardware raid shell}}