Write Anywhere File Layout

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Write Anywhere File Layout (WAFL) — «Файловая структура с записью повсюду» — внутренняя высокопроизводительная файловая система, используемая в специализированной ОС Data ONTAP в сетевых системах хранения данных компании NetApp.

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

Несмотря на то, что WAFL традиционно принято считать "файловой системой", ряд особенностей ее работы и организации данных в ней являются уникальными, и необычными для того, что принято считать присущим традиционной файловой системе. Один из соразработчиков NetApp, например, рекомендует считать WAFL скорее набором инструментов, "тулкитом" для построения на его базе той или иной структуры хранения данных, необходимой разработчику. Так, например, с 2003 года NetApp успешно использует WAFL для организации хранения блочных (SAN) данных, дополнив этой возможностью традиционную для систем хранения NetApp роль файловой (NAS) организации объектов хранения. Как блочное, так и файловое хранение организовано поверх методов управления и адресации данных в WAFL, независимо друг от друга.

С использованием идей, лежащих в основе WAFL и глубоко разработанных в продуктах компании NetApp создана также новая файловая система компании Sun Microsystems - ZFS.

Преимущества[править | править исходный текст]

Выбранная схема работы файловой системы имеет множество преимуществ, в их числе, кроме простоты создания «мгновенных снимков»-snapshots:

  • высокая производительность файловой системы на запись. Так как нет необходимости производить поиск нужного места и дожидаться позиционирования туда головок жестких дисков для проведения записи/перезаписи (данные могут записываться «повсюду») появилась возможность записывать «случайные» записи в «последовательном» порядке, что гораздо эффективнее для быстродействия дисков, особенно для задач с большим процентом небольших записей в «случайном» порядке (базы данных OLAP/OLTP).
  • глубокая интеграция WAFL с «RAID-менеджером» (по сути «уровень RAID» есть часть самой файловой системы) позволяет оптимизировать работу RAID в соответствии с особенностями файловой системы. В частности, это позволило организовать высокоэффективный режим записи «полными страйпами», и, тем самым, преодолеть такой характерный недостаток RAID «чередование с четностью» (RAID типов 3,4,5 и 6) как медленная «случайная» запись, которая, как правило, втрое медленнее, чем на уровнях RAID без четности (RAID типов 0,1,10)
  • возможность создать быстрый RAID типа 6 («чередование с двойной четностью»), защищающий от выхода из строя двух дисков одновременно. Как правило, тип RAID-6 примерно на 10-20 % медленнее аналогичного по набору дисков RAID-5, что ограничивает его широкое применение. На сегодня только с использованием WAFL (RAID-DP) и ZFS (RAID-Z2) можно создать структуру RAID «с двойной четностью» не проигрывающую по быстродействию другим типам RAID.
  • возможность широко использовать так называемый thin provisioning, метод выделения пространства на дисках системы хранения по мере его востребования задачей, что снижает непроизводительный расход пространства на дисках («выделено при создании раздела, но пока не используется»)
  • возможность использовать дедупликацию — процесс анализа и удаления дублирующихся по содержимому блоков данных, заменяемых на ссылки на уже существующий уникальный блок такого содержимого. Дедупликация на уровне файловой системы становится полностью прозрачна для приложений, и, в случае ряда специфических применений, например хранения образов виртуальных машин, может сокращать объемы занятого на дисках места на 70 % и более.

Недостатки[править | править исходный текст]

Минусом WAFL следует назвать конструктивно присущую ей высокую фрагментацию записанных данных, впрочем эффект фрагментации в целом не слишком сказывается для файловых систем inode-ового (ext2/3, UFS и пр.) типа, к которым принадлежит WAFL. Кроме того, используемый принцип организации блоков записываемых данных в экстенты переменной длины также снижает отрицательный эффект фрагментации данных. Результаты экспериментов[1] показывают ухудшение производительности искусственно фрагментированного раздела не более чем на 10-15 процентов от нормы. Также на уровне ОС работает фоновый дефрагментатор, постоянно снижающий степень фрагментации файловой системы.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]

Примечания[править | править исходный текст]