RAID

Резервное копирование против RAID

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

RAID, занимается живыми данными, это механизм, с помощью которого работающая система объединяет несколько дисков в единый объект хранения. Затем данные распределяются по всем дискам таким образом, чтобы они могли выдержать отказ хотя бы одного (или нескольких) физических дисков. Самый простой тип RAID-массива - RAID1 или зеркальное отображение. Здесь вы копируете (или зеркалируете) одни и те же данные на двух или более дисках, чтобы в случае отказа одного из дисков данные могли сохраниться и по-прежнему активно использоваться. Есть и другие конфигурации RAID, и мы обсудим их по мере продвижения.

О RAID

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

1. Зеркальное отображение:

Зеркальное отображение подразумевает, что ваши блоки данных копируются, зеркалируются на нескольких дисках. Если вы зеркалируете свои данные на трех дисках, вы можете пережить отказ двух дисков в любой момент времени, неисправные диски можно будет заменить новыми без особых хлопот. Точно так же, если вы копируете данные через п + 1 дисков, вы можете выдержать до п диски выходят из строя. Обратной стороной этого является то, что вы получаете емкость хранилища, равную наименьшему диску в вашем массиве RAID.

2. Четность:

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

Этот метод можно улучшить, добавив 2 или даже 3 блока четности. Но более 3-х блоков паритета в отрасли нечасто встречаются. Если у вас есть один блок четности, вы можете пережить сбой одного диска. Два блока четности означают, что вы можете выдержать отказ двух дисков и т. Д.

Это более эффективно с точки зрения использования хранилища, чем зеркалирование. Если у вас есть один блок четности, вам нужно всего на 50% больше физического хранилища на фактические пользовательские данные, которые вы храните. Это означает, что для хранения 1 ГБ данных вам понадобится 1.5 ГБ хранилища (плюс есть небольшие накладные расходы на метаданные). Это намного эффективнее, чем даже самая эффективная схема зеркалирования, когда вам нужно как минимум 2 ГБ хранилища для зеркалирования 1 ГБ данных между двумя дисками.

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

Конфигурации RAID могут быть настолько сложными или простыми, насколько вы хотите, вы можете комбинировать стратегии четности и зеркалирования и изменять их по своему усмотрению. Существуют выделенные контроллеры RAID, к которым вы подключаете свои физические диски, а затем ОС видит один логический диск, как показано контроллером. LSI - один из таких производителей RAID-контроллеров. Вы также можете выполнять RAID в программном обеспечении. OpenZFS, вероятно, лучший выбор в этом отношении.

Последний вид RAID, заслуживающий почетного упоминания, - это RAID 0. Технически это не схема RAID, потому что здесь нет избыточности. Идея RAID 0 состоит в том, чтобы просто распределить данные по нескольким устройствам хранения без любой устойчивость к сбоям дисков. Преимущество в том, что вы улучшаете производительность, делая это. Если вы записываете 1 ГБ данных на один диск, процесс идет медленно. Диск может выполнять только ограниченное количество операций записи в секунду, и ваша ОС должна дождаться завершения этой операции, прежде чем новые данные будут отправлены ей. Если вы распределите один и тот же 1 ГБ данных на двух таких дисках, вы можете записывать (и читать) с обоих из них одновременно и значительно повысить производительность.

Back Ups

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

Tarsnap и Backblaze - мои любимые сервисы управляемого резервного копирования как для частных, так и для деловых целей. Вы также можете включить Google Диск, iCloud или Dropbox в это определение резервное копирование решение, но они ориентированы больше на потребительский рынок, чем на корпоративный. Однако основной принцип остается прежним. Когда вы входите в новый iPhone или iPad, все данные, ваши контакты, фотографии, медиа-библиотека и т. Д. Синхронизируются с вашей учетной записью iCloud без проблем, и по мере того, как вы продолжаете использовать свое устройство, новые данные автоматически копируются в облако, а вы этого не делаете. не надо об этом беспокоиться.

