Файловые системы в Linux

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

Ext4

EXT4 – венец эволюции Ext-систем, разработанная Эндрю Мортоном в 2006 году. Она полностью совместима с системами ext2 и ext3, ее характеристики значительно превосходят возможности предшественниц. Изначально она позиционировалась как система с для хранения файлов рекордно больших размеров. Однако позже добавились и другие функции, например, увеличение производительности определенных операций, онлайн дефрагментация.

Ее отличительной чертой остается возможность использовать для выделения памяти не отдельные блоки или области дискового пространства, а экстенты – логические диапазоны. Максимальный размер файловой системы — 1 эксбибайт, добавлена 48-битная адресация блоков, то есть один файл может достигать объема 16 тебибайт, максимальный размер тома — 1 эксбибайт.

Reiser4 FS

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

Также среди возможностей этой ФС можно выделить следующие:

  • Алгоритм танцующего дерева – баланс между машинами сохраняется только при записи на диск, что позволяет более рационально использовать пространство;
  • Надежность хранения данных повышается за счёт атомарной структуры файловой системы – операции должны быть либо доведены до конца, либо вообще не производиться, выполнение операции наполовину не допускается.

Система была представлена в 2004 году, разработчики во главе с Хансом Рейзером рекомендовали использовать ее как модифицированную версию БД. Однако после ареста Рейзера в 2008 году разработка этой файловой системы фактически прекратилась. Максимальный объем тома — 16 тетибайт (16*240 байт).

XFS

Эта высокопроизводительная 64-битная файловая система разрабатывалась компанией Silicon Graphics еще в 1993 году, но широкой общественности была представлена спустя 7 лет. В 2001-2002 годах стала доступной пользователям Linux. Считается одной из первых журналируемых файловых систем для *unix.

XFS создавалась для работы с большими по объему файлами и томами. Имеются такие преимущества как деление дискового пространства на экстенты, использование B-tree индексов наряду с inode-ами для хранения информации, онлайн дефрагментация. Отложенное выделение места (Delayed allocation). Максимальный размер блока – 4 КБ, объем одного файла — 8 эксбибайт — 1 байт, объем тома – 16 эксбибайт.

BTRFS (B-Tree File System)

Файловая система компании Oracle, создавалась в качестве ответа на файловую систему ZFS, а также с целью предотвращения недостатков, характерных для *nix систем. Основные характеристики: технология copy-on-write, которая позволяет делать снимки областей диска (снапшоты), сжатие данных, контроль за целостностью данных и метаданных, возможность задать при монтировании оптимизированный режим для накопителей SSD, проверка целостности при размонтировании, возможность создания подтомов, журналирование с копированием при записи. Максимальный размер файла, как и тома, 16 эксабайт.

ZFS (Zettabyte File System)

Файловая система, изначально разработанная компанией Sun Microsystems в 2005 году. Основные возможности: обеспечение контроля над физическими и логическими носителями, поддержка больших объемов данных, объединение функций файловой системы, лекговесные файловые системы, удобное управление данными для хранения файлов, 64-х разрядный механизм контрольных сумм. Это 128-битная файловая система, что дает возможность хранить файлы очень больших объемов. Совместима с FreeBSD и Solaris. Максимальный размер тома – 256 зебибайт, размер одного файла – 16 эксбибайт.

OCFS2 (Oracle Cluster Filesystem 2)

Кластерная журналируемая файловая система, разработанная компанией Oracle, фокусируется на требованиях систем хранения, использующих базы данных. Одновременно устанавливается на нескольких серверах. Обязательное условие работы системы – наличие общего диска (хранилища), например, внешнего RAID массива или устройства SAN, чтобы серверам обеспечивался прямой доступ к этому диску на уровне блоков. Доступ к диску осуществляется при помощи протоколов SCSI, ISCSI, ATA и других.

Еще одна особенность файловой системы – распределённый менеджер блокировок (DLM – Distributed Lock Manager). Он предоставляет процессам доступ к файлам или их частям на чтение/запись, не допуская возможность перезаписи данных различными процессами.

OCFS2 также поддерживает экстенты, что способствует рациональному использованию пространства. Осуществляется поддержка POSIX, 32-битные и 64-битные кодировки.

Максимальный размер файла совпадает с размером тома и составляет 4 петабайт. Блоки могут быть объемов: 4 КБ, 8 КБ, 16 КБ, 32 КБ, 64 КБ, 128 КБ, 256 КБ, 512 КБ и 1 МБ.

GFS2 (Google File System)

Была создана Google в 2000 году, изначально использовалась внутри компании. Общие принципы построения архитектуры файловой системы были опубликованы в 2003 году. Обновленная версия под названием Colossus вышла в 2009 году.

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

CEPH

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

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

Система может работать внутри файла, поверх блочных устройств или с использованием файловой системы, существующей на узле.

Размер хранилища может достигать сотен петабайт.

Lustre (Linux+cluster)

Файловая система, используемая для крупномасштабных кластерных вычислений, первый выпуск которой состоялся в 2001 году. Позволяет работать с десятками тысяч машин и представляет собой хранилище данных, объемы которого также исчисляются в десятках и сотнях петабайт.

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

О файловых системах и не только ведем речь на наших авторских курсах Linux!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *