Top.Mail.Ru
Экскурс в файловые системы: особенности и сферы применения | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Distribution of
Server Components
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

Экскурс в файловые системы: особенности и сферы применения

~ 17 мин
1735
Простой
Статьи
Экскурс в файловые системы: особенности и сферы применения

Изображение от rawpixel.com на Freepik

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

Содержание:


Что такое файловая система

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

В любой такой системе информация сохраняется в виде файлов, то есть обособленных областей данных, которые являются базовыми объектами взаимодействия с данными в ОС. Существует множество разновидностей файлов, но все их можно разделить на две большие категории – исполнительные и файлы данных. Первые представляют собой программы, выполняемые на ПК или другом оборудовании, а вторые служат для хранения баз данных или другой информации.

Файловая система по сути является прослойкой между физическим носителем данных и операционной системой. При этом физический диск разделяется на набор кластеров одинакового объема (от 512 байт). Файловая система формирует из кластеров файлы и каталоги. Каталоги также относятся к категории файлов, в них записывается информация об остальных файлах в конкретном каталоге. Также ФС отслеживает состояние кластеров, помечает те, в которые уже записана информация, свободные и неисправные.

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

При обращении к файлу любая программа «знает» информацию только о его наименовании, размере и некоторых свойствах (атрибутах). Остальные данные, такие как структура записи данных в файле она получает от файловой системы. При этом все данные о файлах сохраняются в особых областях - томах. Структура томов, правила их размещения и другие особенности работы с ними зависят от вида ФС.

upravlenie-diskami-windows-gde-vidny-razlichnye-fajlovye-sistemy-na-nakopitelyakh.png

Скриншот из “Управление дисками” Windows, где видны различные файловые системы на накопителях.

Основные функции файловых систем

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

Также она выполняет ряд других важных функций:

  • Упорядочивание записываемых файлов.
  • Точное определение количества данных, которые могут быть записаны (и постоянная актуализация этого параметра).
  • Формирование, считывание, стирание файлов.
  • Формирование структуры файлов.
  • Присвоение и изменение атрибутов файла, таких как время создания, правила доступа для чтения или изменения и множества других.
  • Ускорение поиска нужных программ или пользователю файлов.
  • Создание каталогов для логической организации размещения файлов.
  • Защита информации на носителе от несанкционированного доступа.
  • Предоставление различным объектам системы параметров файлов для обеспечения правильного взаимодействия между ними.

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

defragmentacziya-nakopitelya-na-baze-ntfs-sredstvami-windows.png

Дефрагментация накопителя на базе NTFS средствами Windows

Файловые системы в операционных системах

Любые современные ОС нуждаются в файловой системе для взаимодействия с накопителями. При этом зачастую каждая операционная система может взаимодействовать только с определенной файловой системой, уникальной именно для нее. В большинстве случаев они являются предустановленными, но в определенных ситуациях пользователь может настраивать разновидность файловой системы и часть ее параметров, например, размер кластера. Как правило, такие возможности появляются при форматировании диска или его раздела.

Сводная таблица совместимости файловых систем с операционными системами:

Наименование файловой системы Windows Linux MacOS
NTFS
REFS
FAT
exFAT
APFS
ZFS
XFS

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

Основной файловой системой для ОС Windows длительное время была созданная в далеком 1977 FAT, которая применяется и сейчас в версии FAT32 и ExFAT. Также операционные системы от Microsoft используют более совершенные, созданные гораздо позже NTFS и ReFS, хотя последняя пользуется существенно меньшей популярностью, а NTFS сейчас по сути является стандартом для «окон».

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

Эта ОС предлагает пользователям широкий выбор файловых систем, причем можно одновременно использовать несколько специализированных под решение конкретных задач и даже самостоятельно вносить изменения в них.
Главная особенность ФС в Linux – участие не только в работе с данными на носителях, но и в процессе передачи информации в оперативку и ряде других нетипичных задач. Основной для Linux является EXT различных версий, также применяются XFS, ZFS, ряд других, менее популярных.

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

