[Linux + SCSI RAID] софтверный рейд vs железный

ava3443

Кроме системного диска есть ещё пара одинаковых 36-гиговых дисков IBM Ultrastar, 10000 RPM.
На материнской плате встроен двухканальный SCSI-контроллер Adaptec (Ultra 160). Есть ещё возможность за 80-100 баксов купить специальную карточку от Adaptec и поиметь на этих двух каналах "железный" RAID.
Вопрос - что я получу по сравнению с софтовым рейдом, который вроде не проблема на линуксе сделать? Только нагрузка на процессор меньше? Или всё-таки производительность получше будет?
P.S. На этой системе будет поднят Oracle с несколькими небольшими базами (не больше гигабайта каждая) и несколько виртуальных машин VMWare, в которых будут работать приложения, не особо требовательные к диску, зато очень активно юзающие эти ораклиные базы.

deestr

большее быстродействие + отсутствие гемороя.

CapitanJack

какой рейд будет? если 5 то сильно поможет. ну и на карточке есть аж 48 мб памяти для буфера - помогут но очень не сильно

Marinavo_0507

Аппаратный RAID-1, если повезёт, уменьшит время простоя при отказе одного из дисков.
Также скорость аппаратного RAID-1 должна быть чуть повыше (если драйвер хороший,
что тоже нужно исследовать до покупки карты).
А зачем вообще RAID, если можно раскидать базу по дискам?

CapitanJack

эээ а что софтверное зеркало в линухе при вылете диска требует простоя? бред какой то.

ava3443

> какой рейд будет?
Машина исключительно девелоперская, поэтому зеркалирование не нужно. Я думал насчёт RAID-0 или RAID-5 (этот если ещё таких же дисков найду)...

CapitanJack

в линухе есть софтовый страйп? а то если нету то карточка нужна. хотя я бы все равно не стал делать страйп даже на девелоперской тачке

ava3443

> А зачем вообще RAID, если можно раскидать базу по дискам?
Вот и я тоже думаю... С другой стороны, RAID-0 один раз настроил и забыл, а про раскидывание базы по дискам регулярно задумываться придётся...
Видимо, надо пробовать варианты и замерять производительность...

Marinavo_0507

Наверняка в документации по Ораклу написано, как оптимизировать производительность при использовании нескольких дисков.
Аппаратный RAID-0 по идее не должен давать разницы, RAID-5 - должен освободить процессор от подсчёта XOR.
При этом нормальный CPU считает XOR гораздо быстрее, чем типичный процессор рейд-контроллера,
так что при I/O-bound нагрузке ещё неизвестно, что лучше.

ava3443

> в линухе есть софтовый страйп?
есть конечно
> я бы все равно не стал делать страйп даже на девелоперской тачке
а почему?

CapitanJack

насколько я понимаю оракл советует рейд 10 на максимальном количестве шпинделей. а рейд5 будет медленнее чем просто один диск.

ava3443

а будет ли толк от RAID-10 на двухканальном контроллере? и как его делать? страйп между дисками на разных каналах, или наоборот?

CapitanJack

а где у тебя двух канальный контроллер? та карточко которую ты купить хочешь это зеро ченнел - то есть нуль канальный.

CapitanJack

рейд 10 - зеркало из двух страйпов.

ava3443

На материнской плате встроен двухканальный SCSI-контроллер. А та карточка должна превратить его в двухканальный RAID-контроллер с поддержкой "0, 1, 0/1, 5, 0/5, JBOD RAID levels".

ava3443

> рейд 10 - зеркало из двух страйпов.
Ну я про то и спрашиваю. Страйп делается между дисками на разных каналах, или как?

CapitanJack

нифига не в двухканальный. у тебя диски хочешь сказать висят не на одном канале? и даже если на разный то та карточка сможет работать только с одним каналом и делать рейды всякие. почитай в инете как работают zero channel контроллеры.

CapitanJack

да при чем тут каналы? все на одном канале. если не в курсе то на скази шине 16 устройств может быть. вот из этих устройств и делаецца рейд. причем два из них у тебя заняты будут - один это твой двухканальный встренный, второй это карточка зеро ченнел.

ava3443

> Та карточка сможет работать только с одним каналом и делать рейды всякие. почитай в инете как работают zero channel контроллеры
Почитал. Adaptec пишет, что типа "Supports up to 15 SCSI devices per motherboard channel", что в общем уже подозрительно, но конечно ещё не факт, что с обоими каналами будет работать.
А вот интел про свой zero channel более прямо пишет: "Support for up to two Ultra320/160 SCSI channels."

ava3443

> да при чем тут каналы? все на одном канале. если не в курсе то на скази шине 16 устройств может быть
Да я в курсе
Однако, предположил, что если разнести диски на разные каналы, то производительность побольше будет. Я не прав?
Особенно, если учесть, что дисков будет как минимум 3...

CapitanJack

угу. осталось только узнать что подразумеваецца по "саппорт". запросто может быть что это просто возможность работы на двухканальном контроллере. но не с двумя каналами сразу.

CapitanJack

в случае с зеро ченел не будет быстрее. а скорее даже медленнее.

ava3443

ОК. Большое спасибо за советы!
Буду пробовать... Может даже дадут эту карточку потестить...

sergey_m

