RAID-массив в виртуальной машине

Когда речь заходит практически о любой части компьютера, можно сказать, что было бы хорошо, чтобы она работала побыстрее и понадёжнее. Это особенно относится к подсистемам, от которых общая производительность компьютера зависит в наибольшей степени. И конечно, это относится к его дисковой подсистеме.

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

Побыстрее

С 1956 года, когда появилась первая модель жёсткого магнитного диска, некоторые характеристики дисков улучшились фантастически. Например, плотность записи возросла в 650 000 000 раз!

А вот время доступа к данным сократилось всего в сотни раз. Ну даже если в тысячу — все равно прогресс по скорости доступа оказался намного скромнее.

Уже в 70-е годы возникла идея разделять данные (например, файлы) на фрагменты и записывать их на разные диски одновременно. Очевидно, что общее время записи всего файла сократится. Теоретически выигрыш может быть во столько раз, сколько дисков задействовано для параллельной записи.

Запись на разные диски

Когда записанные данные потребуются, соответствующие им фрагменты нужно прочитать с разных дисков (желательно также одновременно), а затем собрать в общий блок.

Этот приём записи на диск называется чередованием (striping).

На рисунке для наглядности чередование показано на примере файла. В действительности чередуются дисковые единицы хранения: блоки, сектора, страницы. Файловая система находится на более высоком архитектурном уровне.

У описанного метода ускорения дисковых операций есть очень существенный недостаток. Если хотя бы один из чередованных фрагментов будет потерян или испорчен, весь блок данных так же окажется утраченным.

Понадёжнее

Время наработки на отказ современных дисков достигает 2 500 000 часов, … 285 лет непрерывной работы. Но это — статистика, а конкретный диск может сломаться и через час после включения. Да, вероятность такой поломки очень-очень мала, но она — не нулевая. Поэтому даже при использовании супернадёжных дисков не грех применить дополнительные меры для обеспечения сохранности данных.

Стандартный способ предотвращения утраты данных — их резервное копирование, то есть дублирование.

Например, копию данных, записываемых на один диск, можно одновременно записывать на другой.

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

В случае сбоя первого диска можно будет прочитать данные со второго диска. Впрочем, сначала нужно вовремя понять, что сбой произошёл. Для этого имеются специальные методы.

Описанный способ дисковых операций называется зеркалированием (mirroring).

На рисунке для наглядности зеркалирование показано на примере файла. В действительности зеркалируются дисковые единицы хранения: блоки, сектора, страницы.

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

И быстрее, и надёжнее

А нельзя ли обеспечить одновременное повышение и скорости дисковых операций, и их надёжности? — Можно! Но придётся использовать более двух дисков.

Использование 3х дисков

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

Типы RAID-массивов

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

Группы совместно используемых дисков называют RAID-массивами. RAID — Redundant Array of Independent Disks, избыточный массив независимых дисков.

RAID-массивы классифицируют по условным уровням.

Чередование в базовом виде реализовано в RAID-массивах нулевого уровня (RAID 0).

Зеркалирование в базовом виде реализовано в RAID-массивах первого уровня (RAID 1).

Как уже было сказано, в группе может присутствовать более двух дисков. Это даст возможность воспользоваться преимуществами как чередования, так и зеркалирования и одновременно нивелировать их недостатки. Сочетание этих методов реализовано в RAID 2, RAID 3, RAID 4, RAID 5, RAID 6 и далее.

Методики организации дисков в RAID-массив — единое быстродействующее и отказоустойчивое устройство — продолжают развиваться.

Реализация RAID-массивов

Для того, чтобы начать использовать группу дисков совместно, их нужно как-то объединить и управлять ими. Это можно обеспечить двумя способами: аппаратно или программно. В первом случае используется специальный «железный» контроллер; во втором — массивом управляет специальная программа.

Многие современные операционные системы: Windows, macOS, Linux, FreeBSD, … поддерживают программную реализацию RAID-массива.

Аппаратный контроллер берёт на себя часть нагрузки, связанной с дисковыми операциями, но требует дополнительного расхода на своё приобретение.

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

Нужен ли виртуальной машине в 1cloud дисковый массив

Возможность программной реализации RAID-массива может подвигнуть наших пользователей к тому, чтобы применить его на своём виртуальном сервере. Благо, облако 1cloud позволяет подключить к одной виртуальной машине десятки дисков разного типа и разного размера.

Напомним о преимуществах RAID-массивов.

  • Надёжность. Диски виртуальных машин в 1cloud базируются на платформе VMware, которая, в свою очередь, использует высоконадёжную и высокопроизводительную систему хранения данных (СХД) NetApp, обеспечивающую RAID 6-DP. Массив этого типа сохраняет данные при поломке до двух дисков (из числа входящих в RAID-массив).
  • Быстродействие. RAID-массивы в облаке 1cloud состоят из десятков дисков. Технология чередования позволяет многократно увеличить общую скорость дисковых операций по сравнению со скоростью работы отдельного диска. Конечно, эта кратность меньше числа дисков, входящих в RAID-массив, так как возникают накладные операционные расходы на обеспечение чередования блоков данных и, особенно, их зеркалирования.

С учётом изложенного, ответ на вопрос: «Нужен ли виртуальной машине в 1cloud собственный отдельный RAID-массив?» будет отрицательным.

В облаке 1cloud оптимальная производительность дисковой подсистемы обеспечена на самом базовом уровне. Все возможности и преимущества RAID-массивов уже задействованы на уровне облачной инфраструктуры. Пользователям остаётся лишь выбрать подходящий размер диска и его пул (HDD SATA, HDD SAS, SSD SAS).

 

P. S. Ещё немного интересных статей: