MegaCli - примеры

Опубликовано

Утилита MegaCli представляет собой интерфейс управления и мониторинга raid контроллером в среде UNIX. Рассмотрим несколько приемов работы с этой утилитой в Debian Jessie.

Установка из репозитория

В первую очередь добавим путь к репозиторю hwraid в /etc/apt/sources.list:

deb http://hwraid.le-vert.net/debian jessie main

Затем получим и добавим ключ:

# wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -

Обновляем пакеты:

# apt-get update

Устанавливаем MegaCli:

# apt-get install megacli 

Примеры использования (Intel RAID Controller RS2WC080)

Получаем подробную информацию по всем массивам на всех контроллерах в системе:

# megacli -LDInfo -Lall -Aall

В результате будет выдан подробный список массивов с детальной информацией, чтобы быстро определить состояние массивов не перебирая кучу ненужных данных мы воспользуемся grep:

# megacli -LDInfo -Lall -Aall | grep "Adapter\|Virtual Drive\|State"

В результате получим следующий вывод:

Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
State               : Optimal
Virtual Drive: 1 (Target Id: 1)
State               : Optimal
Virtual Drive: 2 (Target Id: 2)
State               : Optimal
Virtual Drive: 3 (Target Id: 3)
State               : Optimal
Adapter 1 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
State               : Optimal
Virtual Drive: 1 (Target Id: 1)
State               : Degraded
Virtual Drive: 2 (Target Id: 2)
State               : Optimal
Virtual Drive: 3 (Target Id: 3)
State               : Optimal

В данном случае можно определить что массив на контроллере 1 под номером 1 имеет состояние Degraded - т.е. вышел из строя. Т.к. массивы - RAID1 (зеркало), то можно заключить, что скорее всего массив распался из-за выхода из строя одного из жестких дисков. Определяем какой именно жесткий диск вышел из строя. Для начала убедимся что мы правильно определили массив:

# megacli -LDInfo -L1 -A1
Adapter 1 -- Virtual Drive Information:
Virtual Drive: 1 (Target Id: 1)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 1.817 TB
Sector Size         : 512
Is VD emulated      : No
Mirror Data         : 1.817 TB
State               : Degraded
Strip Size          : 64 KB
Number Of Drives    : 2
Span Depth          : 1
Default Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
Is VD Cached: No

Теперь нужно определить физические диски, которые относятся к этому массиву (-A1 - номер контроллера):

megacli -PDList -A1 | egrep 'Slot\ Number|Device\ Id|Inquiry\ Data|Raw|Firmware\ state' | sed 's/Slot/\nSlot/g'

В результате получим вывод:

Slot Number: 0
Device Id: 11
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data: N4G13XUM            HGST HUS726020ALE614                    APGNW7J0

Slot Number: 1
Device Id: 10
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data:      WD-WMAY00592442WDC WD2003FYYS-02W0B0                   01.01D01

Slot Number: 2
Device Id: 9
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Unconfigured(bad)
Inquiry Data:      WD-WMAY00163306WDC WD2003FYYS-02W0B0                   01.01D01

Slot Number: 3
Device Id: 8
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data:      WD-WMC1P0D4TP4XWDC WD2000FYYZ-01UL1B2                  01.01K03

Slot Number: 4
Device Id: 15
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data:      WD-WMAY00576654WDC WD2003FYYS-02W0B0                   01.01D01

Slot Number: 5
Device Id: 12
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data:      WD-WMC1P0DA39LUWDC WD2000FYYZ-01UL1B2                  01.01K03

Slot Number: 6
Device Id: 14
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data:      WD-WMC1P0H2FYUMWDC WD2000FYYZ-01UL1B3                  01.01K04

Slot Number: 7
Device Id: 13
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Online, Spun Up
Inquiry Data:      WD-WMC1P0H08SWMWDC WD2000FYYZ-01UL1B3                  01.01K04

Как видим один из дисков имеет статус Unconfigured(bad). Вероятнее всего он вышел из строя и его требуется заменить:

Slot Number: 2
Device Id: 9
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Unconfigured(bad)
Inquiry Data:      WD-WMAY00163306WDC WD2003FYYS-02W0B0                   01.01D01

Проблема в том, что megacli не демонстрирует серийный номер диска, для его быстрого поиска и извлечения, поэтому для того чтобы запросить серийный номер потребуется использовать утилиту smartctl из пакета smartmontools:

# smartctl -d megaraid,9 -a /dev/sdf | egrep "Device\ Model|Serial"
Device Model:     WDC WD2003FYYS-02W0B0
Serial Number:    WD-WMAY00163306

Device Id мы указали в качестве аргумента к -d megaraid,N (где номер - это Device Id), далее требуется указать имя диска в системе -a /dev/sdf в нашем случае. Если выполнить команду без egrep, то соответсвенно будет получена полная SMART информация диска.

В дальнейшем остается выключить систему, физически обнаружить вышедший из строя диск и заменить его на новый, затем при запуске системы зайти в конфигурацию контроллера и задать Rebuild массива с новым диском. В случае с контроллером RS2WC080 после начала Rebuild можно выходить из утилиты конфигурирования и загружать операционную систему, контроллер продолжит операцию восстановления в процессе работы. В чем можно убедиться:

# megacli -PDList -A1 | egrep 'Slot\ Number|Device\ Id|Inquiry\ Data|Raw|Firmware\ state' | sed 's/Slot/\nSlot/g'

Состояние диска изменится на Rebuild:

Slot Number: 2
Device Id: 9
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Firmware state: Rebuild
Inquiry Data:      WD-WMAY00163306WDC WD2003FYYS-02W0B0                   01.01D01

Процесс на работу массива в системе никак не влияет, кроме замедления доступа к данным, пока процесс Rebuild не будет закончен.

[Наверх страницы]