Next Previous Contents

## 3. Аппаратные решения

Эта секция имеет отношение к некоторым аппаратным особенностям запуска программного RAID.

## 3.1 Конфигурирование IDE

В самом деле возможно запустить RAID на IDE дисках. Также может быть достигнута превосходная производительность. Фактически, сегодняшние цены на IDE устройства и контроллеры делают IDE заслуживающим раздумий, при создании новой RAID системы.

- Физическая стабильность: IDE устройства традиционно более низкого качества, чем SCSI устройства. Даже сейчас, гарантия на IDE устройства - типично один год, когда на SCSI часто три или пять. Однако неправильно будет сказать, что IDE диски по определению плохо сделаны, Вы должны осознавать, что IDE диски некоторых производителей могут отказывать более часто, чем подобные SCSI диски. Однако, другие производители используют одинаковые механические части для обоих, SCSI и IDE устройств. Это все сводится к одному: Все диски отказывают, рано или поздно, и вы должны быть готовы к этому.
- Целостность данных: Раньше, в IDE не было способа гарантировать, что данные посланные по IDE шине будут данными, фактически записанными на диск. Это потому, что не хватало проверки четности, проверки контрольных сумм, и т.п. Со стандартом Ultra-DMA, IDE теперь могут делать проверку контрольных сумм данных, которые они получили, и таким образом стало очень неправдоподобно исказить данные.
- Производительность: Я не собираюсь детально обсуждать здесь производительность IDE. Коротко, история такова:
  - IDE устройства быстрые (12 Мб/с и выше)
  - IDE создают большую нагрузку на CPU, чем SCSI (но кого это интересует?)
  - Используйте один IDE диск на IDE шине, slave диски портят производительность
- Отказоустойчивость: ДрайверIDE обычно устойчив и переносит отказ IDE диска. RAID уровень пометит диск как отказавший, и если Вы работаете с RAID уровня 1 или выше, машина должна хорошо работать, до тех пор пока Вы ее не остановите на ремонт.

Очень важно, чтобы Вы использовали один IDE диск на IDE шине. Два диска не только разрушают производительность, но отказ диска - часто гарантирует отказ шины, и, таким образом, отказывают все устройства на этой шине. При отказоустойчивом RAID (RAID уровней 1,4,5), отказ одного может быть обработан, но отказ двух дисков (два диска на одной шине отказывают из-за отказа одного диска) приведут массив в неиспользуемое состояние. Также, при отказе master диска на шине, slave или IDE контроллер может быть сбит с толку. Одна шина - один диск, это правило.

Существуют дешевые PCI IDE контроллеры. Вы часто можете получить две или четыре шины за $80. Учитывая значительно более низкую цену IDE по сравнению со SCSI дисками, я бы сказал, что IDE дисковые массивы могут быть в самом деле хорошим решением, если оно реализуется относительно небольшим (возможно около 8) количеством дисков, которые можно подключить к типичной системе (если, конечно, у Вас достаточно PCI слотов для этих IDE контроллеров).

У IDE есть небольшая проблема с кабелями при применении в больших массивах. Даже если У вас достаточно PCI слотов, маловероятно, что Вы сможете поставить более 8 дисков в систему и запустить ее без искажений данных при передаче (из-за слишком длинных IDE кабелей).

## 3.2 Горячая замена

Некоторое время это была горячая тема списка рассылки linux-kernel. Хотя горячая замена дисков поддерживается в некоторой степени, она все еще нечто не очень простое.

### Диски IDE с горячей заменой

Не делайте ! IDE совсем не работает с горячей заменой. Конечно, у вас может работать, если ваш IDE драйвер скомпилирован как модуль (возможно только в 2.2 серии ядер), и вы пере-загружаете его после замены диска. Но Вы можете запросто сжечь IDE контроллер, и Вы будете блокированы на значительно большее время, чем, если бы Вы заменили диск на выключенной машине.

Главная проблема, исключая выбросы электричества, которые могут разрушить вашу аппаратуру, - шина IDE должны быть пересканирована после замены дисков. Текущий IDE драйвер так не умеет. Если новый диск на 100% идентичен старому (геометрией и т.п.), он может работать без пере-сканирования шины, но на самом деле, Вы ходите по краю обрыва.

### Диски SCSI с горячей заменой

Обычная SCSI аппаратура не позволяет горячей замены. Однако, это может работать. Если Ваш SCSI драйвер поддерживает пере-сканирование шины, и удаление и добавление устройств, Вы можете делать горячую замену. Однако, на обычной SCSI шине Вы не должны отключать устройства, пока система включена. Но опять же, это может сработать (и вы можете закончить сгоревшей аппаратурой).

Уровень SCSI должен пережить смерть диска, но пока не все драйвера SCSI могут так делать. Если Ваш SCSI драйвер падает при отказе диска, ваша система упадет с ним, и горячая замена реально не возможна.

### Горячая замена с SCA

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

Если Вы хотите поиграть с этим, Вы, в любом случае, должны знать о внутренностях SCSI и RAID. Таким образом я не собираюсь писать здесь что-либо, что я не проверил, вместо этого я могу дать несколько нитей к размышлению:

- grep на предмет remove-single-device в linux/drivers/scsi/scsi.c
- Взгляните на raidhotremove и raidhotadd

Не все SCSI драйвера поддерживают добавление и удаление устройств. В серии 2.2 ядер, по крайней мере Adaptec 2940 и Symbios NCR53c8xx драйвера, кажется, поддерживаю это, другие - не известно. Я буду благодарен, если кто-то даст сюда дополнительные факты ...

Next Previous Contents