Ваше решение для резервного копирования может быть таким же простым, как копирование данных на внешний жесткий диск или использование rsync (или zfs send, если вы используете OpenZFS) для периодического создания копии всей необходимой информации. Это может быть папка с документами, база данных, исходный репозиторий или даже вся ваша корневая файловая система, размещенная в плоском zip-архиве или архиве. Важные критерии, которым должно соответствовать хорошее решение для резервного копирования, следующие:

  1. Резервное копирование должно выполняться часто - если вы выполняете резервное копирование данных каждый месяц, а не каждую неделю, вы рискуете потерять данные за месяц в случае аварии.
  2. Ваши резервные копии должны возвращаться во времени - хранилище резервных копий ограничено. Иногда приходится выбрасывать старые резервные копии. Чем больше у вас хранилища, тем лучше могут быть ваши резервные копии. Предположим, вы делаете резервную копию данных еженедельно, но выбрасываете резервные копии старше 2 недель. Если файл случайно удален, и это останется незамеченным в течение двух недель, у вас не будет возможности вернуть его.
  3. Ваши файлы должны быть восстановлены - если вы никогда не пробовали восстанавливать данные из резервной копии, у вас нет резервной копии. Вам не нужно учиться восстанавливать данные в критический момент, когда вы пострадали от потери данных. Планируйте заранее и знайте, как восстановить систему из последней удачной резервной копии.
  4. Ваша резервная копия должна быть отделена от работающей системы - когда происходит сбой, и все ваши файлы на производственном сервере зашифровываются, удаляются или повреждаются, вам необходимо убедиться, что то же самое не произойдет с вашей резервной копией. Один из хороших способов убедиться в этом - убедиться, что ваше устройство резервного копирования не «подключено» к вашей производственной среде, i.е, отключите жесткий диск USB, отключите файловую систему NFS, когда закончите резервное копирование. По крайней мере, не давайте производственной системе права перезаписывать или изменять данные резервного копирования. Сделать его доступным только для чтения.

Теперь, когда мы немного знаем как о RAID, так и о резервном копировании, давайте выделим некоторые различия между ними.

Файлы и блоки

RAID всегда заботится о блоках данных, а не о том, как файловая система представляет эти данные пользователю. Как программный, так и аппаратный RAID обрабатывает данные как блоки информации, размер блоков может варьироваться от 128 KiB до 1 MiB.

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

Сценарии использования

Бэкапы для всех. Подход и объем могут варьироваться от личного случая использования к корпоративному, но всем, у кого есть цифровая жизнь, нужна резервная копия. RAID - это скорее особенность бизнеса / предприятия. Вы видите RAID-массивы на серверах, устройствах хранения, таких как NAS и SAN, облачные гипервизоры и т. Д. Практически любое место, где хранятся важные данные в реальном времени, использует ту или иную форму RAID. Даже серверы, на которых выполняется резервное копирование в облаке, вероятно, используют RAID-массивы. Это не взаимоисключающие технологии.

Это не значит, что вы не можете использовать RAID в личных целях, просто он более полезен на предприятиях. Частично это связано с тем, что на предприятии диски загружаются операциями ввода-вывода 24/7. В производственной среде, такой как хранилище базы данных, служба потокового видео или облачный гипервизор, запоминающее устройство вашего сервера будет постоянно испытывать ужасную нагрузку, данные постоянно считываются и записываются на эти устройства и часто несколькими приложениями одновременно. В этих условиях ваши диски с большей вероятностью выйдут из строя. Конфигурация RAID означает, что в случае отказа диска время простоя будет минимальным или полностью отсутствует. Большинство серверов могут продолжать работать даже после сбоя диска, поэтому вы не теряете новую информацию и запросы, поступающие каждую секунду.

Обычный настольный компьютер вряд ли может воссоздать такое же стрессовое состояние, даже если диск выходит из строя, если вы используете решение для резервного копирования, такое как Backblaze, вы можете восстановить большую часть потерянных данных, и потеря нескольких часов работы, вероятно, является худшим из того, что может случиться. Даже это становится редкостью благодаря облачным решениям, таким как Adobe Creative Cloud, Office 365 и т. Д.

RAID не заменяет резервное копирование

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

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

Данные на вашем RAID-массиве живы. Если ОС, приложение (или пользователь) выйдут из строя и удалит несколько файлов здесь и там, то файл будет удален по всему массиву RAID. Наличие отдельной копии ваших данных, резервной копии, - единственный способ защитить себя от такого рода сценариев.

Заключение

Если вы беспокоитесь о своих данных, вашей первой проблемой должно быть решение для резервного копирования. Большинству пользователей настольных компьютеров, за исключением, возможно, опытных пользователей, следует больше инвестировать в надежное резервное копирование, а не возиться с RAID1, RAID5 или RAIDZ. Если вы хотите создать свой собственный сервер резервного копирования, вам нужно подумать о достойной политике резервного копирования и надежном сервере хранения. Эта статья может быть хорошим местом для начала. Вы можете использовать rsync или zfs send, чтобы скопировать ваши данные на этот сервер.

Если вы работаете на предприятии и рассматриваете решение RAID для хранения всех ваших данных в реальном времени. Рассмотрите возможность использования OpenZFS, он предлагает очень гибкое решение, от зеркалирования n-дисков до RAIDZ1 с одним блоком четности до RAIDZ2 и RAIDZ3 с 2 и 3 блоками четности. Прежде чем принимать решение, вам нужно много подумать о требованиях вашего приложения. Есть компромисс между производительностью чтения и записи, отказоустойчивостью и эффективностью хранения. Однако я бы порекомендовал вам думать о RAID только после того, как вы выбрали решение для резервного копирования.

Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...