Genie
написал 28 марта 2006 года в 22:55 (3430 просмотров)
Ведет себя
как мужчина; открыл 40 тем в форуме, оставил 4758 комментариев на сайте.
А именно:
- Adaptec HostRAID ASR
- Highpoint HPT37X
- Highpoint HPT45X
- Intel Software RAID
- JMicron JMB36x
- LSI Logic MegaRAID (*)
- NVidia NForce
- Promise FastTrack
- Silicon Image Medley
- VIA Software RAID
<font color=«blue»>сие посвящается</font>
Качайте исходники или rpm-пакет (ну или сами разбирайтесь)
Примечание: (*) — по большей части это полноценные RAID-контроллеры. но либо есть «упрощённые» модели, либо управление ими легко реализуется, что они оказались в этом списке. более делатльно это можно выяснить из changelog и списка рассылки.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
LSI Logic MegaRAID за что?
У них моделей в этой линейке до фига. И кое-какие из них ну очень хорошие…
видимо, по нескольким причинам:
1) есть модели, которые попадают под определение, вынесенное в заголовок
2) интерфейс документирован достаточно, чтобы его использовать в программе
3) приведённый мной список — это из документа («сие посвящается») как есть
в общем, если есть желание — источники указаны.
ps: но ради точности сделаю поправку… :)
А ктонибудь пробовал поднимать RAID5 на этом dmraid… В ядре поддержки нет (в device mapper), но есть патчики к ядру :). Очень такие забавные патчики! Во первых сам патч не работает, выдает ошибку. Но это — не проблема, ошибка всего в одном «hunks»… допатчивается ручками. А вот дальше :)!!! Дальше — после включения появившейся опции в ядре dm/RAID5 пробуем компилить и получаем следующее:
drivers/md/dm-mem-cache.o: In function `pl_elem’:
dm-mem-cache.c:(.text+0×0): multiple definition of `pl_elem'
drivers/md/dm-raid45.o:dm-raid4-5.c:(.text+0×0): first defined here
make[2]: * [drivers/md/built-in.o] Error 1
make[1]: * [drivers/md] Error 2
make: * [drivers] Error 2
Со злости попробовал на 2.6.15, 2.6.16, 2.6.17… с разными версиями патчей, все одно и то же… В итоге — отправил письмецо разработчику, теперь — жду ответа. (Ядра у меня правда пропатчены linux-vserver из gentoo portage, но проблем с этим не может быть — проверял на наличие пересечения.)
(Контроллер от Adaptec на базе SiI3114 c 4-я портама)
Вот так вот… Если кто сталкивался и проблема решилась — отзовитесь plz!
Что касается MegaRAID — так это же просто MegaRAID!!!
Работал с двумя контроллерами:
1) один на два SCSI 160 порта, штука — зверь, старенькая правда.
2) что-то из нового на шесть SATA дисков (с лабелом Intel).
Модельки к сожалению назвать не могу (не помню точно), НО!!! Впечатления крайне положительные! Это — TRUE контроллеры (видятся как обычное SCSI устройство, со всеми вытекающими).
P.S. Под MegaRAID рекомендую использовать новый драйвер (в ядре, как я понял, их 2) работает — вполне стабильно :)!
Такс… рассказ будет краток…
Попало в руки два контроллера на чипах «Silicon Image, Inc. SiI 3114»…
Они имеют 4 порта SATA и поддержку RAID5 из 3-х и 4-х дисков.
Так вот после некоторой ругани, получилось завести RAID5 с использованием вот этого: http://people.redhat.com/~heinzm/sw/dm/dm-raid45/
Баги были замеченны следующие:
1) Патчь не совсем хорошо наложился… пришлось допатчивать ручками… запутался он, как я понял — в пробельных символах.
2) В патче ошибка и он не компилиться куском ядра, только модулем. (Я любитель собирать на серваках ядра с минимальным куличеством включенных опций, и отключенной модульностью).
3) Модулю нужен xor… его можно включить двумя способами:
а) MD_RAID5=M/Y
б) Заменить в drivers/md/Makefile строчку:
obj-$(CONFIG_DM_RAID45) += dm-raid45.o dm-log.o dm-mem-cache.o dm-region_hash.o
на строчку:
obj-$(CONFIG_DM_RAID45) += dm-raid45.o dm-log.o dm-mem-cache.o dm-region_hash.o xor.o
После этих экзекуций:
1) Собираем с помощью биоса контроллера RAID
2) Загружаем модуль:
root@ws1 linux # modprobe dm_raid45
Получается вот-так:
root@ws1 linux # lsmod
Module Size Used by
dm_raid45 43932 1
dm_region_hash 7936 1 dm_raid45
dm_mem_cache 3840 1 dm_raid45
xor 13448 1 dm_raid45
3) Смотрим, что у нас с дисками:
root@ws1 linux # dmraid -r
/dev/sdc: sil, «sil_agajcebhbhag», raid5_ls, nosync, 488395630 sectors, data@ 0
/dev/sdd: sil, «sil_agajcebhbhag», raid5_ls, nosync, 488395630 sectors, data@ 0
/dev/sde: sil, «sil_agajcebhbhag», raid5_ls, nosync, 488395630 sectors, data@ 0
/dev/sdf: sil, «sil_agajcebhbhag», raid5_ls, nosync, 488395630 sectors, data@ 0
4) Активируем:
root@ws1 linux # dmraid -ay
5) Смотрим, что получилось:
root@ws1 linux # dmraid -sa
* Active Set
name : sil_agajcebhbhag
size : 1465186560
stride : 128
type : raid5_ls
status : ok
subsets: 0
devs : 4
spares : 0
Что касается производительности — не знаю, насколько актуальна такая проверка:
root@ws1 linux # hdparm -t /dev/mapper/sil0_0
/dev/mapper/sil0_0:
Timing buffered disk reads: 178 MB in 3.00 seconds = 59.24 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device
root@ws1 linux # hdparm -T /dev/mapper/sil0_0
/dev/mapper/sil0_0:
Timing cached reads: 3972 MB in 2.00 seconds = 1986.76 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device
Что касается надежности, напишу через пару месяцев… :)
P.S. Версии:
root@ws1 linux # dmraid -V
dmraid version: 1.0.0.rc12-pre1 (2006.07.06) static
dmraid library version: 1.0.0.rc12-pre1 (2006.07.06)
device-mapper version: 4.6.0
root@ws1 linux # cat /proc/version
Linux version 2.6.17-vs2.1.1-rc31-gentoo (root@ws1) (gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)) #2 SMP Sun Sep 17 16:23:29 MSD 2006
P.P.S. Для того, что бы имя получаемого девайса приобрело более менее нормальный вид — написал в правила udev следующее:
KERNEL=="dm-[0-9]*», NAME=«mapper/sil0_%n»
Это не будет работать, в случае наличия более одного рейда, но в моем — вполне прокатило.
GENIE, Огромное спасибО!!!!
Без этого топика, пришлось бы ехать менять на сервере железки.