Проблемы и решения Usable Space. Часть 2.

Теперь давайте посмотрим как на всем этом, рассмотренном в прошлом посте, располагаются пользовательские данные.
Поверх “слоя виртуализации” - Aggregate - включающего в себя, как правило, все диски системы, и позволяющего нам распараллеливать ввод-вывод на все имеющиеся “физические шпиндели”, находятся собственно элементы доступные пользователю, “тома” типа FlexVol или Flexible Volumes.
Непосредственно на этих томах, которые, еще раз напомню, физически “тонким слоем размазаны” по всем входящим в aggregate дискам системы, уже можно хранить файлы для NAS-систем, или создавать LUN-ы для SAN.

Однако тут стоит вспомнить о том, что все это разнообразие и богатство обеспечивается нам своеобразной структурой данных, или “файловой системой” WAFL, которая и создает базовые структуры данных на дисках, являясь заодно и менеджером томов, и частью “RAID-контроллера” системы. Эта необычная “псевдо-файловая система” достойна отдельной серии постов, и я уже опубликовал тут мой перевод интереснейшей статьи инженера NetApp Костадиса Руссоса, о том, как устроена WAFL, и почему, по его мнению, не вполне корректно называть WAFL “файловой системой”, по крайней мере чтобы не смешивать ее в восприятии с другими файловыми системами.

Не буду вдаваться в детальные подробности ее устройства, тем более, что не далее как несколько постов назад я уже анонсировал подробное описание “внутренностей” WAFL от его непосредственных авторов. Интересующиеся могут попробовать углубиться в тему прочитав ту статью в техбиблиотеке на сайте одного из дистрибуторов NetApp в России, компании Netwell.
(см. ссылку в правом столбце)

Для нас же важно то, что же нам дает использование поверх raw data этой файловой системы? Будем уж так ее по традиции называть, хотя следует помнить, что это если и файловая система, то в чем-то единственная в своем роде.

Прежде всего, это возможность создавать и хранить снэпшоты, самая, пожалуй, известная особенность NetApp./p pСнэпшоты, кстати сказать придуманные и впервые реализованные в индустрии систем хранения именно NetApp, работают следующим образом:
Snapshots

Идея снэпшотов плодотворно питает множество “фич” систем хранения NetApp. Многие возможности, такие как SnapMirror (репликация) или FlexClone (виртуальное клонирование), прямо или косвенно выросли из этого свойства WAFL.

Как я уже писал ранее, особенностью реализации снэпшота в NetApp является его “некопированность”. При создании NetApp’s Snapshot ™ данные, уже попавшие на диски, не копируются, а только сохраняется дополнительная таблица inodes. Так как WAFL устроена таким образом, что данные на нее не перезаписываются, а всегда только дозаписываются, пока блок хоть где-то использован, это гарантирует нам то, что данные в снэпшоте при таком подходе, останутся неизменными.

Это коренным образом отличается от любого другого подхода создания “снэпшотов” у конкурентов, где при его создании данные либо копируются сразу, либо по мере перезаписи “активной файловой системы” переносятся на зарезервированное пространство (при этом мы серьезно теряем в производительности системы, так как одна операция записи превращается в четыре, чтение содержимого блока, которое мы изменяем, запись блока в зарезервированное место, запись нового содержимого в блок “активной файловой системы”;, и, наконец, изменения в таблице размещения блоков, чтобы изменить указатели на блоки данных в снэпшоте.

Второй особенностью следует назвать необычный тип RAID, RAID-4 (”ONTAP RAID”), и необычный способ работы с ним. Почему я рассматриваю RAID на уровне файловой системы? Дело в том, что WAFL, по сути, “спускается” в своей работе на уровень RAID- и Volume-manager.
Этот вопрос уже рассматривался в упомянутой ранее статье Костадиса Руссоса. WAFL не имеет ряда принципиальных для других файловых систем средств, например по работе с файловыми и директорными структурами, поиска и извлечения файлов, зато она оперирует на “низком” уровне RAID. То есть можно себе представить, что, по сравнению с какой-нибудь NTFS или ext3, WAFL пропорционально смещена “вниз” по этой “иерархии”. В ней меньше “высокоуровневых” средств, которые отданы “на откуп” сетевым файловым системам, таким как NFS или CIFS, или средствам блочной работы с LUN-ами, зато она, в большем объеме, чем традиционные файловые системы, работает с уровнем RAID и Volumes, в которые традиционные файловые системы не вмешиваются.

Конечно в наше время почти каждая файловая система работает поверх того или иного уровня RAID, но только WAFL с ONTAP RAID знают друг о друге достаточно, чтобы использовать при работе преимущества друг друга.
Costadis Roussos, NetApp

Обычно производители систем хранения предлагают выбор между двумя-тремя типами RAID: RAID-10 (или RAID-0+1), и RAID-5 (а сейчас к ним добавился набирающий популярность RAID-6). Ранее я писал подробную статью о RAID, и разнице между ними, интересующимся предлагаю сходить туда.
Эти типы RAID, применяемые на подавляющем количестве систем хранения, выбираются для конкретной задачи и используются следующим образом: если нужно хорошее быстродействие на запись, то все рекомендации говорят о использовании RAID-10. Его преимущества - быстрота работы. Его недостаток - мы “дарим” системе за это половину всей емкости дисков, Usable Space равно 50% от Raw. Довольно бандитские условия. ;)

Если быстродействие на запись не важно, а важна емкость - RAID-5. При этом на каждую RAID-группу мы теряем один диск под данные “четности”, но заметно падает скорость записи (а также скорость восстановления при сбое диска). Такая организация дисков как правило используется для систем долговременного хранения, хранения резервных копий, и тому подобного.

RAID-6 применяется либо при повышенных требованиях к надежности, либо при использовании менее надежных дисков, таких как SATA. При его использовании еще сильнее снижается скорость записи (примерно на 15-20% от скорости RAID-5), так как увеличивается объем вычислений для второго диска “четности”

Против всего этого зоопарка NetApp выставляет всего два варианта, а именно: RAID-4 и RAID-DP (вариант RAID-6). Почему?
Очень просто. RAID-4 или RAID-DP, в их реализации у NetApp, практически не проигрывают по быстродействию RAID-10, но при этом столь же экономичны к usable space как RAID-5/6.
А раз так, то зачем другие типы RAID, если те, что есть, полностью удовлетворяют по всем нужным параметрам?

Вот почему NetApp не предлагает “привычные” типы RAID. Их многообразие у традиционных систем хранения просто маскирует принципиальную ущербность “классических” типов RAID, среди которых пользователю предлагается выбрать компромисс, либо пожертвовав usable-емкостью в пользу быстродействия (RAID-10), либо быстродействием в пользу емкости (RAID-5), либо и тем и другим в пользу надежности (RAID-6).

Теперь, вооруженные всеми этими знаниями, перейдем к разбору “классики говнилок” - тому, “куда у этого Нетаппа девается место на дисках”. Продолжим в следующий понедельник.

Оставить комментарий

20/0.137

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

This content is not endorsed, sponsored or affiliated with NetApp, Inc. The views expressed in this blog are solely those of the author and do not represent the views of NetApp, Inc.