Введение во вложенный RAID






В предыдущих заметках, посвящённых RAID, мы с вами познакомились с осовными базовыми уровнями RAID. Для многих, я уверен, в этих заметках не оказалось ничего нового, однако на мой взгляд, полезно время от времени возвращаться к основам и освежать некоторую информацию в памяти. В данном случае речь идёт об «одиночных» уровнях RAID, таких как RAID-0, RAID-1, RAID-5, RAID-6, то есть тех, которые в номере уровня имеют один разряд. Вспомните, что основным предназначением RAID является увеличение производительности и/или избыточности хранимой информации. Именно для решения этих задач базовые уровни RAID и были разработаны.



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

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

Причины, по которым был придуман и используется вложенный RAID, остаются теми же: стремление повысить надёжность хранения и/или производительность обработки данных. Обычно вложенный RAID используется там, где нужно максимально сбалансировать показатели надёжности и производительности. Изначально вложенный RAID разрабатывался как средство повышения производительности избыточных RAID, таких как RAID-1 или же для повышения надёжности производительных RAID, таких как RAID-0.

Вложенный RAID можно представить в виде приготовления блюда. Например, вы берёте RAID-1, затем добавляете к нему RAID-5, смешиваете получившееся с RAID-0 для повышения производительности и получаете готовое «блюдо». Чуть позже мы с вами ещё вернёмся к этой метафоре, когда будем рассматривать технические подробности реализации программного RAID под Linux.

Вложенные уровни RAID обычно обозначаются набором цифр, а не одиночной цифрой, как это принято в базовых уровнях RAID. Чаще всего вложенный RAID помечается двухразрядным числом и записывается как «RAID-X+Y» или «RAID-XY» (в случае использования двух уровней), где X и Y — уровни базовых RAID, которые использовались при построении вложенного уровня. Например, вложенный уровень может записываться как «RAID-10». В этом случае X=RAID-1, а Y=RAID-0. В описанной схеме нумерации вложенных уровней RAID первое слева число, X — это номер нижнего уровня. Таким образом, в приведённом примере записи RAID-10, на нижнем уровне будет находится RAID-1.

Вторая слева цифра в двухзначном номере вложенного RAID определяет номер верхнего уровня. В случае с RAID-10, где нижним уровнем является RAID-1, верхним уровнем становится RAID-0. Таким образом, RAID-0 работает поверх RAID-1 (производительность поверх надёжности).

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

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

Ну и напоследок. Вы вовсе не обязаны ограничиваться двумя базовыми уровнями при построении гибридного RAID. Вы можете строить настолько глубокий вложенный RAID, насколько позволит программное и/или аппаратное обеспечение, которое вы используете. Так что, никто не мешает вам соорудить что-нибудь наподобие RAID-XYZ.

В следующей статье мы рассмотрим принцип построения и работы RAID-0+1.

Источник: linux-mag.com