Как настроить RAID-контроллер Broadcom/Avago/LSI
Введение
В этой статье объясняется использование программы администрирования RAID-контроллера LSI. Эта программа доступна на download.hetzner.de.
Данные для доступа к этому сайту можно найти в email, сообщающем о готовности выделенного сервера. При загрузке программ не забудьте прочитать лицензионное соглашение.
- Утилита
megacli
служит для управления контроллером из командной строки. (Обратите внимание: установка RPM происходит в/opt/MegaRAID/MegaCli/
) - Утилита
MegaRAID Storage Manager
(MSM) предоставляет графический интерфейс для управления контроллером.
Проверка состояния аппаратного RAID-контроллера
Для проверки статуса LSI RAID-контроллера должна быть установлена утилита командной строки
megacli
. В Hetzner Rescue-System она установлена по умолчанию.
Состояние RAID можно получить следующей командой (отобразить все логические устройства всех контроллеров):
megacli -LDInfo -Lall -Aall
Пример вывода RAID 1:
Adapter 0 -- Virtual Drive Information:
Virtual Disk: 0 (Target Id: 0)
Name:
RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
Size:697.560 GB
State: Optimal
Stripe Size: 64 KB
Number Of Drives:2
Span Depth:1
Default Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Access Policy: Read/Write
Disk Cache Policy: Enabled
Encryption Type: None
Exit Code: 0x00
Состояние дисков можно получить следующей командой:
megacli -PDList -Aall
Так как при этом выводится масса дополнительной информации, рекомендуется отфильтровать вывод. Например так:
megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"
Создание RAID-массива
Перед настройкой массива, возможно, потребуется удалить использованную ранее конфигурацию. Для того чтобы просто удалить логические устройства вы можете использовать
CfgLdDel
:megacli -CfgLdDel -Lall -aAll
Для того чтобы удалить всё (в том числе, например, поведение кэша) используйте
Configuration Clear
:megacli -CfgClr -aAll
Доступные для использования устройства должны иметь статус
Unconfigured (good)
(см. выше). Если они со статусом Unconfigured (bad)
, то это можно исправить командой:megacli -PDMakeGood -PhysDrv[<Enclosure#>:<Slot#>] -a0
Синтаксис:
megacli -CfgLdAdd -r<RAID#> [E0:S0,E1:S1,...] [WT|WB] [NORA|RA] [Direct|Cached] -sz<Size> [-sz<Size>]
Настройка RAID 0, 1 или 5
Вместо «r0» введите соответственно «r1» или «r5» (диски в расположении (Enclosure) 252, на портах 0 и 1, WriteBack включен, ReadCache адаптивный, Cache также включен без BBU):
megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0
Настройка RAID 0, 1 или 5 размером 20ГБ:
megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -sz10GB -a0
Настройка RAID 10
megacli -CfgSpanAdd -r10 -Array0[252:0,252:1] -Array1[252:2,252:3] WB RA Direct CachedBadBBU -a0
Расширение существующего массива
После установки дополнительного диска потребуется изменить настройки соответствующего массива. Вот пример добавления диска в RAID 5:
megacli -LDRecon -Start -r5 -Add -PhysDrv[252:3] -L0 -a0
Использование дисков как JBOD
LSI MegaRAID 9260 не поддерживает режим JBOD, предоставляющий прямой доступ к дискам. Тем не менее, можно создать RAID 0 на каждом диске:
megacli -CfgEachDskRaid0 WB RA Direct CachedBadBBU -a0
Настройка диска горячего резерва (hot spare)
Выберите
unconfigured good
диск из меню «Drives» и кликните на Properties
. Здесь можно настроить диски как горячий резерв и для конкретного массива и глобально для всех массивов. Также это можно сделать через megacli
- как глобальный горячий резерв:
megacli -PDHSP -Set -PhysDrv[252:2] -a0
- как горячий резерв для массива Array0:
megacli -PDHSP -Set -Dedicated -Array0 -PhysDrv[252:2] -a0
- удалить статус горячей замены:
megacli -PDHSP -Rmv -PhysDrv[252:2] -a0
Создание загрузочного массива
Если массив не загрузочный, то его можно опросить и создать логический диск:
root@rescue ~ # megacli -AdpBootDrive -get -a0
Adapter 0: No Virtual drive or Physical Drive is configured as boot drive.
Exit Code: 0x00
root@rescue ~ # megacli -AdpBootDrive -set -L0 -a0
Boot Virtual Drive is set to #0 (target id #0) on Adapter 0
Exit Code: 0x00
Создание резервной копии и восстановление конфигурации контроллера
Для сохранения настроек контроллера и всех массивов выполните команду:
# megacli -CfgSave -f raidcfg.txt -a0
Для восстановления настроек контроллера используйте следующую команду:
root@rescue ~ # megacli -CfgRestore -f raidcfg.txt -a0
Замена диска в массиве, если rebuild не начался автоматически
Статус нового диска должен быть
Unconfigured (good)
. Это можно проверить с помощью PDList. Если статус диска
Unconfigured (bad)`, то его надо сначала сделать пригодным для использования как показано ниже:root@rescue ~ # megacli -PDList -a0 | grep Firmware
Firmware state: Online, Spun Up
Device Firmware Level: CC45
Firmware state: Online, Spun Up
Device Firmware Level: CC45
Firmware state: Unconfigured(bad), Spun Up
Device Firmware Level: CC45
Firmware state: Online, Spun Up
Device Firmware Level: CC45
root@rescue ~ # megacli -CfgForeign -Scan -a0
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00
root@rescue ~ # megacli -CfgForeign -Clear -a0
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00
root@rescue ~ # megacli -PDMakeGood -PhysDrv [245:3] -a0
Если диск
good
, то им можно заменить отсутствующий диск. Для этого надо указать массив и позицию, где надо произвести замену. Эти значения можно получить, например, из megacli -CfgDsply -a0
. Если диск отсутствует в массиве, запись Physical Disk:
будет показана, но без дополнительно информации. В следующем примере четвёртый диск первого массива (Array0) заменяется диком из Enclosure 245 Slot 3 ("PhysDrv[245:3]")
:root@rescue ~ # megacli -PdReplaceMissing -PhysDrv[245:3] -array0 -row4 -a0
Adapter: 0: Missing PD at Array 0, Row 4 is replaced.
Exit Code: 0x00
root@rescue ~ # megacli -PDRbld -Start -PhysDrv[245:3] -a0
Started rebuild progress on device(Encl-245 Slot-3)
Exit Code: 0x00
root@rescue ~ # megacli -PDRbld -ShowProg -PhysDrv [245:3] -aAll
Rebuild Progress on Device at Enclosure 245, Slot 3 Completed 1% in 0 Minutes.
Доступ к данным S.M.A.R.T. для дисков в RAID
Вы можете использовать
smartmontools
для доступа к физическим дискам подключенным к RAID-контроллеру. Сначала надо определить номер устройства (Device Id) с помощью megacli
:# megacli -pdlist -a0| grep 'Device Id'
Device Id: 4
Device Id: 5
После этого можно указать его в опции
megaraid
, например так:smartctl -d sat+megaraid,4 -a /dev/sda
В зависимости от используемой операционной системы может потребоваться обновить
smartmontools
или ядро операционной системыПустая конфигурация контроллера после перезагрузки сервера
В редких случаях созданная при первичной настройке конфигурация массива не сохраняется при перезагрузке сервера.
Для того чтобы избежать этого конфигурацию следует создать два раза. Пример для конфигурации RAID 1:
Создание массива
megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0
Полное удаление конфигурации
megacli -CfgLdDel -Lall -aAll
Повторное создание массива
megacli -CfgLdAdd -r1 [252:0,252:1] WB RA Direct CachedBadBBU -a0
Обновление прошивки
Выпускаемое производителем контроллера обновление для встроенного программного обеспечения (firmware или прошивка) поддерживает контроллер в актуальном состоянии: исправляет ошибки и добавляет новые возможности.
Для предотвращения потенциальной потери данных мы рекомендуем перед обновлением прошивки делать резервную копию данных и конфигурации контроллера.
Информация о копировании и восстановлении конфигурации контроллера содержится выше.
Получение модели контроллера и версии прошивки
Для того чтобы прочитать информацию с контроллера следует установить утилиту командной строки megacli. Она уже установлена в Rescue System.
megacli -AdpAllInfo -aAll
Пример вывода команды:
Versions
================
Product Name : LSI MegaRAID SAS 9260-4i
Serial No: SV52117135
FW Package Build: 12.15.0-0205
Обновление прошивки RAID-контроллера
В зависимости от текущей версии прошивки может потребоваться промежуточное обновление (только для версий старее
12.12.0-0090
).
Если текущая версия прошивки ниже версии
12.12.0-0090
, пожалуйста, произведите промежуточное обновление до версии 12.12.0-0090
. Прошивку этой версии можно скачать на зеркале Hetzner.
Сохраните файл прошивки на сервер и выполните команду обновления, указав имя файла прошивки. Ниже приведён пример команды для обновления на версию
12.12.0-0090
. Путь к ранее сохраненному файлу прошивки (.rom файл) mr12.12.0-0090.rom
должен быть скорректирован соответствующим образом.
Пожалуйста, обратитесь к файлу readme обновления прошивки для соответствующей команды. В этом примере это выглядит следующим образом:
MegaCli -adpfwflash -f mr12.12.0-0090.rom -a0
Если промежуточное обновление не требуется, то можно использовать следующую ссылку для поиска на странице поддержки производителя последней доступной прошивки для RAID-контроллера.
Как и ранее, сохраните файл прошивки на сервере и выполните следующую команду, чтобы обновить версию прошивки, в этом примере до
2108fw
. Путь к ранее сохраненному файлу прошивки (.rom файл) mr2108fw.rom
должен быть скорректирован соответствующим образом.
Пожалуйста, обратитесь к файлу readme обновления прошивки для соответствующей команды. В этом примере это выглядит следующим образом:
MegaCli -adpfwflash -f mr2108fw.rom -a0
Проверка обновления RAID-контроллера
В конце можно проверить установленную версию прошивки.
megacli -AdpAllInfo -aAll
Пример вывода команды:
Versions
================
Product Name : LSI MegaRAID SAS 9260-4i
Serial No: SV52117135
FW Package Build: 12.15.0-0205
Выводы
В этой статье демонстрируются различные возможности конфигурации RAID на выделенном сервере с аппаратным RAID-контроллером LSI. Вы должны уже настроить его по своему вкусу.
Комментарии
Отправить комментарий