В вычислительной технике от Apple используются уникальные файловые системы, разработанные исключительно для нее и не работающие на других ОС. Наиболее распространенной является APFS, которая применяется во всех линейках продукции компании. Она является наиболее продвинутой на данный момент системой от Apple, создана на основе HFS+, которая применялась в компьютерах бренда Macintosch.
Также существует Apple Xsan, разработанная для топовых серверных продуктов, и предоставляющая расширенные возможности и специализированные инструменты.

Основные файловые системы

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

NTFS

Что такое NTFS? Это стандартная файловая система Windows, которая используется практически повсеместно, на любом компьютере с этой ОС. Первая версия была выпущена в 1995 году для операционных систем на базе Windows NT. С ней работают и все актуальные версии Windows, в том числе 10 и 11.

NTFS была создана для устранения недостатков ранних файловых систем. Она обеспечила поддержку размера одного файла до 16 Тбайт, а объем раздела диска может составлять фантастические 16 эксабайт. Есть и встроенная система шифрования EFS, что позволяет гибко разграничивать доступ разных пользователей к данным. Еще одним важным преимуществом стала поддержка расширенных имен файлов, многоязычности и стандарта UTF. Есть в NTFS, и встроенная утилита проверки состояния накопителя – chkdisk, которая особенно полезна для владельцев классических HDD, получающих существенное повышение надежности, хотя и ценой небольшого снижения производительности.

Актуальные версии этой файловой системы предлагают поддержку TRIM, это команда, которая информирует SSD о наличии неиспользуемых данных, после ее получения они стираются и осуществляется подготовка к записи новой информации. Это позволяет постоянно поддерживать готовность SSD-диска к максимально быстрой работе.
У NTFS есть и ряд недостатков, основной – накапливающаяся со временем фрагментация файлов, что особенно критично при сохранении информации на HDD, так как такие диски отличаются низкой скоростью чтения мелкоблочных и сильно фрагментированных данных. Для ее устранения необходимо регулярно проводить дефрагментацию встроенными инструментами Windows или сторонними программами. Для SSD дисков и флэш накопителей эта проблема неактуальна, так как из-за особенностей их работы фрагментация на производительность почти не влияет.

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

disk-otformatirovannyj-v-formate-ntfs-v-ramkakh-zagruzochnogo-nakopitelya-windows.png

Диск отформатированный в формате NTFS в рамках загрузочного накопителя Windows

REFS

Это новейшая файловая система от Microsoft, которая используется в серверных ОС начиная с Windows Server 2012. Главное достоинство – предельно высокая отказоустойчивость. Этого удалось достичь за счет внедрения уникальных функций:

  1. CoW. Обеспечивает обязательное копирование метаданных при записи информации.
  2. Информация всегда записывается на «свежее» дисковое пространство, а не «поверх» записанных ранее файлов.
  3. При внесении изменений в метаданные, копия сохраняется в свободном объеме диска, после завершения сохранения внутренние инструменты ФС создают ссылку из предыдущей версии метаданных на новую.
Таким образом REFS позволяет существенно повысить надежность сохранения информации в сочетании с простым и легким восстановлением даже после очень серьезных сбоев работы накопителей. Для обычных ПК возможности REFS избыточны и маловостребованы, кроме того функция CoW и ряд других особенностей архитектуры системы могут негативно сказываться на общей производительности накопителя, поэтому в обычных ПК файловая система не нашла применения.

vozmozhnost-formatirovaniya-nakopitelya-v-rezhime-refs-na-windows-server-2019.png

Возможность форматирования накопителя в режиме REFS на Windows Server 2019

FAT и exFAT

FAT – это одна из первых файловых систем, появившаяся еще во времена MS-DOS, причем она до сих пор находит применение, в основном ее используют для хранения данных в флэш-накопителях. Самая совершенная версия на данный момент – ExFat, но наиболее распространенной является FAT32, которая является неофициальным отраслевым стандартом и по умолчанию используется, например, для форматирования любых флэшек.

К достоинствам FAT можно отнести:

  • Простоту. Что такое FAT? По сути это таблица размещения файлов на диске, которая позволяет отслеживать их расположение. Поэтому нет необходимости выделять серьезные вычислительные ресурсы для работы системы. Именно поэтому FAT до сих пор применяется и особенно популярна на устройствах с ограниченными вычислительными ресурсами, такими как флэш-накопители.
  • Возможности восстановления данных. Из-за особенности архитектуры этой системы, процесс восстановления информации после сбоев достаточно прост и большую часть утерянных данных можно успешно восстановить.
  • Совместимость. Система является базовой для многих версий ОС от разных компаний, даже максимально закрытой MacOS, так как для ее использования нет необходимости в дополнительном программном обеспечении.
Несмотря на множество до сих пор актуальных достоинств системы FAT, у нее есть несколько серьезных недостатков. Например, FAT32 поддерживает файлы размером не больше 4 Гбайт, а объем дискового раздела не может увеличиваться более 8 Тбайт. Также все версии FAT сильно подвержены фрагментации и не поддерживают расширенные функции, например, ведение журнала или шифрование.

oshibka-peremeshheniya-fajla-obemom-prevyshayushhim-4gb-na-nakopitel-s-fs-fat32.png

Ошибка перемещения файла объемом превышающим 4Gb на накопитель с ФС FAT32

Для устранения части недостатков компания Microsoft разработала улучшенную версию системы FAT32 – exFAT. В своей основе обе системы очень похожи, но exFAT практически снимает ограничения на размер файлов, также она радикально снижает количество перезаписей секторов накопителя, что особенно важно для экономии ресурса ячеек SSD-дисков и флэшек. При этом все также не требуется дополнительное ПО для работы exFAT, что обеспечило широчайшую совместимость практически со всеми актуальными ОС.

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

fajly-obemom-svyshe-4gb-bez-problem-zapisyvayutsya-na-exfat-nakopiteli.png

Файлы объемом свыше 4GB без проблем записываются на exFAT накопители

EXT4

Эта файловая система специфична для ОС Linux и является доработанной версией EXT3. Как и третья версия, четвертая поддерживает журналирование, а основные доработки коснулись самой структуры хранения данных.

К основным особенностям этой системы относят:

  • Колоссальный размер файловой системы и файлов. EXT4 обеспечивает полную поддержку файлов размером до 16 тебибайт (двойка в 44-й степени), а размер раздела диска может составлять до 1 эксбибайта (двойка в 60-й степени).
  • Механизм протяженной записи файлов. Позволяет существенно снизить степень фрагментации и повысить общую производительность при использовании системы хранения данных на основе HDD.
  • Групповая запись блоков. Эта функция позволяет отложить непосредственную запись, чтобы записывать данные не поблочно, а сразу группами блоков. Это дополнительно повышает скорость работы дисковой подсистемы и снижает степень фрагментации, но создает риск потери данных при внезапных сбоях питания, так как информация до момента записи хранится в ОЗУ.
Несмотря на все достоинства EXT4, она все же подвержена фрагментации, поэтому требует периодической дефрагментации, хотя и реже, в сравнении с другими файловыми системами.
Сейчас поддержка EXT4 реализована во всех актуальных дистрибутивах Linux, ОС Windows эту систему не поддерживают, но существуют сторонние утилиты, которые позволяют работать с дисками на EXT4 из среды Windows.

rezultat-vyvoda-komandy-df--th-na-baze-red-hat-enterprise-linux.png

Результат вывода команды df -Th на базе Red Hat Enterprise Linux. Видно что файлы системы расположены сразу на ETX4, XFS и vFAT

Apple File System (APFS)

Эта файловая система создана исключительно для работы с техникой Apple и не поддерживается другими устройствами. Является апгрейдом HFS+, которая была доработана специалистами «яблочной компании», новая версия и получила название APFS, ее официальный релиз состоялся в 2017 году.

Основным преимуществом системы APFS является повышенная производительность, этого удалось добиться за счет внедрения функции CoW, оптимизации обработки метаданных и ряда других доработок, позволивших значительно увеличить скорость записи и чтения данных.

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

