Raid, Scsi

Discussion in '"Железо"' started by Cthulchu, 28 Jan 2008.

  1. Cthulchu

    Cthulchu Elder - Старейшина

    Joined:
    22 Nov 2007
    Messages:
    405
    Likes Received:
    721
    Reputations:
    85
    RAID (англ. redundant array of independent/inexpensive disks) — дисковый массив независимых дисков. Служат для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации (RAID 0).


    Пример простейшего PCI IDE RAID контроллера. В этом устройстве все функции RAID выполняет программный драйвер ОС. Поддерживаются только режимы RAID 0 и RAID 1Аббревиатура RAID изначально расшифровывалась как «Redundant Arrays of Inexpensive Disks» («избыточный (резервный) массив недорогих дисков», так как они были гораздо дешевле RAM). Именно так был представлен RAID своими исследователями: Петтерсоном (David A. Patterson), Гибсоном (Garth A. Gibson) и Катцом (Randy H. Katz) в 1987 году. Со временем RAID стали расшифровывать как «Redundant Array of Independent Disks» («избыточный (резервный) массив независимых дисков»), потому как для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ).

    Калифорнийский университет в Беркли представил следующие уровни RAID, которые были приняты как стандарт де-факто:

    RAID 0 представлен как не отказоустойчивый дисковый массив.
    RAID 1 определён как зеркальный дисковый массив.
    RAID 2 зарезервирован для массивов, которые применяют код Хемминга.
    RAID 3, 4, 5 используют чётность для защиты данных от одиночных неисправностей.
    RAID 6 используют чётность для защиты данных от двойных неисправностей


    Уровни RAID

    RAID 0

    RAID 0 («Striping») — дисковый массив из двух или более жёстких дисков с отсутствием избыточности. Информация разбивается на блоки данных (Ai) и записывается на оба/несколько диска поочередно.

    За счёт этого существенно повышается производительность (+) (от количества дисков зависит кратность увеличения производительности), но страдает надёжность всего массива. (При выходе из строя любого из входящих в RAID 0 винчестеров полностью и безвозвратно пропадает вся информация) (-). В соответствии с теорией вероятностей, надёжность массива RAID 0 равна произведению надёжностей составляющих его дисков, каждая из которых меньше единицы, т. о. совокупная надёжность заведомо ниже надёжности любого из дисков.

    RAID 0 может быть реализован как программно, так и аппаратно (+).


    RAID 1

    RAID 1 (Mirroring — «зеркало»). Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения за счёт распараллеливания запросов. Имеет высокую надежность - работает до тех пор пока функционирует хотя бы один диск в массиве. Недостаток заключается в том, что приходится выплачивать стоимость двух жёстких дисков, получая полезный объем одного жёсткого диска (классический случай, когда массив состоит из двух дисков).

    Изначально предполагается, что жёсткий диск — вещь надёжная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей, то есть ниже на порядки. К сожалению, данная теоретическая модель не достаточно полно отражает процессы, протекающие в реальной жизни. Так, обычно два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры — вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва Hot Spare. Достоинство такого подхода — поддержание постоянной надёжности. Недостаток — ещё большие издержки (то есть стоимость трёх винчестеров для хранения объёма одного диска).

    Зеркало на многих дисках — RAID 1+0. При использовании такого уровня зеркальные пары дисков выстраиваются в «цепочку», поэтому объём полученного тома может превосходить ёмкость одного жёсткого диска. Достоинства и недостатки такие же, как и у уровня RAID 1. Как и в других случаях, рекомендуется включать в массив диски горячего резерва Hot Spare из расчёта один резервный на пять рабочих.


    RAID 2
    В массивах такого типа диски делятся на две группы — для данных и для кодов коррекции ошибок, причем если данные хранятся на n дисках, то для складирования кодов коррекции необходимо n-1 дисков. Данные записываются на соответствующие винчестеры так же, как и в RAID 0, они разбиваются на небольшие блоки по числу дисков, предназначенных для хранения информации. Оставшиеся диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо винчестера из строя возможно восстановление информации. Метод Хемминга давно применяется в памяти типа ECC и позволяет на лету исправлять мелкие однобитовые ошибки, если они вдруг возникнут, а если ошибочно будут переданы два бита, это будет обнаружено опять-таки с помощью систем контроля четности.

    Впрочем, держать ради этого громоздкую структуру из почти двойного количества дисков никому не хотелось, и этот вид массива не получил распространения.


    RAID 3

    Структура массива RAID 3 такова: в массиве из n дисков данные разбиваются на блоки размером 1 байт и распределяются по n-1 дискам, а еще один диск используется для хранения блоков четности. В RAID 2 для этой цели стояло n-1 дисков, но большая часть информации на этих дисках использовалась только для коррекции ошибок на лету, а для простого восстановления в случае поломки диска достаточно меньшего ее количества, хватает и одного выделенного винчестера.

    Соответственно, отличия RAID 3 от RAID 2 очевидны: невозможность коррекции ошибок на лету и меньшая избыточность. Преимущества таковы: скорость чтения и записи данных высока, а для создания массива требуется совсем немного дисков, всего три. Но массив этого типа хорош только для однозадачной работы с большими файлами, так как наблюдаются проблемы со скоростью при частых запросах данных небольшого объема.


    RAID 4

    RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось «победить» проблему низкой скорости передачи данных небольшого объема. Запись же производится медленно из-за того, что четность для блока генерируется при записи и записывается на единственный диск. Используются массивы такого типа очень редко.


    RAID 5

    Cамый популярный из уровней, в первую очередь благодаря своей экономичности. Жертвуя ради избыточности ёмкостью всего одного диска из массива, мы получаем защиту от выхода из строя любого из винчестеров тома. На запись информации на том RAID 5 тратятся дополнительные ресурсы, так как требуются дополнительные вычисления, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких накопителей массива распараллеливаются.

    Недостатки RAID 5 проявляются при выходе из строя одного из дисков — весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности значительно снижается (так как уменьшена избыточность массива). Поэтому, (см. выше) с томом RAID 5 следует обязательно использовать диск Hot Spare. Если во время восстановления массива, вызванного выходом из строя одного диска, выйдет из строя второй диск — данные в массиве разрушаются. Уровень RAID 6 допускает выход из строя до 2-х дисков одновременно. Минимальное количество используемых дисков равно трём.


    RAID 6 (ADG)

    RAID 6 (Advanced Data Guarding) - похож на RAID 5 но имеет более высокую степень надежности — под контрольные суммы выделяется емкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более серьезный процессор контроллера — сложная математика. Обеспечивает работоспособность после «смерти» до 2-х дисков одновременно. Для организации массива требуется минимум 4 диска.


    RAID 7
    RAID 7 — зарегистрированная марка компании Storage Computer Corporation. Структура массива такова: на n-1 дисках хранятся данные, один диск используется для складирования блоков четности. Но добавилось несколько важных деталей, призванных ликвидировать главный недостаток массивов такого типа: кэш данных и быстрый контроллер, заведующий обработкой запросов. Это позволило снизить количество обращений к дискам для вычисления контрольной суммы данных. В результате удалось значительно повысить скорость обработки данных (кое-где в пять и более раз).

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


    Комбинированные уровни
    Помимо базовых уровней RAID 0 — RAID 5, описанных в стандарте, существуют комбинированные уровни RAID 1+0, RAID 3+0, RAID 5+0, RAID 1+5, которые различные производители интерпретируют каждый по-своему.

    Суть таких комбинаций вкратце заключается в следующем.

    RAID 1+0 — это сочетание зеркала и чередования (см. выше).

    Нынешние контроллеры используют этот режим по умолчанию для RAID 1. То есть, 1 диск основной, 2-й диск — зеркало, причем чтение производится с них поочередно, как для RAID 0. Собственно, сейчас можно считать что RAID 1 и RAID 1+0 — это просто разное название одного и того же метода аппаратного зеркалирования дисков.

    RAID 5+0 — это чередование томов 5-го уровня. RAID 1+5 — зеркалирование «пятерок». И так далее.

    Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 нисколько не добавляет ему надёжности, но зато положительно отражается на производительности. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, к тому же, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков…


    Matrix RAID
    Matrix RAID — это технология, реализованная фирмой Intel в своём чипсете ICH6R. Строго говоря, эта технология не является новым уровнем RAID, она просто позволяет, используя лишь 2 диска, организовать одновременно один или несколько массивов уровня RAID 1 и один или несколько массивов уровня RAID 0. Это позволяет за сравнительно небольшие деньги обеспечить для одних данных повышенную надёжность, а для других высокую скорость доступа.

    Пример использования:

    Имеются в наличии два диска по 160 Гбайт. Каждый диск разбиваем на тома по 60 и по 100 Гбайт, затем 100-гигабайтные тома объединяем в скоростной массив RAID 0, а 60-гигабайтные — в массив повышенной надежности RAID 1. В массиве RAID 1 можно разместить операционную систему, рабочие документы, фото- и видеоархивы, коллекцию mp3 и прочие важные данные, а файл подкачки и «игрушки» в массиве RAID 0. В результате получаем весьма рациональное сочетание повышенной производительности и надежности хранения данных.

    ВАЖНО!

    RAID 1 можно создать, задействовав только ДВА жестких диска!

    RAID 1+0 можно создать, задействовав 4 диска.

    RAID 5 можно создать, задействовав от 3 до 6 дисков.

    Одновременно создать RAID 5 и любой другой RAID на одних и тех же дисках (как при создании RAID 1 и RAID 0 из примера) не представляется возможным.

    ОС Windows 2000/XP/2003 поддерживает программный RAID 0, RAID 1 и RAID 5.


    Интересные факты

    Сотрудник корпорации Y-E Data, которая является крупнейшем в мире производителем USB флоппи-дисководов, Дэниэл Олсон в качестве эксперимента создал RAID-массив флоппи-дисководов.


    Программный (Software) RAID
    Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux существуют специальные модули ядра, а управлять RAID-устройствами в GNU/Linux можно с помощью утилиты mdadm. Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от хороших RAID-контроллеров, цена которых от 250 долларов США). С другой стороны, программный RAID использует ресурсы центрального процессора, и в моменты пиковой нагрузки на дисковую систему процессор может до 50 % мощности тратить на обслуживание RAID-устройств.



    SCSI (англ. Small Computer Systems Interface, произносится как скази) — интерфейс, разработанный для объединения на одной шине различных по своему назначению устройств, таких как жёсткие диски, накопители на магнитооптических дисках, приводы CD, DVD, стриммеры, сканеры, принтеры и т. д. Раньше имел неофициальное название Shugart Computer Systems Interface в честь создателя Алана Ф. Шугарта

    Теоретически возможен выпуск устройства любого типа на шине SCSI.

    После стандартизации в 1986 году, SCSI начал широко применяться в компьютерах Apple Macintosh, Sun Microsystems. В компьютерах, совместимых с IBM PC, SCSI не пользуется такой популярностью в связи со своей сложностью и сравнительно высокой стоимостью, и применяется преимущественно в серверах.

    В настоящее время SCSI широко применяется на серверах, высокопроизводительных рабочих станциях; RAID-массивы на серверах часто строятся на жёстких дисках со SCSI-интерфейсом (хотя в настоящее время на серверах нижнего ценового диапазона всё чаще применяются RAID-массивы на основе SATA).



    Стандарты

    Существует три стандарта SCSI (SE — англ. single-ended, LVD — англ. low-voltage-differential — интерфейс дифференциальной шины низкого напряжения, HVD — англ. high-voltage-differential — интерфейс дифференциальной шины высокого напряжения), каждый из которых имеет множество дополнительных и необязательных возможностей. Некоторые комбинации возможностей имеют собственные наименования.

    Контроллер SCSI может работать с любым устройством, на котором присутствует данный интерфейс (жесткий диск, сканер).


    SCSI-1
    Стандартизован ANSI в 1986 г.

    Использовалась восьмибитная шина, с пропускной способностью в 3,5 МБайт/сек в асинхронном режиме и 5 МБайт/сек в синхронном режиме. Максимальная длина кабеля — до 6 метров.


    SCSI-2
    Этот стандарт был предложен в 1989 году и существовал в двух вариантах — Fast SCSI и Wide SCSI.

    Fast SCSI характеризуется удвоенной пропускной способностью (до 10 МБайт/сек).

    Wide SCSI в дополнение к этому имеет удвоенную разрядность шины (16 бит), что позволяет достичь скорости передачи до 20 МБ/сек.

    При этом максимальная длина кабеля ограничивалась тремя метрами.

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


    SCSI-3
    Также известен под названием Ultra SCSI.

    Предложен в 1992 году.

    Пропускная способность шины составила 20 МБайт/сек для восьмибитной шины и 40 МБайт/сек — для шестнадцатибитной. Максимальная длина кабеля так и осталась равной трём метрам.

    Устройства, отвечающие этому стандарту, известны своей чувствительностью к качеству элементов системы (кабель, терминаторы).


    Ultra-2 SCSI
    Предложен в 1997 году.

    Использует LVDS. Максимальная длина кабеля — 12 метров, пропускная способность — до 80 МБайт/сек.


    Ultra-3 SCSI
    Также известен под названием Ultra-160 SCSI.

    Предложен в конце 1999 года.

    Имеет удвоенную пропускную способность (по сравнению с Ultra-2 SCSI), которая составила 160 МБайт/сек. Увеличения пропускной способности удалось достичь за счёт одновременного использования фронтов и срезов импульсов.

    В этот стандарт было добавлено использование CRC (Cyclic Redundancy Check), исправление ошибок.


    Ultra-320 SCSI
    Развитие стандарта Ultra-3 с удвоенной скоростью передачи данных (до 320 МБайт/сек).


    Ultra-640 SCSI
    Также известен под названием Fast Ultra-320.

    Предложен в начале 2003 года.

    Удвоенная пропускная способность (640 МБайт/сек). В связи с резким сокращением максимальной длины кабеля неудобен для использования с более чем двумя устройствами, поэтому не получил широкого распространения.


    Протокол команд SCSI
    В терминологии SCSI взаимодействие идёт между инициатором и целевым устройством. Инициатор посылает команду целевому устройству, которое затем отправляет ответ инициатору.

    Команды SCSI посылаются в виде блоков описания команды (Command Descriptor Block, CDB). Длина каждого блока может составлять 6, 10, 12 или 16 байт. В последних версиях SCSI блок может иметь переменную длину. Блок состоит из однобайтового кода команды и параметров команды.

    После получения команды целевое устройство возвращает значение 00h в случае успешного получения, 02h в случае ошибки или 08h в случае, если устройство занято. В случае, если устройство вернуло ошибку, инициатор обычно посылает команду запроса состояния. Устройство возвращает Key Code Qualifier (KCQ).

    Все команды SCSI делятся на четыре категории: N (non-data), W (запись данных от инициатора целевым устройством), R (чтение данных) и B (двусторонний обмен данными). Всего существует порядка 60 различных команд SCSI, из которых наиболее часто используются:

    Test unit ready — проверка готовности устройства.
    Inquiry — запрос основных характеристик устройства.
    Send diagnostic — указание устройству провести самодиагностику и вернуть результат.
    Request sense — возвращает код ошибки предыдущей команды.
    Read capacity — возвращает ёмкость устройства.
    Format Unit
    Read (4 варианта) — чтение.
    Write (4 варианта) — запись.
    Write and verify — запись и проверка.
    Mode select — установка параметров устройства.
    Mode sense — возвращает текущие параметры устройства.
    Каждое устройство на SCSI-шине имеет как минимум один номер логического устройства (LUN — англ. Logical Unit Number). В некоторых более сложных случаях одно физическое устройство может представляться набором LUN.


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


    Терминатор — поглотитель энергии (обычно резистор) на конце длинной линии, сопротивление которого равно волновому сопротивлению данной линии.


    Назначение
    Терминатор является согласованной нагрузкой для длинной линии. Согласованная нагрузка обладает следующими полезными свойствами:

    Бегущая волна, приходящая из линии, полностью поглощается в согласованной нагрузке. Поэтому отражение волны обратно в линию отсутствует.
    Входной импеданс линии, нагруженной на согласованную нагрузку, равен волновому сопротивлению линии.

    Применение
    Широко применяется в СВЧ электронике. В быту используется на коаксиальных кабелях (в основном Ethernet) и шлейфах SCSI


    PS

    все взято с википедии и отредактировано мной с целью увеличения параметра "читабельность" ;).

    копирайты:

    http://ru.wikipedia.org/wiki/Raid

    http://ru.wikipedia.org/wiki/SCSI

    а эта о терминаторах, чего по линку не очевидно:

    http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D1%82%D0%BE%D1%80_%28%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0%29


    PPS
    если такая тема уже существует - извеняюсь, ибо в железе, где ей несомненно место, я ее не нашел.
     
    2 people like this.
  2. Духъ

    Духъ Banned

    Joined:
    3 Sep 2007
    Messages:
    89
    Likes Received:
    7
    Reputations:
    0
    если можно одно замечание...
    те кто занимаются скази и рэид врядли присмотрятся к читабельности и особенно из читабельности мне понравилось :
    :))

    а так в общем за мануал +
     
  3. no0ther

    no0ther New Member

    Joined:
    13 Apr 2008
    Messages:
    2
    Likes Received:
    2
    Reputations:
    0
    На мой взгляд "читабельность" статьи о RAID с вики ты не улучшил, а наоборот сделал хуже. И вообще для нуба в понимании темы RAID большую роль играют схематические изображения RAID'ов, коих у тебя нет...
     
  4. Folc

    Folc Elder - Старейшина

    Joined:
    12 Feb 2007
    Messages:
    245
    Likes Received:
    72
    Reputations:
    14
    За труды, а вообще я гдет это видел уже))
    Если не прав извени!
     
  5. goodkit

    goodkit Member

    Joined:
    19 May 2006
    Messages:
    160
    Likes Received:
    30
    Reputations:
    2
    RAID 5 можно создать, задействовав от 3 до 6 дисков.

    Это кто тебе такое сказал? Лично поднимали RAID5 с 8 HDD =/ Ты просто копирнул и не добавил некоторых моментов, например можно и больше, но с определенным котроллером RAID