Вступление
В этой статье объясняется использование программы администрирования контроллера LSI RAID. Вы можете найти его на сайте загрузок Hetzner .
Данные для доступа к этой области можно найти в электронном письме о завершении заказа для вашего выделенного корневого сервера. При загрузке программы обязательно ознакомьтесь с лицензионным соглашением.
megacli
Инструмент используется для управления контроллером через интерфейс командной строки. (Примечание: RPM устанавливает это в /opt/MegaRAID/MegaCli/
).- Инструмент
MegaRAID Storage Manager
(MSM) используется для управления контроллером через графический интерфейс.
Чтение статуса аппаратного RAID
Чтобы прочитать состояние контроллера LSI RAID, megacli
необходимо установить инструмент командной строки LSI . Он уже предустановлен в 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
Для «r1» введите «r0» или «r5» соответственно (жесткие диски в корпусе 252, порты 0 и 1, обратная запись включена, чтение кэша в адаптивном режиме, кэш также включен без 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
Настройка диска в качестве горячего резерва
Выберите unconfigured good
диск в меню «Диски» и нажмите Properties
. Здесь привод может быть настроен как dedicated hot spare
для массива или как global hot spare
для всех массивов. Это также возможно с помощью megacli
инструмента
- в качестве глобального Hotspare:
megacli -PDHSP -Set -PhysDrv[252:2] -a0
- как выделенный Hotspare для Array0:
megacli -PDHSP -Set -Dedicated -Array0 -PhysDrv[252:2] -a0
- удалить статус Hotspare:
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
Замена диска в массиве, если восстановление не начинается автоматически
Статус нового диска должен быть 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.
Чтение значений SMART диска в RAID
Использование smartmontools
обеспечивает прямой доступ к физическому диску за контроллером, например. для первого драйва. В первую очередь 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
или kernel
может быть необходимым.
Конфигурация RAID пуста после перезагрузки
В редких случаях после перезагрузки сервера конфигурация не обнаруживается при первом создании массива RAID.
Для решения проблемы конфигурация должна быть создана дважды в Rescue System.
Пример 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
Обновление прошивки
С обновлением прошивки, если оно было предоставлено производителем контроллера, прошивка вашего контроллера поддерживается в актуальном состоянии, исправляются известные ошибки и даже добавляются новые функции.
Перед обновлением прошивки мы всегда рекомендуем делать резервную копию данных и конфигурации RAID-контроллера, чтобы избежать потенциальной потери данных.
Руководство по резервному копированию и последующему восстановлению конфигурации контроллера можно найти далее.
Прочтите модель RAID-контроллера / версию прошивки
Чтобы прочитать состояние контроллера LSI RAID, megacli
необходимо установить инструмент командной строки . Это уже имеет место в Спасательной системе.
Команда — Синтаксис:
megacli -AdpAllInfo -aAll
Пример вывода:
Versions
================
Product Name : LSI MegaRAID SAS 9260-4i
Serial No: SV52117135
FW Package Build: 12.15.0-0205
В зависимости от версии микропрограммы, установленной на контроллере, может потребоваться промежуточное обновление (только для версий микропрограмм старше 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. К настоящему времени вы должны были настроить его по своему вкусу.