Главным недостатком этой файловой системы является ограниченная поддержка, ведь она полноценно работает только в экосистеме Apple. Нужно отметить и недостаточно эффективную работу команды TRIM. Хотя ее поддержка в APFS реализована, был использован неоптимальный алгоритм работы этой команды, со временем проблема была устранена, но в старых версиях ОС от Apple она может сохраняться.

fajlovaya-sistema-apfs-razvernutaya-na-ssd-256gb-apple-macbook.png

Файловая система APFS развернутая на SSD 256GB Apple Macbook

ZFS

Это одна из самых продвинутых файловых систем из существующих на сегодняшний день. Работу с ней поддерживают операционные системы Linux и FreeBSD. К особенностям этой ZFS можно отнести:

  • Пул хранения. Это особая концепция организации работы, которая позволяет объединять несколько физических дисков в единый логический пул. Таким образом повышается гибкость настройки, упрощается управление потоками информации.
  • CoW. Это обеспечивает защиту от потери данных, так как предыдущая версия данных не перезаписывается.
  • Снапшоты. Это одна из уникальных функций ZFS, которая работает за счет использования CoW. Она отвечает за создание регулярных «снимков» состояния файловой системы, что позволяет детально отслеживать вносимые изменения и при необходимости быстро сделать откат к предыдущему снимку, сделанному до внесения изменений, спровоцировавших сбой или повреждение данных. При этом изменения, внесенные после того как сделан снимок будут потеряны.
  • RAID-Z. В ZFS интегрирован инструментарий для создания RAID-массивов, который позволяет формировать их без использования сторонних приложений и драйверов. Но функционал достаточно ограничен и по сути является доработанной версией RAID-5, другие варианты создания массивов не поддерживаются.
  • Безграничное хранилище. На момент создания ZFS была единственной в мире 128-битной ФС. Это означает, что потенциальная емкость настолько велика, что достичь ее на практике в обозримом историческом будущем не выйдет.
ZFS является мощной и очень продвинутой файловой системой, но наличие большого количества возможностей создает сложности с ее настройкой и использованием. Также ее поддержка достаточно сильно ограничена. Поэтому чаще всего ее используют в серверах, NAS или серверах виртуализации.

diskovyj-pul-na-baze-zfs-iz-odnogo-diska-vdev.png

Дисковый пул на базе ZFS из одного диска vdev

XFS

Это одна из популярных ФС для ОС Linux, которая продолжает сохранять свои позиции несмотря на солидный возраст (релиз состоялся в 1994 году). В число достоинств входят:
  1. Высокая производительность. XFS оптимизирована для эффективной работы с big data и обеспечивает высокую скорость ввода-вывода, особенно эффективно справляется с большими объемами параллельных операций.
  2. Журналирование. Обеспечивает дополнительную защиту от потери данных при сбоях.
  3. Поддержка крупных файлов. Это 64-битная файловая система, которая обеспечивает поддержку файлов до 8 эксабайт, а общий объем раздела может составлять до 16 эксабайт.
  4. Продвинутая дефрагментация. XFS оснащена продвинутыми инструментами для дефрагментации «на лету», а также проведения процедуры в онлайн режиме.
Главный недостаток XFS – невозможность уменьшения уже сформированной файловой системы, это нужно учитывать при разбивке диска. Также достаточно сложен процесс настройки, могут возникнуть сложности с восстановлением утерянных данных. Нужно отметить и повышенную вероятность потери информации при неполадках с электропитанием. Это связано с многоуровневой буферизацией, которая активно использует энергозависимую память.

Вывод

Файловая система – неотъемлемая часть практически любого электронного устройства. На протяжение многих лет развития индустрии были созданы самые разнообразные варианты этой технологии.

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

При выборе подходящей файловой системы и ОС для нее, нужно в первую очередь исходить из стоящих перед ПК, сервером или другим устройством задач. Например, для работы в среде Linux одним из оптимальных вариантов будет EXT4, а для производительных серверов с высоким параллелизмом нагрузок лучшей будет XFS.
Автор: Serverflow Serverflow
Поделиться

Комментарии 0

Написать комментарий
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-19:00 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-19:00 (по МСК)