У меня есть сервер хранения OpenFiler.
Не устанавливая Windows и MSM, хочу создать массив raid10 из дисков со 2 по 21.
Я уже успешно установил MegaCli в OpenFiler, но я застрял в поиске правильной командной строки для создания массива raid 10.
В документации говорится, что синтаксис для создания рейда 10:
MegaCli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN
Мой идентификатор корпуса - 25, поэтому:
[root@linux-h5ut ~]# MegaCli -CfgSpanAdd -r10 -Array0[E25:S02,E25:S21] -Array1[E25:S02,E25:S21] WB Cached NoCachedBadBBU -a0
Invalid input at or near token E
Я искал в googled high и low, но, похоже, нет никакого примера выполнения raid10 с мегарайдом (только синтаксис).
Кто-нибудь может объяснить, что не так?
Ответ на создание рейда 10 (не рейда 6)
Сначала получите адаптер #
# MegaCli Adpallinfo -aall | grep '^Adapter'
Adapter #0
MegaCli или megacli в зависимости от дистрибутива * nix
В этом случае адаптер это Adapter #0
Получите значения идентификатора устройства и слота диска:
# MegaCli64 -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:'
Enclosure Device ID: 252
Slot Number: 0
Enclosure Device ID: 252
Slot Number: 1
Enclosure Device ID: 252
Slot Number: 2
Enclosure Device ID: 252
Slot Number: 3
ID в данном случае для всего 252
Согласно MegaCli команда для создания RAID 10 это MegaCli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN
MegaCli -CfgSpanAdd -R10 -Array0[252:0,252:2] -Array1[252:1,252:3] -a0
В этом случае создайте RAID 10, создав один массив для Raid0 с дисками 0 и 2 и другой массив для Raid1 с дисками 1 и 3 и N = 0 (-a0)
Проверить RAID
# megasasctl
a0 LSI MegaRAID SAS 9271-4i encl:1 ldrv:1 batt:FAULT, low voltage, charge failed
a0d0 1489GiB RAID 10 2x2 optimal
a0e252s0 745GiB a0d0 online
a0e252s1 745GiB a0d0 online
a0e252s2 745GiB a0d0 online
a0e252s3 745GiB a0d0 online
Или если megasasctl
недоступен:
# MegaCli -LDInfo -Lall -aALL
Adapter 0 -- Virtual Drive Information:
Virtual Disk: 0 (Target Id: 0)
Name:
RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
Size:1.454 TB
State: Optimal
Stripe Size: 256 KB
Number Of Drives per span:2
Span Depth:2
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Access Policy: Read/Write
Disk Cache Policy: Enabled
Encryption Type: None
Вы не поняли справочную страницу. E25: S02 - подобная переменная, которая должна иметь значения типа int. Все, что тебе нужно:
1. Получите идентификатор адаптера (в моем примере 0):
root@sto# megacli Adpallinfo -aall | grep '^Adapter'
Adapter #0
2. Получите значения E и S:
megacli -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:'
Вы получите что-то вроде этого:
Enclosure Device ID: 20
Slot Number: 0
Enclosure Device ID: 20
Slot Number: 1
Enclosure Device ID: 20
Slot Number: 2
Enclosure Device ID: 20
Slot Number: 3
Enclosure Device ID: 20
Slot Number: 4
Это ваши E и S числа, например. 20: 0,20: 1,20: 2,20: 3,20: 4 Таким образом, команда для создания, например, RAID6 будет следующей:
megacli -CfgLdAdd -r6 [20:0,20:1,20:2,20:3,20:4] -a0
Я использовал это (пару месяцев назад для создания рейда 50):
megacli -CfgSpanAdd -r50 -Array0[252:2,252:3,252:4] Array1[252:5,252:6,252:7] WB RA Direct CachedBadBBU -a0
IBM x3560 и:
Product Name : ServeRAID M5015 SAS/SATA Controller
Serial No : SV14018726
FW Package Build: 12.13.0-0179
Я только что создал 6-дисковый RAID-10 с MegaCli и использовал следующие команды:
(Предполагая, что в этих примерах есть только один контроллер, так что -aALL
может использоваться вместо указания конкретного контроллера.)
Покажите физические диски, подключенные к контроллеру:
MegaCli -PDList -aALL
Обратите внимание на «ID устройства корпуса» и «номер слота» для дисков из этого списка, так как это номера, которые вы заменяете соответственно «E» и «S» в последующих командах создания набора рейдов.
Показать существующие логические диски (т.е. наборы RAID):
MegaCli -LDInfo -Lall -aALL
Если у вас есть существующий RAID-массив, из которого вы собираетесь повторно использовать диски, вам необходимо удалить существующий логический диск, частью которого являются эти диски. Номер логического диска должен быть получен из предыдущей команды. Очевидно, это уничтожит данные на этом существующем массиве RAID, если вы запустите его.:
MegaCli -CfgLdDel -L<n> -aALL
Теперь у вас есть группа дисков, которые должны быть в состоянии «Ненастроенный (хороший)» и, следовательно, доступны для использования на новом логическом диске. Давайте создадим набор из 6 дисков RAID-10, который на самом деле размах из 3-х пар дисков RAID-1:
MegaCli -CfgSpanAdd -r10 -Array0[32:2,32:3] -Array1[32:4,32:5] -Array2[32:6,32:7] -a0
В моем случае это диски со 2 по 7 в корпусе 32. Эти числа получены из выходных данных PDList, которые вы получили ранее. Если у вас 4 диска, то это всего лишь две пары, но блоки «ArrayN» всегда являются парами, как базовые пары RAID-1 в наборе RAID-10.
Теперь ваш RAID-массив должен отображаться в вашей ОС и быть доступным для разделения и т. Д. Оттуда! :)
Кажется, я должен не используйте буквы E и S.
Сначала я понял правильно и попробовал безбуквенный, но также получил ошибки неверного токена, потому что я использовал -aALL вместо -a0 ("Если у вас только один контроллер, можно безопасно использовать ВСЕ вместо определенного идентификатора."), а затем читать из этот site, что «E - это идентификатор устройства корпуса, в котором находится диск, а S - номер слота», и, следовательно, пришел к выводу, что мне следует заменить E и S фактическими идентификаторами. :(
MegaCli cfgspanadd r10 array0 "[25:02,25:21]" array1 "[25:02,25:21]" wb cached nocachedbadbbu a0
должно работать без проблем.