Применимость: Linux, RAID
Слова для поиска:
Мониторинг состояния контроллера Adaptec, управление его работой, устранение неисправностей без использования тяжеловесного и неудобного Adaptec Smartmon
Установить утилиту arcconf с сайта производителя и официальную документацию по использованию
Команда для получения полной информации о контроллере:
arcconf getconfig 1
если при запуске утилиты появится ошибка вида:
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"
Самой важной информацией является информация о состоянии логических дисков
arcconf getconfig 1 ld
Ключевой информацией является строка
Status of logical device : Optimal
Просмотреть состояние дисков:
arcconf GETCONFIG 1 PD
Создание JBOD диска
Синтаксис:
arcconf CREATE <Controller#> JBOD <Channel# ID#
Пример:
arcconf CREATE 1 JBOD 0 71 noprompt
Добавить новый диск в массив и расширить LUN до максимума на размер этого диска можно так
# arcconf modify 1 from 1 to MAX 5 0 24 0 25 0 26 0 27 0 28 0 29 0 30 Controllers found: 1 Reconfiguration of a logical device is a long process. Are you sure you want to continue? Press y, then ENTER to continue or press ENTER to abort: y
Это при условии, что на первом LUN который мы моифицируем, был raid5 и состоял он из шести сегментов (0,24 0,25 0,26 0,27 0,28 0,29), добавляем новый сегмент 0,30
Удаляем LUN #1
# arcconf delete 1 logicaldrive 1 Controllers found: 1 WARNING: logical device 1 may contain a partition. All data in logical device 1 will be lost. Delete the logical device? Press y, then ENTER to continue or press ENTER to abort: y
Создаем новый LUN включая 6 сегментов, размер максимальный, raid5
# 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:
arcconf getconfig 1 LD 1
Проверяем – идет ли сборка массива?
# arcconf getstatus 1
Замена диска производится в случае неисправности, но я просто поменяю диск.
Выберем диск для замены:
arcconf GETCONFIG 1 ld 1 Controllers found: 1 ---------------------------------------------------------------------- Logical device information ---------------------------------------------------------------------- Logical device number 1 Logical device name : A2 RAID level : 10 Status of logical device : Optimal Size : 1360544 MB Stripe-unit size : 256 KB Read-cache mode : Enabled MaxIQ preferred cache setting : Disabled MaxIQ cache setting : Disabled Write-cache mode : Enabled (write-back) Write-cache setting : Enabled (write-back) Partitioned : Yes Protected by Hot-Spare : No Bootable : No Failed stripes : No Power settings : Disabled -------------------------------------------------------- Logical device segment information -------------------------------------------------------- Group 0, Segment 0 : Present (0,8) WD-WMATV6899266 Group 0, Segment 1 : Present (0,9) WD-WMATV6939288 Group 1, Segment 0 : Present (0,10) WD-WMATV6911402 Group 1, Segment 1 : Present (0,11) WD-WMATV6912818В случае неисправности состояние диска будет отличаться от других.
Неисправный диск автоматически выведен из работы, его можно просто вынуть, но мой диск исправен.
Пометим диск как сбойный
arcconf SETSTATE 1 DEVICE 0 10 DDD
Ситаксис:
arcconf SETSTATE <Controller#> DEVICE <Channel#> <Device#> <State>
Параметры:
Controller# is the controller number. Channel# is the channel number for the drive. Device# is the device number for the device.
Статус:
DDD—Force a drive offline (to Failed)
Другой пример:
arcconf SETSTATE 1 DEVICE 0 0 DDD LOGICALDRIVE 1 2 3
Проверим - изменилось ли стсотояние диска?
arcconf GETCONFIG 1 ld 1 Controllers found: 1 ---------------------------------------------------------------------- Logical device information ---------------------------------------------------------------------- Logical device number 1 Logical device name : A2 RAID level : 10 Status of logical device : Degraded Size : 1360544 MB Stripe-unit size : 256 KB Read-cache mode : Enabled MaxIQ preferred cache setting : Disabled MaxIQ cache setting : Disabled Write-cache mode : Enabled (write-back) Write-cache setting : Enabled (write-back) Partitioned : Yes Protected by Hot-Spare : No Bootable : No Failed stripes : No Power settings : Disabled -------------------------------------------------------- Logical device segment information -------------------------------------------------------- Group 0, Segment 0 : Present (0,8) WD-WMATV6899266 Group 0, Segment 1 : Present (0,9) WD-WMATV6939288 Group 1, Segment 0 : Missing Group 1, Segment 1 : Present (0,11) WD-WMATV6912818Проверим статус:
arcconf getstatus 1 Controllers found: 1 Logical device Task: Logical device : 0 Task ID : 100 Current operation : Compacting Status : In Progress Priority : High Percentage complete : 2
Все нормально.
Теперь диск можно вынуть и вставить другой. Действия после этого как в случае с аварией. Примечание: - утилита arcconf имеет массу дополнительных параметров, читайте руководство.
Подключить диск 0:11 как hot spare к трем лунам 1-2-3
arcconf SETSTATE 1 DEVICE 0 11 HSP LOGICALDRIVE 1 2 3
Для начала смотрим что драйвер контроллера нам скажет по поводу конфигурации массива, все ли сегменты массива в порядке, сколько их и прочую информацию.
arcconf getconfig 1
Если все сегменты в порядке, то стоит визуально посмотреть как себя ведут винты в массиве. В одном случае один из винтов лихорадочно моргал, в то время как остальные винты практически спали. При все при этом, обратиться к разделу на этом массиве было практически невозможно – ls любой каталог раздела длился порядка 30-40 секунд. Значит что-то здесь не то.
Продолжим собирать информацию, прежде чем что-то делать – тут торопиться не надо.
Получим логи с контролера. Они не очень информативные, но надо посмоттреть.
arcconf getlogs 1 DEVICE tabular arcconf getlogs 1 DEAD tabular arcconf getlogs 1 EVENT tabular arcconf getlogs 1 uart
Дату в логах можно перевести в удобоваримый вид к примеру так
perl -e 'print scalar(localtime(1234883784))'
Вместо 1234883784 вставьте свое значение
Пример сообщения об ощибках диска:
deadDriveEntry vendorID ........................................ SEAGATE rtcSeconds ...................................... 8 rtcMinutes ...................................... 33 rtcHours ........................................ 16 rtcDay .......................................... 23 rtcMonth ........................................ 7 rtcYear ......................................... 2010 serialNumber .................................... 3SJ0ZTJ900009037MCB1 productID ....................................... ST330065 wwn ............................................. 5000c50022f664b0 failureReasonCode ............................... 2
Значения 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).
arcconf task start 1 device 0 21 verify
Посмотреть статус проверки можно так
arcconf getstatus 1
Если с ним что-то не так, то проверка это покажет.
Начинаем лечить наш массив. Есть два метода.
Второй метод описывать не буду, т.к. он зависит от версии контроллера.
Вынуть сбойный диск (систему не останавливать, при чем еще раз оговорюсь, это если массив с избыточным резервированием, raid5-6), система продолжает работать в частично разрушенном состоянии. Это можно увидеть, если запросить конфиг контроллера еще раз.
Убеждаемся, что все хорошо – массив работает без нашего диска. Теперь стоит на его место вставить точно такой же, новый винт. Ставим. После чего запускаем рескан дисков, чтобы контроллер обнаружил новый диск и включил его в наш массив.
arcconf rescan 1
После сканирования дисков, массив должен обнаружить новый диск и включить ребилд нашего массива. Это состояние опять же стоит посмотреть
Если идет ребилд массива, значит все в порядке и по его завершению, мы получим новый винт в строю массива.
arcconf getstatus 1 Controllers found: 1 Logical device Task: Logical device : 0 Task ID : 102 Current operation : Compacting Status : In Progress Priority : High Percentage complete : 9 Logical device Task: Logical device : 1 Task ID : 103 Current operation : Rebuild Status : In Progress Priority : High Percentage complete : 3 Command completed successfully.
Например у вас обнаружилась проблема - не поддерживаются диски на 4TB Придется обновлять прошивку.
Cделайте бэкап ценных данных и проводите прошивку только при подключенном ИБП.
Скачайте и распакуйте свежую прошивку в отдельную директорию
unzip 2045_fw_b18948.exe Archive: 2045_fw_b18948.exe inflating: readme.txt inflating: acu.exe inflating: afu.exe inflating: as204501.ufi inflating: as204502.ufi inflating: as204503.ufi inflating: as204504.ufi
arcconf ROMUPDATE 1 as204501.ufi
где as204501.ufi - имя первого файла прошивки (если файлов прошивки несколько) Соглашаемся (Yes) с тем, что будем прошивать и ждем завершения прошивки.
После завершения прошивки обязательно перегружаем сервер и через arcconf проверяем обновилась ли прошивка.
arcconf GETCONFIG 1 | less
Иногда можно попасть в ситуацию когда при таймауте контроллера файловая система переходит в режим только чтение и использование arcconf становится невозможным.
Причина в том, что утилита не может создать в файловой системе лок-файл для своей работы.
Решение простое - смонтировать туда tmpfs:
mount -t tmpfs none /var/lock
После этого утилита должна заработать.
Следует заметить, что нужно быть максимально аккуратным и внимательным при работе с массивами и особенно с их ремонтом. Не торопитесь и думайте , что делаете до полного понимания.
Актуальность: 2011/10/20 11:17