Что такое raid массивы и зачем они нужны?
Содержание:
RAID 5
Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor, получить в результате недостающий операнд. Например: a xor b = c (где a, b, c — три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b: c xor b = a. Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e. Если отказывает c тогда e встаёт на его место и проведя xor в результате получаем c: a xor b xor e xor d = c. Этот метод по сути обеспечивает отказоустойчивость 5 версии. Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в raid.
Достоинства
RAID5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объём дискового массива RAID5 рассчитывается по формуле (n-1)*hddsize, где n — число дисков в массиве, а hddsize — размер наименьшего диска. Например, для массива из четырех дисков по 80 гигабайт общий объём будет (4 — 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.
Недостатки
Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25% от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи, за исключением так называемых full-stripe write-ов, сервера заменяется на контроллере RAID на четыре — две операции чтения и две операции записи). Недостатки RAID 5 проявляются при выходе из строя одного из дисков — весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат
Следует также принять во внимание, что процесс RAID Reconstruction (восстановления данных RAID за счет избыточности) после выхода из строя диска вызывает интенсивную нагрузку чтения с дисков на протяжении многих часов непрерывно, что может спровоцировать выход какого-либо из оставшихся дисков из строя в этот наименее защищенный период работы RAID, а также выявить ранее не обнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), что повышает риск сбоя при восстановлении данных
Минимальное количество используемых дисков равно трём.
RAID 5
Какой тип RAID лучше всего использовать
При выборе RAID все зависит от того, что важнее в вашем случае: производительность или отказоустойчивость (или то и другое). Выбор типа RAID также зависит от того, на какой машине он будет установлен (ПК, сервер, NAS и т. д.), поскольку для одних лучше подходят аппаратные, а для других – программные RAID. Программные поддерживают меньше уровней RAID, а для аппаратных RAID возможные типы массива определяются отдельно для каждого случая. Разные контроллеры поддерживают разные уровни RAID и ограничивают выбор дисков, которые можно будет использовать в массиве: SAS, SATA или SSD.
Если говорить о производительности сервера, вы можете выбрать RAID 0, потому что в таких массивах читают и записывают данные сразу несколько дисков, тем самым ускоряя операции ввода-вывода. Для создания массива требуется как минимум два диска. Уровень поддерживают как программные, так и аппаратные RAID.
Недостаток в том, что такие системы не отличаются отказоустойчивостью. Если один диск выходит из строя, это влияет на весь массив и увеличивает вероятность потери или повреждения данных.
Если нужна отказоустойчивость и при этом скорость для вас не является критически важным параметром, вы можете выбрать RAID 1, потому что данные в нем всегда копируются одновременно на два диска, образуя копию или «зеркало». Если один диск выходит из строя, другой продолжает работать, и все данные остаются на нем, в полном объеме. Это самый простой способ реализации отказоустойчивой и относительно недорогой системы. Ее недостаток лишь в том, что RAID 1 обладает сниженной производительностью.
RAID 1 может быть реализован как в программной, так и в аппаратной версии.
RAID 5 является наиболее распространенной конфигурацией RAID для бизнес-серверов и корпоративных устройств NAS, поскольку обеспечивает лучшую производительность, чем «зеркала», и при этом показывает хорошую отказоустойчивость. В RAID 5 хранимая информация и данные четности (дополнительные данные, используемые для восстановления) распределяются между тремя или более дисками. Если диск выходит из строя, информация воссоздается из распределенных данных и блоков четности автоматически. Система продолжит работать, даже если один из носителей будет поврежден. Другое преимущество RAID 5 заключается в том, что вы можете заменить поврежденный диск, не выключая сервер и не прерывая доступ пользователей к серверу.
Обратной стороной RAID 5 является то, что он снижает производительность серверов, выполняющих несколько операций записи. Например, когда много сотрудников работают на сервере с RAID 5, может наблюдаться заметное торможение в выполнении операций.
RAID 6 также является отличным выбором для бизнеса. Для повышения надежности системы имеет смысл использовать RAID 6 с двумя дисками для блока четности. Такой массив продолжит работать даже в случае выхода из строя двух жестких дисков. Главный недостаток такого решения – его дороговизна. Вот почему RAID 6 больше подходит для бизнеса, чем для домашнего использования.
RAID 10 идеально подходит для интенсивно используемых серверов баз данных или любого сервера, который выполняет несколько операций записи. RAID 10 может быть реализован как аппаратный или программный, но очевидно, что многие его преимущества (в частности, производительность) теряются при использовании программного обеспечения RAID 10.
RAID 50, как и RAID10, являются наиболее предпочтительными для работы с приложениями, где требуется высокая производительность в сочетании с приемлемой надежностью. Однако RAID 50 считается наиболее подходящим для больших дисков – он более надежен, чем RAID 5, и более экономичен, чем RAID 10. Этот тип массива рекомендуется для работы с приложениями, которым требуется повышенная надежность хранения информации, высокая скорость обработки запросов и передачи данных, большой объем памяти.
Массив RAID 60 идеально подходит для онлайн-обслуживания клиентов, что требует высокой отказоустойчивости. Обладая многими преимуществами RAID 50, он также может выдерживать в два раза больше отказов дисков. Благодаря этому такие системы являются оптимальными для использования в системах видеонаблюдения. Еще один положительный момент в выборе RAID 60 – отличная производительность при последовательном доступе, что является особенностью потокового видео.
Выбор между RAID 50/60 и RAID 10, скорее всего, будет зависеть от доступного бюджета, емкости сервера и потребностей в защите данных. В целом, когда мы говорим о SSD-решениях (как корпоративного, так и потребительского класса), на первый план выходит именно стоимость.
RAID 10
RAID 10, или RAID 1+0 (вложенный массив), метод, сочетающий в себе процессы зеркалирования и чередования, что позволяет обеспечить высокий уровень защиты данных. Такое сочетание двух уровней хранения делает RAID 10 одновременно быстрым и отказоустойчивым. Если вам нужна аппаратная защита данных и более высокая производительность хранилища, RAID 10 – это простое и относительно недорогое решение. RAID 10 надёжен, так как при зеркальном копировании дублируются все ваши данные. Также RAID 10 отличается высокой производительностью, так как информация распределяется по нескольким дискам. При этом фрагменты данных могут быть прочитаны и записаны на разные диски одновременно. Для конфигурации RAID 10 необходимо минимум четыре диска.
При выборе конфигурации RAID-хранилища необходимо учитывать, для каких именно целей вы будете его использовать и сколько вы готовы на него потратить. Мы рекомендуем базовый RAID 1, с помощью которого можно создать совпадающие копии для архивации в условиях более крупного рабочего процесса.
Следует отметить один важный момент. Несмотря на то что RAID 1 записывает данные одновременно на два диска, сам по себе он не является резервной копией. В том случае, если данные будут испорчены вашими ОС или ПО, а не жёстким диском, то они отправляются на оба диска и одновременно повреждают их.
Резервная копия – это копия данных, которая хранится где-то ещё, в другом месте и отделена от исходных данных как по месту хранения, так и по времени записи. Данные не будут повреждены, если только вы специально не создадите их резервную копию. Иными словами, даже если вы используете RAID, то всё равно нужно создавать резервные копии ваших рабочих данных.
Восстановление данных
Некоторые варианты восстановления данных:
- В случае сбоя Рейд 0 или 5 может помочь утилита RAID Reconstructor , которая соберет доступную информацию накопителей и перезапишет на другое устройство или носитель в виде образа прошлого массива. Данный вариант поможет, если диски исправны и ошибка программная.
- Для Linux систем используется mdadm восстановление (утилита для управления программными Рейд-массивами).
- Аппаратное восстановление должно выполняться через специализированные сервисы, потому что без знания методики работы контроллера можно потерять все данные и вернуть их будет очень сложно или вообще невозможно.
RAID 0
Дисковый массив состоящий минимум из двух дисков, информация на которые записывается поочередно (принцип чередования). Сначала информация разбивается на одинаковые по длине блоки (обозначим их Аi), которые записываются по очереди на каждый из дисков, составляющих массив. Таким образом, файл может оказаться разделенным на части, которые будут хранится на разных HDD.
К плюсам можно отнести существенное увеличение скорости работы, поскольку обработка информации распараллеливается между несколькими дисками. К тому же вся емкость дисков доступна операционной системе. Если применены два диска емкостью 500 ГБ, то в системе будет виден диск объемом 1 ТБ.
Однако есть и ложка дегтя, теперь сохранность информации зависит от работоспособности не одного диска, а всех дисков входящих в массив. Если мы используем два накопителя, то надежность снижается практически в два раза, поскольку даже в случае проблем только с одним из дисков, мы теряем всю хранящуюся информацию. Что уж говорить о случае, когда накопителей больше двух. Другими словами, повышаем скорость работы, жертвуя надежностью системы. Справедливости ради стоит отметить, что поскольку в данном случае не используется резервирование информации (нет избыточности), то порой RAID 0 вовсе не считают полноценным RAID-массивом.
Данный тип массива будет оптимальным выбором, когда требуется обеспечить высокое быстродействие при ограниченном бюджете, а вопрос надежности хранения информации не имеет принципиального значения. Именно такое сочетание качеств делает RAID 0 интересным для домашних продвинутых пользователей компьютера в некоторых ситуациях.
Причем восстановить информацию в случае сбоя будет гораздо труднее, чем с одиночного жесткого диска. Если информация для вас ценная, то лучше не пытаться восстановить работоспособность самостоятельно, поскольку своими действиями можно усугубить ситуацию или даже полностью уничтожить данные в рейде. Гораздо разумнее будет доверить восстановление профессионалам, например компании Paradise-R. Впрочем это касается RAID-массивов любого уровня.
Why should I consider RAID for my server?
On a typical home computer, a potential drive failure is not something we always think about. As long as you have backups, it can be an annoying inconvenience, but that’s about it. Given that hard drives fail at between 1% and 10% a year, a typical home computer is unlikely to see a drive failure before the computer becomes obsolete anyway.
For servers, the picture is quite a bit different. Servers often have more than one hard drive, which multiples the chances that one of them will fail. If a server goes offline, it’s often more than a minor inconvenience to wait for data to be restored from backups. Depending what the server was used for, potentially thousands of users will be unable to reach the services they expect to be online 24/7.
Because RAID uses several disks to create one virtual array, it is possible to use RAID to keep multiple copies of data active at one time. Depending upon the RAID type selected, this added redundancy can allow your server to remain online even if one or more drives fail. This is an inexpensive way to improve the performance and reliability of your server.
Виды RAID-контроллеров
Существует два способа создать и использовать RAID-массивы: аппаратный и программный. Мы рассмотрим следующие решения:
- Linux Software RAID.
- Intel Virtual RAID On CPU.
- LSI MegaRAID 9460-8i.
Отметим, что решение Intel работает на чипсете, из-за чего возникает вопрос, аппаратное это решение или программное. Так, например, гипервизор VMWare ESXi считает VROC программным и не поддерживает официально.
Linux Software RAID
Программные RAID-массивы в семействе ОС Linux — достаточно распространенное решение как в клиентском сегменте, так и в серверном. Все, что нужно для создания массива, — утилита mdadm и несколько блочных устройств. Единственное требование, которое предъявляет Linux Software RAID к используемым накопителям, — быть блочным устройством, доступным системе.
Отсутствие затрат на оборудование и программное обеспечение — очевидное преимущество данного способа. Linux Software RAID организует дисковые массивы ценой процессорного времени. Список поддерживаемых уровней RAID и состояние текущих дисковых массивов можно посмотреть в файле mdstat, который находится в корне procfs:
Поддержка уровней RAID добавляется подключением соответствующего модуля ядра, например:
Все операции с дисковыми массивами производятся через утилиту командной строки mdadm. Сборка дискового массива производится в одну команду:
После выполнения этой команды в системе появится блочное устройство /dev/md0, которое представляет из тебя виртуальный диск.
Intel Virtual RAID On CPU
Intel VROC Standard Hardware Key
Intel Virtual RAID On CPU (VROC) — это программно-аппаратная технология для создания RAID-массивов на базе чипсетов Intel. Данная технология доступна в основном для материнских плат с поддержкой процессоров Intel Xeon Scalable. По умолчанию VROC недоступен. Для его активации необходимо установить аппаратный лицензионный ключ VROC.
Стандартная лицензия VROC позволяет создавать дисковые массивы с 0, 1 и 10 уровнями RAID. Премиальная версия расширяет этот список поддержкой RAID5.
Технология Intel VROC в современных материнских платах работает совместно с Intel Volume Management Device (VMD), которая обеспечивает возможность горячей замены для накопителей с интерфейсов NVMe.
Intel VROC со стандартной лицензией
Настройка массивов производится через Setup Utility при загрузке сервера. На вкладке Advanced появляется пункт Intel Virtual RAID on CPU, в котором можно настроить дисковые массивы.
Создание массива RAID1 на двух накопителях
Технология Intel VROC имеет свои «козыри в рукаве». Дисковые массивы, собранные с помощью VROC, совместимы с Linux Software RAID. Это означает, что состояние массивов можно отслеживать в /proc/mdstat, а администрировать — через mdadm. Эта «особенность» официально поддерживается Intel. После сборки RAID1 в Setup Utility можно наблюдать синхронизацию накопителей в ОС:
Отметим, что через mdadm нельзя собирать массивы на VROC (собранные массивы будут Linux SW RAID), но можно менять в них диски и разбирать массивы.
LSI MegaRAID 9460-8i
Внешний вид контроллера LSI MegaRAID 9460-8i
RAID-контроллер является самостоятельным аппаратным решением. Контроллер работает только с накопителями, подключенными непосредственно к нему. Данный RAID-контроллер поддерживает до 24 накопителей с интерфейсом NVMe. Именно поддержка NVMe выделяет этот контроллер из множества других.
Главное меню аппаратного контроллера
При использовании режима UEFI настройки контроллера интегрируются в Setup Utility. В сравнении с VROC меню аппаратного контроллера выглядит значительно сложнее.
Создание RAID1 на двух дисках
Объяснение настройки дисковых массивов на аппаратном контроллере является достаточно тонкой темой и может стать поводом для полноценной статьи. Здесь же мы просто ограничимся созданием RAID0 и RAID1 с настройками по умолчанию.
Диски, подключенные в аппаратный контроллер, не видны операционной системе. Вместо этого контроллер «маскирует» все RAID-массивы под SAS-накопители. Накопители, подключенные в контроллер, но не входящие в состав дискового массива, не будут доступны ОС.
Несмотря на маскировку под SAS-накопители, массивы с NVMe будут работать на скорости PCIe. Однако такая особенность позволяет загружаться с NVMe в Legacy.
Теория: Уровни RAID и принципы восстановления данных
Чаще всего сейчас используются массивы уровней 0, 1, 10, 5, 50. В последнее время наблюдается возрастающий интерес к шестому уровню.
Ниже приведена краткая информация о принципах работы массивов. Более подробно, об этом можно прочитать в соответствующей статье.
RAID 0 – использование чередующейся записи (страйп). Строится из двух и более накопителей. Информация записывается на все диски массива блоками определенного (8кб,16кб,32кб,64 кб, 128кб…) размера. Файлы, размер которых один блок, равномерно распределяются по двум или более дискам.
Из-за отсутствия избыточности или дублирования данных, при выходе из строя одного из дисков, восстановить информацию в полном объеме невозможно без использования данных с неисправного накопителя. Исключением будут лишь файлы, размер которых меньше размера блока. Для полноценного восстановления информации в таких случаях необходимо сначала снять данные с неисправного диска, после чего восстанавливать RAID.
В случаях, когда все диски исправны, а массив отказывается корректно работать, восстановление производится программными методами, которые описаны
RAID 1 – использование технологии зеркалирования (зеркало). Строится из двух дисков. Информация одновременно пишется на оба накопителя, каждый диск является полной копией своего собрата. В случае выхода из строя одного из дисков массив остается работоспособным.
Если происходит сбой в работе контроллера и массив перестает определяться, то восстановление данных можно выполнить, воспользовавшись советами из статьи «Простое восстановление данных». Для этого один из дисков следует подключить к компьютеру на прямую, минуя RAID контроллер. Если повезёт, после подключения Ваши данные могут оказаться доступными и без использования программ, описанных в вышеуказанной статье.
RAID 10 – это объединение уровня 0 с уровнем 1, т.е. два страйпа объединяются в зеркало. В массиве используются минимум 4 диска. Он может остаться работоспособным при выходе из строя одного из составляющих его RAID 0.
При возникновении проблемы, в первую очередь необходимо определить, с чем именно возникли неполадки – с контроллером или с дисками
Когда проблема на уровне контроллера, Вам следует определить, какие винчестеры являются парами, составляющими страйпы
Здесь важно не перепутать диски, т.к. это приведет к потерянному времени и отсутствию результата
После того, как это станет известно, берётся одна такая пара, и с неё снимается информация таким же образом, как и с самостоятельного RAID 0.
Во время эксплуатации RAID 10, случается и такое, что выходят из строя два диска. Здесь возможны следующие варианты:
1) Оба диска принадлежат к одному страйпу, контроллер корректно обрабатывает исключительную ситуацию, и массив продолжает функционировать нормально.
2) Оба диска принадлежат к одному страйпу, но массив разваливается. В этом случае просто берём исправный страйп, и программно собираем его (об этом ниже).
3) Диски принадлежат к разным страйпам, но в одном из них уцелел первый, а в другом второй накопитель. Попробуйте программно собрать из них RAID 0.
4) Вышли из строя одноимённые диски разных страйпов. Увы Один из сломанных дисков придётся отремонтировать, или каким-либо ещё образом снять с него данные. Затем программная сборка.
RAID 5 – массивы с контролем четности. Основным его достоинством является распределение блоков информации и контрольных блоков четности по всем дискам массива. Для создания такого массива требуется минимум три диска. Объём массива равен сумме объёмов составляющих его накопителей, минус один диск. Блоки контроля чётности используются для вычисления недостающей информации при выходе из строя одного из накопителей, составляющих массив. Таким образом, при утрате одного из дисков данные не теряются, и массив может продолжать работу.
Но, случается и такое, что после выхода из строя одного накопителя, контроллер неверно обрабатывает исключительную ситуацию и массив перестает корректно работать, либо полностью «падает». Подобный сбой может возникнуть также во время выполняемого после замены диска перестроения массива. Иногда в течение короткого времени после смерти первого диска, выходит из строя ещё один.
Если массив не работает, и количество неисправных дисков не более одного, то его можно собрать При выходе из строя двух накопителей, сначала потребуется восстановить работоспособность, или снять информацию на исправный диск с одного из них, и лишь затем можно заняться сборкой массива.
События и турниры
События и турниры в Raid: Shadow Legends проводятся постоянно. В любой день любого месяца ты заходишь в игру – для тебя есть турнир и событие, причем, зачастую, по несколько вариантов того и другого.
Правила события достаточно простые: игрок выполняет какие-то определенные действия, получает за них очки, а за накопленные очки – награды. Например, в событии «Поход на подземелья» нужно просто фармить предметы в данжах. Нафармил хорошего шмота для своих героев – получи «вкусняшек» за усердие.
Причем бывает, что разработчики включают «Легкие события» — такие же, как их сложные версии, но с более простыми наградами и меньшим количеством очков для прохождения.
В турнирах все работает точно также, но с той разницей, что игроки соревнуются между собой за дополнительные награды. То есть часть призов игрок получает гарантированно, а часть – только в зависимости от места в локальном и глобальном рейтингах.
Это тоже очень здорово, но выигрывать турниры без доната достаточно сложно. Придется заранее затариться рубинами, чтобы во время соревнования докупать энергию.
Заключение
Надеюсь, моя статья была интересной. Для тех, кто никогда не работал с ЦОДами будет полезно узнать, чего можно от них ожидать. Я скучаю по временам, когда все сервера, которые я администрировал, были в серверной, куда никому не было доступа и куда я мог в любой момент попасть и проверить их. Сейчас все стало не так. И твои сервера уже не твои. Их может сломать, уронить, что-то перепутать сотрудник тех поддержки дата центра.
Сейчас большой тренд на переход в облака. Я смотрю на эти облака и не понимаю, как с ними можно нормально взаимодействовать. Заявленная производительность не гарантированная, нагрузка плавает в течении суток. Упасть может в любой момент и ты не будешь понимать вообще в чем проблема. Твои виртуалки могут быть по ошибке удалены и кроме извинений и компенсации в 3 копейки ты ничего не получить. Каждое обращение в ТП как лотерея. Думаешь, что сломают в этот раз. Если сервера железные, то когда пишу тикет на доступ к железу, я морально и технически всегда готов к тому, что этот сервер сейчас отключится и я больше не смогу к нему подключиться.
В целом, опыт работы с облаками у меня негативный. Несколько раз пробовал для сайтов и все время съезжал. Нет гарантированного времени отклика. А это сейчас фактор ранжирования. Для очень быстрого сайта остается только один вариант — свое железо, а дальше уже кому какое по карману. Зависит от надежности и допустимого времени простоя.
Я про облака заговорил, потому что тенденции к тому, что от железных серверов надо отказываться и все переносить в облака. С одной стороны удобно должно быть. Как минимум, не будет указанных выше в статье проблем. А с другой стороны добавляется куча других проблем. Я пока сижу на железяках разного качества и стоимости. А у вас как?
Онлайн курс «DevOps практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .