ЭТО RAID

Как устроено избыточное хранение данных.

ЭТО RAID

Когда мы говорили о резервном копировании, то упоминали про RAID — технологию хранения данных, которая защищает их от порчи или потери. Теперь разберём подробнее.

Что такое RAID

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

Расшифровывается так: Redundant Array of Independent Disks, по-русски — массив независимых дисков с избыточностью. Избыточность — ключевое слово.

Чаще всего эту технологию применяют к нескольким дискам на одном устройстве. Например, у вас может быть сетевое хранилище, в которое будут вставлены четыре диска. Эти четыре диска собираются в RAID-массив и после некоторой компьютерной магии они становятся более безопасными.

👉 Суть безопасности RAID в том, чтобы при поломке одного из дисков данные в целом не пострадали. По крайней мере, чтобы их можно было восстановить.

Как данные не пострадают

На практике это выглядит так:

  1. Вы создаёте RAID-массив (например, в сетевом хранилище, но можно и внутри компьютера)
  2. Проходит 5 лет, вы спокойно пользуетесь массивом, пишете на него файлы, читаете, всё как всегда.
  3. Вдруг один из дисков выходит из строя. Так бывает, потому что диски хрупкие и недолговечные.
  4. RAID-массив орёт благим матом и просит вставить вместо сломавшегося какой-нибудь свежий диск.
  5. Вы извлекаете повреждённый диск, на его место ставите свежий.
  6. RAID-массив шуршит внутри себя и волшебным образом восстанавливает все данные, которые были утрачены из-за поломки одного из дисков.
  7. Через час-другой у вас снова полностью работоспособный массив, где все диски живы и здоровы.
  8. Когда через полгода посыпется другой диск, вы снова вставляете в массив свежий диск на его место, и RAID восстанавливает утраченные данные. Можно сказать, что ваша файловая система регенерирует в случае аварии.

За счёт чего

Основной секрет — в избыточности хранения. Это значит, что RAID-массив хранит больше данных, чем отправляет туда пользователь.

Например, вы отправили один файл размером 1 ГБ, но RAID хранит этот гигабайт немного избыточно, делая несколько фрагментарных копий этого файла по другим дискам. Как бы «размазывает» данные.

В итоге файл может занимать не 1 ГБ, а 1,2 ГБ. Вот эти 0,2 ГБ — это та самая избыточность, благодаря которой в случае поломки можно будет восстановить ваши данные. Число 0,2 условное — зависит от конфигурации массива.

Как организованы RAID-массивы

Мы расскажем об основных схемах, которые лучше всего подходят для нас с вами, и покажем, как именно они устроены, чтобы вы смогли выбрать для себя лучший вариант.

Важный момент: лучше всего использовать диски, одинаковые по всем характеристикам. Идеально, если массив будет состоять из дисков одной и той же модели — так не будет проблем с восстановлением данных.

Для начала простой пример: когда RAID нет: ×

Цветные линии — это файлы на жёстком диске. Сейчас все данные хранятся на одном диске.
Если сломается жёсткий диск — все файлы пропадут.

RAID0 — объём, скорость, но никакой надёжности

Несмотря на слово RAID в названии, в нём нет избыточности данных, и если сломается один из дисков, вы потеряете все свои файлы. Всё дело в том, что данные в RAID0 никак не резервируются, а просто по очереди пишутся на два разных диска.

Допустим, что у нас есть три файла — обозначим их красным, синим и зелёным. Тогда RAID0 запишет их себе в память так:

Каждый файл разбивается на кусочки и размазывается по дискам.

В результате пользователь получает большой объём хранилища — в сумме как два диска. Но это не даёт никакой надёжности. Видно, что три файла просто размазались по дискам и разные части файлов лежат на разных дисках. Очевидно, что если один их них сломается, то у нас останется диск с кучей фрагментов данных, которые невозможно восстановить:

ЭТО RAID

Единственное, из-за чего это используют, — скорость работы с данными. Файл делится на несколько частей и пишется одновременно на разные диски — так получается быстрее, чем писать его целиком на один диск.

+ быстрая скорость работы с файлами

+ большой объём хранилища

– никакой надёжности, малейшая поломка — и вы теряете все данные.

RAID1 — высокая надёжность ценой снижения объёма

В отличие от предыдущего массива, RAID1 прост и надёжен как скала. Правило простое — каждый файл записывается одновременно на оба диска, в итоге у вас получаются два одинаковых диска, каждый из которых хранит все ваши данные. Если один сломается, то всё останется на втором. Из-за того что данные одинаковые, такой метод ещё называют зеркалированием.

Оба диска содержат одну и ту же информацию.
При поломке одного диска все данные можно сразу взять со второго.

Но у этого подхода есть минус — если у вас два диска по 10 терабайт, то с RAID1 вы получите не 20, а 10 терабайт из-за того, что все данные удваиваются. Если диска не два, а три — то утраиваются.

С другой стороны, это самый простой способ организовать безопасное хранение данных.

+ надёжно

– полезный объём — самый маленький из всех RAID-массивов, вы получаете только один объём диска, а не сумму всех вместе.

RAID5 — большой, надёжный, но сложный

Есть ещё один способ обеспечить надёжность хранения данных — записывать куда-то дополнительную информацию о файле, которая поможет его восстановить. Для этого требуется уже не 2, а 3 жёстких диска.

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

Прерывистая линия — это дополнительные данные для каждого файла.

Когда один из дисков выйдет из строя, то все файлы можно восстановить из двух оставшихся по специальному алгоритму. Получается, что если у вас есть три диска по 1 терабайту, то с RAID5 вы получите 2 терабайта для хранения данных, а 1 терабайт будет использован системой для данных восстановления.

Два из трёх — достаточно для восстановления данных в RAID5.

+ больше места, чем в RAID1

+ надёжно

– данные хоть и можно восстановить без потерь, но сделать это гораздо сложнее, чем в RAID1

А что есть ещё?

Ещё есть

  • RAID2, где применяется специальный алгоритм, который может сам находить повреждённые данные, но ему нужно минимум 7 дисков;
  • RAID3 и 4, которые похожи на 5, но работают медленнее;
  • RAID10, где объединяется RAID1 и RAID0 — это даёт повышенную скорость и надёжность, но требует много дисков

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

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
А вы читали это?
Объектно-ориентированное программирование: на пальцах
Объектно-ориентированное программирование: на пальцах

Статья не мальчика, но мужа.

hard
Задача про хитрого электрика
Задача про хитрого электрика
hard
Контрольная сумма: что это и почему это важно
Контрольная сумма: что это и почему это важно

Рассказываем на примере покупок в магазине.

hard
Новый российский смартфон «Р‑Фон»: что о нём нужно знать нам с вами
Новый российский смартфон «Р‑Фон»: что о нём нужно знать нам с вами

Отечественный андроид в зарубежном корпусе

easy
Самые странные языки программирования
Самые странные языки программирования

Как вообще можно было такое придумать?

easy
Почему школьники не любят уроки программирования
Почему школьники не любят уроки программирования

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

easy
Бесплатные курсы по программированию и ИТ
Бесплатные курсы по программированию и ИТ

Что есть в Практикуме бесплатного и чему там учат

easy
Haskell — ленивый язык программирования
Haskell — ленивый язык программирования

Он сам решает, что и когда нужно посчитать.

easy
Знакомство с матрицами
Знакомство с матрицами

Понятие и базовые операции.

medium
medium