Arcconf  - утилита для управления аппаратным RAID-контроллером Adaptec.

 

Смотрим количество RAID-контроллеров в системе:

# lspci | grep -i raid

Команда для получения полной информации о контроллере:

# sudo arcconf getconfig 1

 

# sudo arcconf getconfig [AD | LD [LD#] | PD | MC | [AL]] [nologs]
Где,

Prints controller configuration information.

   Option  AD  : Информация исключительно о контроллере Adapter
           LD  : Информация исключительно о логических устройствах
           LD# : Дополнительная информация об указанном логическом устройстве
           PD  : Информация исключительно о физическом устройстве
           MC  : Информация исключительно о Maxcache 3.0
           AL  : Вся информация

Для облегчения вывода:

# sudo arcconf getconfig 1 pd|egrep "Device #|State\>|Reported Location|Reported Channel|S.M.A.R.T. warnings"

если при запуске утилиты появится ошибка вида:

arcconf: error while loading shared libraries:

libstdc++.so.5: cannot open shared object file: No such file or directory

Нужно установить пакет libstdc++-v3 (для centos - compat-libstdc++-33) или указать где находится искомая библиотека, например так:

# export LD_PRELOAD="/usr/StorMan/libstdc++.so.5"

 

Самой важной информацией является информация о состоянии логических дисков:

# sudo arcconf getconfig 1 ld

Ключевой информацией является строка:

Status of logical device : Optimal



Добавить новый диск в массив и расширить LUN:

# sudo arcconf modify 1 from 1 to MAX 5 0 24 0 25 0 26 0 27 0 28 0 29 0 30

Это при условии, что на первом LUN который мы модифицируем, был raid5 и состоял он из шести сегментов (0,24 0,25 0,26 0,27 0,28 0,29), добавляем новый сегмент 0,30

 

Удаляем LUN #1

# sudo arcconf delete 1 logicaldrive 1

 

Создаем новый LUN включая 6 сегментов, размер максимальный, raid5

# sudo arcconf create 1 logicaldrive name a1 max 5 0 24 0 25 0 26 0 27 0 28 0 29

Controllers found: 1

-

Do you want to add a logical device to the configuration?

Press y, then ENTER to continue or press ENTER to abort: y

-

Creating logical device: a1

-

Command completed successfully.

 

Проверяем созданный LUN:

# sudo arcconf getconfig 1 LD 1

+++++++++++++++-

Замена диска:

 

ссылка

 

++++++++++++++++++++-

Подключить диск Hot spare

Подключить диск 0:11 как hot spare к трем лунам 1-2-3

# sudo arcconf SETSTATE 1 DEVICE 0 11 HSP LOGICALDRIVE 1 2 3

 ++++++++++++++++++++-

 

Случилась авария

Для начала смотрим что драйвер контроллера нам скажет по поводу конфигурации массива, все ли сегменты массива в порядке, сколько их и прочую информацию.

# sudo arcconf getconfig 1

Если все сегменты в порядке, то стоит визуально посмотреть как себя ведут винты в массиве. В одном случае один из винтов лихорадочно моргал, в то время как остальные винты практически спали. При все при этом, обратиться к разделу на этом массиве было практически невозможно – ls любой каталог раздела длился порядка 30-40 секунд. Значит что-то здесь не то.

Продолжим собирать информацию, прежде чем что-то делать – тут торопиться не надо.

Получим логи с контролера. Они не очень информативные, но надо посмотреть.

# sudo arcconf getlogs 1 DEVICE tabular
# sudo arcconf getlogs 1 DEAD tabular
# sudo arcconf getlogs 1 EVENT tabular
# sudo arcconf getlogs 1 uart

Дату в логах можно перевести в удобоваримый вид к примеру так

# sudo perl -e 'print scalar(localtime(1234883784))'

 

Пример сообщения об ощибках диска:


    deadDriveEntry                   
        vendorID ........................................ SEAGATE
        rtcSeconds ...................................... 8
        rtcMinutes ...................................... 33
        rtcHours ........................................ 16
        rtcDay .......................................... 23
        rtcMonth ........................................ 7
        rtcYear ......................................... 2010
        serialNumber .................................... 3SJ0ZTJ900009037MCB1
        productID ....................................... ST330065
        wwn ............................................. 5000c50022f664b0
        failureReasonCode ............................... 2

Идентифицировать диск можно по значению WWN. В этом примере - 5000c50022f664b0

 

Значения failureReasonCode:

0 or 0x00 Unknown failure
1 or 0x01 Device not ready
2 or 0x02 Selection timout
3 or 0x03 User marked the drive dead
4 or 0x04 Hardware error
5 or 0x05 Bad block
6 or 0x06 Retries failed
7 or 0x07 No Response from drive during discovery
8 or 0x08 Inquiry failed
9 or 0x09 Probe(Test Unit Ready/Start Stop Unit) failed
A or 0x0A Bus discovery failed

 

Вычисляем какой из сегментов (винтов) массива неисправен и пробуем сделать verify (в этом примере диск 0:21).

# sudo arcconf task start 1 device 0 21 verify

Посмотреть статус проверки можно так

# sudo arcconf getstatus 1

Если с ним что-то не так, то проверка это покажет.

Начинаем лечить наш массив. Есть два метода.

  1. Починить из системы в режиме онлайн (если корзина поддерживает хотсвоп)
  2. Чинить из программы в биоса контроллера (при перезагрузке)

 

Второй метод описывать не буду, т.к. он зависит от версии контроллера.

Вынуть сбойный диск (систему не останавливать, при чем еще раз оговорюсь, это если массив с избыточным резервированием, raid5-6), система продолжает работать в частично разрушенном состоянии. Это можно увидеть, если запросить конфиг контроллера еще раз.

 

Убеждаемся, что все хорошо – массив работает без нашего диска. Теперь стоит на его место вставить точно такой же, новый винт. Ставим. После чего запускаем рескан дисков, чтобы контроллер обнаружил новый диск и включил его в наш массив.

# sudo arcconf rescan 1

После сканирования дисков, массив должен обнаружить новый диск и включить ребилд нашего массива. Это состояние опять же стоит посмотреть

Если идет ребилд массива, значит все в порядке и по его завершению, мы получим новый винт в строю массива.

 

++++++++++++++++++++++++++-

Обновление прошивки:

https://wiki.colobridge.net/%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B5/%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B/%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_raid_adaptec_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_arcconf

 

Смотреть официальную документацию!!!



Материалы:

https://storage.microsemi.com/en-us/support/infocenter/release-2013-4/index.jsp?topic=/adaptec_cli.xml/Topics/arcconf_setstate.html