Всем привет! Сегодня я постараюсь ответить на вопрос – что же такое RAID массивы, для чего они нужны и где используются. Я постараюсь как можно проще объяснять тему, не заваливая вас огромным количеством новых терминов.
Если кто застал 90-е годы, то такие люди помнят, что в те стародавние времена вычислительная скорость процессоров была не такая высокая как сейчас. При этом все данные, как и в наше время, хранились на жестких дисках. В то время скорость считывания была примерно 12 мс (миллисекунд) с периодической задержкой в 5 мс. Максимальное число оборотов в минуту равнялась 5000. Время шло, производительность процессоров выросла в десятки раз, а вот жесткие диски ушли не так далеко. Сейчас топовые HDD имеют примерно такие же характеристики. Немного прибавилось количество оборотов до 10 – 12 000 в минуту.
В итоге у нас появилась проблема, что процессор очень быстро обрабатывает информацию, а хранилище данных за такими вычислениями просто не успевают. Увеличить количество оборотов пока невозможно. Поэтому среди инженеров стояла острая задача быстрого доступа к базам данных, которые хранятся на тех же самых физических хранилищах. Данную проблему и решают рейд массивы, о которых мы поговорим чуть подробнее в статье.
Принцип
Если вы посмотрите на рисунок ниже, то вам уже станет понятен принцип работы RAID массивов. У нас есть база данных. Определенные данные хранятся не на одном устройстве, а сразу на нескольких. Тем самым вычислительные процессы сразу обращаются к нескольким жестким дискам и получают несколько потоков данных. Тем самым скорость работы базы данных увеличивается ровно во столько раз, сколько жестких дисков есть в системе. Подобная система называется – Parallel-Access Array (массив с параллельным доступом).
Есть также и система – Independent-Access Array (массив с независимым доступом). Она нужна в тех случаях, когда обрабатываются запросы с малым весом. Прошлый вариант нужен для обработки по запросам большого количества данных, а здесь идет обработка мелкой информации, которую можно записать на одно устройство (не разбивая).
Но данные системы имеют один большой минус – с увеличением количества дисков уменьшается параметр отказоустойчивости. Если говорить простым языком – увеличивается вероятность выхода из строя хотя бы одного жестака.
Но данный минус решается специальных дисковым кодированием. Очень часто используется дублирование данных – в итоге информация одного устройства также будут дублироваться на втором. При этом у каждого диска есть ровно половина данных своих, и половина данных сдублированных у другого хранилища.
История
Сама аббревиатура RAID расшифровывается – как Redundant Arrays Of Inexpensive Disks, что в переводе с английского обозначается «избыточный массив недорогих дисков». Самое интересное, что так аббревиатура расшифровывалась в самом начале. Дело в том, что тогда существовали недорогие диски, которые устанавливались на обычный ПК. Дорогие же ставили на более мощные машины.
В итоге от недорогих винчестеров отказались в силу их отказоустойчивых свойств. В итоге аббревиатура поменялась на «Redundant Array Of Independent Disks» – избыточный массив независимых дисков. Система была придумала в Беркли в далеком 1987 году. Тогда и были придуманы так называемый уровни RAID:
- RAID 0 – неотказоустойчивый.
- RAID 1 – зеркальный, при котором данные дублировались.
- RAID 2 – массив с применением кода Хемминга
- RAID 3, 4, 5 – использование четного алгоритма, когда слова записываются в определенном порядке. Код дублируется, но записывается по-разному.
RAID 3, 4, 5 – имеет один минус, что система работает только при одном небольшом отказе. В результате для увеличения отказоустойчивости в систему добавили так называемый кэш. Таким образом, если дисковое пространство в данный момент было занято записью, то данные записывались в кэш и ждали своей очереди. Система избавлялась от моментов, когда данные терялись в результате простоя. Далее мы рассмотрим отдельные рэйды более подробно.
RAID 0
Самая простая система. У нас есть несколько винчестеров, которые доверху забиты разделенной информацией. То есть считывание идет параллельно со всех дисков, но вы это уже и так знаете. Система получается быстрой, недорогой, но отказоустойчивости в ней вообще нет.
RAID1
У каждого хранилища есть дубль – как собрат близнец. Если он выйдет из строя, то работать будет дублированный или зеркальный массив. В итоге у нас есть отличное быстродействие, высокая отказоустойчивость, но большая стоимость в реализации, так как надо покупать в два раза больше дисков.
RAID 2
В работе используется так называемый код Хемминга, который позволяет на двоичном уровне быстро исправлять ошибки при обработке данных. Проблема стоит в том, что диски быстро отдают данные, но обработкой занимаются достаточно долго. Поэтому такие системы не подходят для обработки транзакций или подобного рода информации.
RAID 3
Все данные разбиваются на блоки по жестакам, а в самом конце стоит один диск, который хранит в себе данный четности. Именно по нему и проверяются данные всего блока.
RAID 4
Все винчестеры тут хранят свою информацию. Такая система нужна, когда нужно обрабатывать сразу несколько данных из разных дисков. То есть идет быстрая обработка мелких запросов. Большие данные тут не используются.
RAID 5
По сути это все тот же RAID4, но есть возможность параллельно использовать несколько данных за счет последнего диска и четности секторов.
RAID 6
Система аналогично, как и у РЕЙД (3, 4, 5), но при этом используется вторая схема для выявления отказа в работе. В итоге повышается отказоустойчивость, но увеличивается время отклика, так как для выуживания нужных данных нужно отправить 6 запросов.
RAID 10
По сути это совмещенная система RAID 1 и RAID 0, именно поэтому она так называется. В основе у нас сидит обычная RAID 0 система, а в качестве поддержки идет вторая система жестких дисков – RAID 1.
RAID30
Я думаю уже многие догадались, что тут за основу взят обычный РАЙД 0, а в качестве поддержки несколько блоков РАИД 3. При этом система может обрабатывать как большие данные, так и мелкие запросы с быстрым доступом.
RAID 50
Здесь вместо РЕЙД 3 используется RAID 5. В итоге запросы обрабатываются ещё быстрее, а отказоустойчивость немного выше РЭЙД 30. Самый главный минус в том, что такая система будет стоить дороже всего.
RAID 7
Была разработана компанией «Storage Computer Corporation (SCC)» и они же являются собственниками данного массива. Эта система включает в себя огромное количество плюсов и незначительные минусы. Все запросы обрабатываются независимо, то есть диск может принять любой запрос в любое время.
Для уменьшения погрешности на обработку запроса используется кэширование. За счет высокоскоростной шины скорость обработки запросов в 5 раз выше других систем. Минус в том, что данная система принадлежит одной компании. В итоге вы покупаете её за бешенные деньги, а обслуживать также не можете, так как это делают работники компании.
Спасибо за разъяснение, все стало понятно
Из всего, хочет отметить, что данную технологию как понимаю уже все крупные компании применяют…
Да при таком большом количестве народу – самый верный вариант…