два из них у тебя заняты будут - один это твой двухканальный встренный, второй это карточка зеро ченнел
Карточка вставляется в PCI слот. Как она может оказаться на SCSI шине?

Marinavo_0507

Ты видел разъём под неё? Он не очень похож на PCI.

ava3443

Сейчас специально посмотрел - похож. По размерам, числу пинов и т.д абсолютно такой же, как и остальные PCI-X. Отличается только цветом (зелёный) и надписью "Zero channel RAID ready 100 MHz"

Marinavo_0507

Если оно действительно на PCI-X вешается, то вряд ли ты какой-то прирост производительности с ней получишь.

CapitanJack

легко - там есть спешиал разъем помимо писиай-экс ну и вроде бывают те которые все через писиай вешаютцца.
кстати ускорение там как раз может быть. ну и добавление фичей типа кучи лунов на одном эррэйе и поддержка разных уровней рэйд.
всех сомневающихся просьба почитать как работают зеро ченел контроллеры - куча вопросов пропадет.

sergey_m

там есть спешиал разъем помимо писиай-экс ну и вроде бывают те которые все через писиай вешаютцца.
Я видел только один раз такую плату, на ней не было ничего проме PCI. Если её вставить, то прямой доступ к SCSI контроллеру и его дискам терялся. Появлялся новый mass storage контроллер и на нём логические диски. Я не сохранил dmesg и сейчас у меня этой машины уже нет, но я очень сомневаюсь, что там на SCSI шине есть два устройства для контроллера и для RAID-карты. Мне кажется, что контроллера там уже не видно из ОС. Постараюсь проверить в понедельник.

CapitanJack

то что его не будет видно из ос не значит что на скази шине его не будет. он там обязателен для работы зеро ченел

CapitanJack

кстати да, те на которых только писиай - вставляюцца не в любой слот а только в спец предназначенный.

CapitanJack

копание в яндексе - http://itc.ua/article.phtml?ID=8820 принцип работы ZCR контроллеров

CapitanJack

для ленивых:
Идея RAID как относительно недорогой опции модернизации серверов интеловской архитектуры "поверх" существующих на платах устройств ввода/вывода много лет занимает разработчиков. Схема традиционной компоновки RAID-контроллеров такова: на них есть процессор ввода/вывода (Input/Output Processor, или IOP управляющий работой массива; есть собственное устройство ввода/вывода (Input/Output Controller, или IOC отвечающее за передачу данных между дисками массива и шиной PCI; есть буфер памяти RAID-контроллера (кэш-память). Хотя в широком смысле понятие IOC относится ко всем интерфейсным технологиям, примерами которых могут служить SCSI, Fibre Channel, UDMA/ATA, Serial ATA, USB или FireWire, в массовых реализациях RAID за обменные операции с дисками отвечают стандартные SCSI-контроллеры. А поскольку большинство серверных материнских плат, куда эти RAID-контроллеры устанавливаются, оснащены интегрированными SCSI-контроллерами изначально, то при организации RAID-массива фактически происходит подмена одного устройства управления потоком данных на шине PCI другим, аналогичным. Аппаратного конфликта между ними нет и быть не может: после появления в системе RAID-контроллера он, на правах "старшего", полностью замещает SCSI-контроллер на плате, закрывая к нему доступ ОС. Таким образом, встроенный SCSI-контроллер, за который в составе материнской платы уже однажды (дорого) заплатили, остается невостребованным. Эффективным такое расходование ресурсов назвать в самом деле трудно.
Итак, контроллер Zero Channel RAID (ZCR) имеет свой собственный процессор ввода/вывода (IOP) и кэш-память, но использует контроллер ввода/вывода (IOC) материнской платы. При этом ZCR IOP и устройство IOC должны размещаться на одной шине PCI. Так было и в прежних реализациях, новой же является концепция логики на материнской плате, обслуживающей ZCR. Adaptec называет эту логику Embedded RAID Logic (EMRL Intel -- RAID Input Output System (RAIDIOS но по сути -- это одно и то же схемное решение на плате. Его стоимость невелика, а привлекательность заключается в том, что EMRL-логика инициирует передачу управления дисковыми операциями ZCR-карте, как только та устанавливается в стандартный слот PCI. Одновременно с этим бортовой контроллер SCSI материнской платы становится недоступным в PCI-пространстве, управление им реализуется драйверной моделью ZCR, а ресурсы шины PCI перераспределяются через механизм взаимодействия драйвера ZCR-контроллера и ОС. Во время старта системы ZCR-контроллер запрашивает в соответствии со стандартами PCI ресурсы у BIOS и соответственно назначает необходимые из них "замаскированному" IOC. Таким образом, связывая "интеллект" процессоров ввода/вывода на ZCR-картах с высокой пропускной способностью стандартных каналов SCSI на материнских платах, EMRL-логика позволяет реализовать полноценный аппаратный RAID с минимальными начальными, или разнесенными во времени затратами. При рыночной стоимости сегодняшних ZCR-карт ниже $300 можно говорить об экономии порядка $200 на паре "материнская плата + ZCR-карта" по сравнению с решением с отдельным, сопоставимым по производительности RAID-контроллером традиционной компоновки
Оставить комментарий
Имя или ник:
Комментарий: