RAID-контроллеры для FOSS: аппаратные и не очень

Когда на прошлой странице я говорил, что RAID-массивы на аппаратных контроллерах -- удовольствие для пользователя неоправданно дорогое, имелись ввиду "настоящие железные" решения, реализованные на отдельных платах, оснащённых собственными чипами, кэш-памятью, BIOS'ом и прочими атрибутами. В результате чего даже простые карты с интерфейсом PATA/SATA по стоимости превосходили материнские платы, иногда вместе с процессором. А о SCSI- или SAS-картах, требовавших к тому же и много более дорогостоящих винчестеров, даже и упоминать не хочется.

Однако уже достаточно давно получили распространение более дешёвые варианты -- дополнительные PATA-, а затем и SATA-контроллеры, “размазанные по маме”. Одно время ими оснащалась чуть ли не каждая вторая плата среднего и вышесреднего ценового диапазона. Обычны они и ныне, обеспечивая заодно поддержку PATA-интерфейса, уже довольно давно изъятую из южных мостов чипсетов Intel.

Такие контроллеры основывались и основываются обычно на чипах производства нескольких фирм: Promise, HighPoint, Silicon Image, Marvell, и на цену материнской платы влияют или очень мало, или (для навороченных моделей) никак. Казалось бы -- идеальное решение?Но всё оказывается не так просто.

Теоретически все контроллеры от указанных производителей поддерживаются каноническим ядром Linux. Для чего при его конфигурировании следует включить общую поддержку ATA RAID и поддержку наличествующего чипа.

Поддержка ATA RAID может быть модульной или, если предполагается загрузка с массива, встроенной в ядро. Последний случай потребует и еще одной опции - загрузки с устройств на внешнем контроллере. А также некоторых ухищрений с системным загрузчиком.

Однако на практике все оказывается не так здорово, и работу с ATA RAID нельзя отнести к сильным сторонам Linux. Из многих прошедших через мои руки материнских плат с встроенными RAID-контроллерами на большинстве RAID-контроллеры не виделись системой ни под каким соусом. Вернее, при соответствующей настройке ядра сами контроллеры-то опознавались, но вот подключенных к ним винчестеров как бы и не было. Более того, некогда обнаруживался парадоксальный факт: в качестве RAID-массива подчас представал обычный Master на первом канале обычного IDE-контроллера.

В некоторых из таких случаев могут помочь драйверы от производителя чипа. Однако тут следует помнить: драйверы эти (в сущности, подключаемые модули ядра) доступны исключительно в бинарном виде и скомпилированы не только под определенную версию ядра, но часто и под конкретный дистрибутив (во времена, когда я много возился с таким "железом", обычно попадались под Red Hat и Suse) конкретной (как правило, не самой юной) версии. Так что гарантировать их работоспособность в произвольной Linux-системе трудно.

Казалось бы, с встраиванием в чипсеты от Intel штатной поддержки RAID-функций (если не изменяет память, это случилось при появлении южных мостов ICH5) положение должно было бы измениться: Во-первых, сами устройства фактически становились стандартным компонентом почти любой материнской платы. А во-вторых, Intel всгда отличалась либеральным подходом к спецификациям на своё "вспомогательное железо" -- вспомним, что именно благодаря этому в Иксах существуют полноценные свободные драйвера для встроенного видео от этой фирмы.

"Мамедка как думал? А как вышло?" А вышло так, что сменилось уже пять поколений южных мостов Intel'овских чипсетов, их модификации без поддержки RAID фактически исчезли с материнских плат, кроме разве что самых бюджетных -- а воз и ныне там: беспроблемной работы "чипсетных" массивов в Linux или, скажем, FreeBSD, как не было, так и нет. Почему?

Тут пора открыть страшную тайну: "чипсетный" RAID, хотя и реализован в "железе", не является по настоящему аппаратным. Это программная прошивка, причём рассчитанная на работу в совершенно определённой операционной системе. Я думаю, внимательному читателю не надо подсказывать её название. И даже в этой ОС "чипсетные" массивы работают с определёнными версиями её. Что, как говорят, подчас заставляет пользователей версий более страрых вспоминать о таком затянутом паутиной устройстве, как трёхдюймовый дисковод и дискета с драйверами, подсовываемая туда в момент загрузки.

Честно говоря, я не очень хорошо знаю, как обстоит дело с поддержкой "размазанных" и "чипсетных" RAID ныне. Судя по попадающимся на глаза жалобам на форумах -- принципиально по прежнему. Я же, вдоволь поразвлекавшись с ним в своё время, буде возникает желание или необходимость, обращаюсь к чисто программным решениям. Чего и вам желаю -- если, конечно, положительно ответить на вопрос, который будет поставлен в заголовке следующей страницы.


Теги: