Типы файловой системы: Типы файловых систем, их предназначение и отличия – База знаний Timeweb Community

Содержание

Типы файловых систем — в чем разница между FAT32, NTFS и exFAT

Должно быть, вы уже неоднократно слышали о таких файловых системах, как FAT32, NTFS и exFAT. Но в чем же между ними разница? Каждый тип обладает своим собственным набором плюсов и минусов. Именно поэтому нет единого варианта. В этой статье мы разберем основные отличия трех файловых систем.

Говоря об операционной системе Windows, мы точно знаем, что она устанавливается только на логический раздел формата NTFS. Съемные накопители и другие устройства хранения, основанные на USB-интерфейсе, используют тип FAT32.

Одним из форматов, которые можно использовать для форматирования Flash-накопителей, является exFAT — преемник старой файловой системы FAT32.

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


Содержание статьи:


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

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

Это может быть жесткий диск, Flash-накопитель или SD-карта.

Для большего понимания, приведем как пример офис обычной компании. Фрагменты установленных документов хранятся в определенном месте, допустим, в ящике стола. И при необходимости открыть их, файловая система обращается к файлам в попытке считать информацию.

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

На самом деле существует большое количество файловых систем, например Flash File System, Tape File System и Disk File System, однако мы остановимся только на основных —

FAT32, NTFS и exFAT.

Что такое FAT32

Файловая система FAT32 является самой старой и опытной в истории компьютерных технологий. Ее путь начался с оригинальной 8-битной системы FAT в 1977 году, которая функционировала внутри автономного диска Microsoft Standalone Disk Basic-80. Он был запущен специально для Intel 8080 NCR 7200 в 1977/1978 году, работая терминалом ввода данных с 8-дюймовыми гибкими дисками.

После обсуждений о введении системы с учредителем Microsoft Биллом Гейтсом, код был написан первым наемным сотрудником компании Марком Макдональдом.

Основной задачей файловой системы FAT была работа с данными в операционной системе Microsoft 8080/Z80 на базе платформы MDOS/MIDAS, написанной Марком Макдональдом.

В дальнейшем FAT претерпела некоторые изменения, постепенно переходя от своего первоначального вида к FAT12, FAT16 и, наконец, FAT32, название которой теперь тесно ассоциируется с внешними накопителями.

Основным отличием FAT32 от ее предшественников является преодоление ограниченного объема доступной для хранения информации. 32-разрядная система была выпущена в августе 1995 года вместе с релизом Windows 95 и в своем обновленном варианте позволила увеличить верхние пределы размера файлов и хранилища данных до 4 Гб и 16 Тб.

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

Резюмируя, система FAT32 идеально подойдет для хранения данных, объем которых не превышает 4 Гб, на любых съемных носителях. Ее популярность не ограничивается только компьютерной сферой. Она используется в игровых консолях, телевизорах с высокой четкостью изображения, DVD-проигрывателях, Blu-Ray плеерах и любых других устройствах с USB-портом. FAT32 поддерживают все версии Windows, Linux и MacOS.

Что такое NTFS

В 1993 году компания Microsoft представила новую файловую систему NTFS (New Technology File System) параллельно с появление операционной системы Windows NT 3.1.

Главной особенностью системы NTFS является отсутствие каких-либо ограничений на размеры загружаемых файлов. Даже в случае попытки превзойти этот лимит, мы бы потерпели неудачу — настолько он велик.

Разработка началась в середине 1980-х годов в период сотрудничества Microsoft и IBM, целью которого было создание новой операционной системы, превосходящей предыдущие по графической производительности.

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

Для компьютерных технологий 1989 год ознаменовался созданием HPFS от IBM, которая использовалась для операционной системы OS/2. Несколькими годами позже, в 1993, компания Microsoft запустила NTFS v1.0, которая стала официальной файловой системой для Windows NT 3.1.

Теоретический размер файла NTFS — 16 Эб — 1 Кб, что составляет 18 446 744 073 709 550 502 байта. В команду разработчиков входили Том Миллер, Гарри Кимуру, Брайан Эндрю, Девид Гебель.

Следующей версией файловой системы стала NTFS v3.1, запущенная специально для Microsoft Windows XP. В дальнейшем она не претерпевала особых изменений, хотя в нее и было внесено множество различных дополнений. Например, появилась возможность сжатия логических разделов, восстановление и символические ссылки NTFS. Кроме того начальная емкость файловой системы составляла всего 256 Мб из колоссальных 16 Эб — 1 Кб в новых версиях, запущенных с выходом Windows 8.

Говоря о полезных функциях, внедренных в NTFS v3.1, можно отметить расширение поддерживаемых форматов файлов, квоты использования диска, шифрование файлов и создание точек повторной обработки. Примечательным является тот факт, что новые версии NTFS полностью совместимы с предыдущими.

Файловая система NTFS имеет важную особенность, когда дело доходит до ее восстановления, вследствие каких-либо повреждений. Она содержит в себе определенную структуру данных, которая отслеживает любые изменения в системе и с помощью которой всегда можно вернуть работоспособность NTFS.

Данная файловая система поддерживается всеми версиями Windows, начиная с Windows XP. К сожалению, MacOS не разделяет стремление к совместимости, продвигаемое Microsoft. Apple оставили для пользователей возможность чтения данных с дисков NTFS, однако записывать на них не получится. Поддержка данной файловой системы от Linux ограничивается лишь несколькими ее версиями.

Что такое exFAT

ExFAT (Extended FAT) — новая, расширенная файловая система от Microsoft, которая с успехом заменяет своего предшественника на поле, когда дело доходит до больших объемов информации.

Как вы наверняка знаете, большинство современных цифровых фотокамер используют систему exFAT, поскольку она существенно легче NTFS, но, в то же время, позволяет сохранять файлы размером более 4 Гб, в отличие от FAT32.

Таким образом, копируя на Flash-накопитель с файловой системой exFAT документ размером 6 Гб, вы не столкнетесь с негативными последствиями, которые можно наблюдать, используя предшествующую версию системы.

Формат exFAT набирает все большую популярность и используется преимущественно с высокоемкими картами памяти SDXC. Основной причиной тому является небольшой размер файловой системы и, как ранее описывалось, возможность сохранять документы объемом более 4 Гб.

Интересным будет факт, что Microsoft хранит патент США 8321439, позволяющий быстро найти файл при помощи хэша имени. Благодаря данной функции, любой документ можно найти в разы быстрее.

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

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

Поскольку Microsoft неизменны в своем упрямстве, многие пользователи занялись созданием собственными модификациями exFAT, одной из которых стала

exfat-fuse. Она обеспечивает операции чтения и записи для дистрибутивов Linux, включая FreeBSD.

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

ExFAT поддерживает функции чтения, записи и совместима с операционными системами Mac, Android и Windows. Для Linux понадобится вспомогательное программное обеспечение.

Сравнение файловых систем


FAT32:


  • Совместимость: Windows, MacOS, Linux, игровые консоли и устройства с USB-портом.
  • Плюсы: кросс-платформенная совместимость, легкая файловая система.
  • Минусы: ограничения в размерах файлов (доступны документы до 4 Гб) и размеры разделов до 16 Тб.
  • Назначение: съемные накопители. Используется для форматирования Flash-накопителей, однако exFAT предпочтительнее.

NTFS:


  • Совместимость: Windows, MacOS (доступно только чтение), Linux (только чтение для некоторых дистрибутивов), Xbox One.
  • Плюсы: отсутствие ограничений по размеру файлов и разделов.
  • Минусы: ограниченная межплатформенная совместимость.
  • Назначение: хорошо подходит для внутренних жестких дисков, поскольку позволяет хранить информацию большого объема, справиться с которым другие файловые системы не смогут.

exFAT:


  • Совместимость: Windows XP и более поздние версии, MacOS 10.6.5 и выше, Linux (с использованием FUSE), Android.
  • Плюсы: имеет общие положительные эффекты от FAT32 и NTFS, которые включают в себя возможность хранения файлов, размером свыше 4 Гб.
  • Минусы: Microsoft ограничивают использование лицензии.
  • Назначение: позволяет исключить ограничения по размеру файлов для съемных накопителей. Гораздо предпочтительнее своего предшественника FAT32.

В случае необходимости восстановить логический раздел с неизвестной, поврежденной или удаленной файловой системой — вам помогут инструменты Starus Recovery.

Инструмент Starus Partition Recovery, или его аналоги, Starus FAT Recovery, Starus NTFS Recovery, предназначены для работы с определенными файловыми системами — FAT и NTFS. Основной софт способен взаимодействовать с обоими. Cкачать и опробовать программы для восстановления файловых систем FAT32 и NTFS можно совершенно бесплатно!

 


Похожие статьи про восстановление данных:


Дата:

Теги: Диск, Логический раздел, Форматирование

Структура и типы файловых систем в Linux

T-Rex

Тираннозавр Рекс

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

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

Файловые системы в операционной системе Linux. Базовые понятия

ОС Linux предоставляет выбор еще на стадии установки: в ядро системы встроены разные файловые системы (ФС). При этом пользователь должен выбрать ту, что отвечает его требованиям и задачам. Перед теми, кто использует Windows, такой вопрос не стоит — эту ОС можно установить только на NTFS. Отличается от Windows и иерархическое устройство самих ФС, и структура каталогов.

Linux поддерживает деление жесткого диска на разделы. Для подсчета и определения физических границ используется специальная таблица разделов — GPT или MBR. Она содержит метку и номер раздела, а также адреса физического расположения точек начала и конца раздела.

Организация файловой системы Linux

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

От выбора файловой системы зависят:

  • скорость работы с файлами;
  • их сохранность;
  • скорость записи;
  • размер файлов.

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

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

ФС Linux — пространство раздела, поделенное на блоки определенного размера. Он определяется кратностью размеру сектора. Соответственно, это могут быть 1024, 2048, 4096 или 8120 байт. Важно помнить, что размер каждого блока известен изначально, ограничен максимальным размером ФС и зависит от требований, которые выдвигает пользователь к каждому из блоков.

Для обмена данными существует сразу два способа. Первый из них — виртуальная файловая система (VFS). С помощью данного типа ФС происходит совместная работа ядра и приложений, установленных в системе. VFS позволяет пользователю работать, не учитывая особенности каждой конкретной ФС. Второй способ — драйверы файловых систем. Именно они отвечают за связь между «железом» и софтом.

Список файловых систем, которые поддерживаются ядром, находится в файле /proc/filesystems:

[email protected]:~$ cat /proc/filesystems 
 nodev    sysfs
 nodev    rootfs
 nodev    ramfs
 nodev    bdev
 nodev    proc
 nodev    cpuset
 nodev    cgroup
 nodev    cgroup2
 nodev    tmpfs
 nodev    devtmpfs
 nodev    debugfs
 nodev    tracefs
 nodev    securityfs
 nodev    sockfs
 nodev    bpf
 nodev    pipefs
 nodev    hugetlbfs
 nodev    devpts
     ext3
     ext2
     ext4
     squashfs
     vfat
 nodev    ecryptfs
     fuseblk
 nodev    fuse
 nodev    fusectl
 nodev    pstore
 nodev    mqueue
 nodev    autofs

Структура и иерархия файловой системы.

Структура каталога

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

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

Типы файлов условно можно разделить на несколько групп. Некоторые из них такие же, как и в ОС Windows, — текстовые документы, медиа и изображения. Отличия начинаются с каталогов, которые являются отдельным типом файлов. Жесткие диски относят к блочным устройствам. Принтеры — к символьным. Отдельную группу составляют символические ссылки, о которых речь пойдет ниже. К типам файлов относится каналы межпроцессного взаимодействия — PIPE (FIFO), а также гнезда (разъемы центрального процессора).

Тип файла определяется с помощью команды ls (параметр -l).

Структура каталогов в Linux

В ФС каждый файл определяется конкретным индексом — Inode (от англ. index node — «индексный дескриптор»). Но при этом один файл (речь о физическом размещении) может иметь сразу несколько имен (или путей). И если в структуре ФС файлы будут отличаться, то на жестком диске им может соответствовать один файл. Это означает, что ФС Linux перекрестно-иерархична, а ветви дерева могут пересекаться.

Корневой раздел в Linux один — «/» (root, «корень)». Разделы называются подкаталогами, примонтированными к соответствующим каталогам. Типовая структура каталогов (первых двух уровней), примонтированных к корневому каталогу Linux для сервера, представленного компанией Selectel, выглядит так:

.
├── bin -> usr/bin
├── boot
│   ├── grub
│   └── lost+found
├── dev
│   ├── block
│   └── ...
├── etc
│   ├── ...
│   ├── update-manager
│   ├── update-motd. d
│   └── xdg
├── home
├── lib -> usr/lib
├── lib32 -> usr/lib32
├── lib64 -> usr/lib64
├── libx32 -> usr/libx32
├── lost+found
├── media
├── mnt
├── opt
├── proc
│   ├── ...
│   └── tty
├── root
├── run
│   └── ...
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
│   └── ...
├── usr
└── var

При монтировании происходит ассоциирование каталога с устройством, содержащим ФС (драйвер). Соответствующая ссылка на устройство передается драйверу. Именно он и определяет ФС. Если процедура завершается успешно, ядро заносит информацию (каким драйвером обслуживаются и где расположены файлы и каталоги) в таблицу монтирования. Она находится в файле /proc/mounts.

Данные о каждом файле содержит Inode — специфичный для UNIX-систем индексный дескриптор, хранящий различную метаинформацию (владелец файла, последнее время обращения, размер и так далее).

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

Еще одна особенность Linux: существование сразу двух типов ссылок. Во-первых, жесткая ссылка (Hard-Link), которая представляет собой один из путей файла (команда ls -li). Во-вторых, символьная ссылка (Symbolic link) — это файл UNIX с текстовой строкой с путем к оригинальному файлу.

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

При загрузке ядро автоматически монтирует разделы после того, как корень уже примонтирован на чтение. Информацию ядро считывает из конфигурации /etc/fstab. Содержимое файла /etc/fstab с информацией о порядке монтирования разделов файловой системы на примере сервера Selectel:

В соответствии с этим файлом сначала монтируется корневой каталог / из раздела /dev/mapper/vg0-root / с файловой системой ext4. Потом каталог, на котором находится загрузчик /boot, из раздела с длинным именем UUID=196a5b2c-8d6b-4970-a9c8-4579ab46e220. И отдельно монтируется swap (иногда его называют разделом подкачки), но в структуре он не отображается.

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

Команды для работы с файлами в Linux

КомандаЧто делает
lsПросматривает содержимое
текущего каталога
touch file_name Создает файл file_name
mkdir directory_name Создает директорию directory_name
cat file_name Показывает содержимое файла
file_name в терминале
less file_nameОбеспечивает просмотр файла
с помощью скроллинга
rm file_name Удаляет файл file_name
rm -rУдаляет рекурсивно все файлы
из директории
rmdir directoryУдаляет папку directory, которая
находится в текущей папке
ln -s /home/user/directory_name/ /home/user/test/Создает жесткие и символические
ссылки на файлы или папки. Для
создания символической
ссылки используется опция -s
pwdВыводит каталога, в котором
находится пользователь
which programВыводит каталог, в котором
установлена программа
mcЗапускает полнофункциональный
файловый менеджер
с псевдографическим
интерфейсом на основе ncurses.
Требуется установка mc в Ubuntu
cd directory_nameПереходит в директорию
directory_name
cp file_name directory_name Копирует file_name в директорию
directory_name
nanoИнициирует запуск простейшего
текстового редактора командной
строки Linux
mv file_name directory_nameПеремещает file_name в директорию
directory_name
mv old_name new_nameПереименовывает файл/директориюold_name в new_name
locate file_nameВыполняет быстрый поиск файла
chmod 644 file_nameИзменяет права доступа к файлу или каталогу

Типы файловых систем Linux.

Какая из файловых систем используется ядром Linux

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

Список основных файловых систем:

  • Ext2;
  • Ext3;
  • Ext4;
  • JFS;
  • ReiserFS;
  • XFS;
  • Btrfs;
  • ZFS.

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

Ext2, Ext3, Ext4


Первая группа ФС — Extended Filesystem (Ext2, Ext3, Ext4) — является стандартом для Linux. Как следствие, это самые распространенные системы. Они редко обновляются, но зато стабильны. Ext2 создавалась специально под Linux (изначально Extended Filesystem делали еще под Minix).

Эта группа ФС поддерживает наибольшее количество доступных функций из всех, предложенных на рынке. Ext3 (2001 г.) стала еще более стабильной, чем ее предшественница, за счет использования журналирования, а версия Ext3 (2006 г.) популярна и среди современных пользователей. Среди улучшений: увеличение максимального размера раздела до 1 Эксабайта.

Два типа файловых систем

Журналируемые — данный тип ФС сохраняет историю действий пользователя, а также план проверки системы в специальном файле. Особенности: устойчивость к сбоям и сохранение целостности информации.

Не журналируемые — не предусматривают хранение логов. Особенности: работают быстрее, но не гарантируют сохранность данных.

Чтобы узнать тип ФС, существует команда file -s.

JFS

Журналируемая ФС — первая альтернатива для ФС группы Ext. Ее разработали в IBM специально для операционной системы AIX UNIX. Главные плюсы этой системы: стабильность и минимальные требования для работы. Разработчики JFS ставили перед собой цель создать ФС, которая бы эффективно работала на многопроцессорных компьютерах. Кроме того, эта система также относится к журналируемым ФС. Но есть и очевидные недостатки. Если случится непредвиденный сбой в работе системы, ФС может использовать версии файлов, которые уже устарели. Причина заключается в том, что журнал сохраняет только метаданные.

ReiserFS

Эта ФС разработана под руководством Ганса Райзера и названа в честь него. Подходит исключительно под Linux, чаще всего ее используют в качестве возможной замены Ext3. Главные особенности: увеличенная производительность и более широкие возможности. Изменяющийся размер блока дает пользователю возможность объединять небольшие файлы в один блок, таким образом удается избежать фрагментации и повысить качество работы ФС в целом. Размер разделов можно менять прямо в процессе работы, однако эта ФС может показать нестабильные результаты и потерять данные, например, при отключении энергии.

XFS

Еще одна журналируемая ФС. Однако, в отличие от аналогов, в логи записывает исключительно те изменения, которые претерпевают метаданные. Разработана для ОС в Silicon Graphics. Важные особенности: быстро работает с файлами сравнительно большого размера, умеет выделять место в отложенном режиме, а также менять размеры разделов в процессе работы. Часто встречается в дистрибутивах на основе Red Hat. Минусы: нельзя уменьшить размер разделов, сложно восстанавливать данные и можно потерять информацию при отключении питания.

Btrfs

Современная ФС, главной особенностью которой является высокая отказоустойчивость. Из дополнительных «бонусов»: удобна для сисадминов и поддерживает сравнительно простой процесс восстановления данных. Поддерживает подтома, разрешает менять размеры разделов в динамическом режиме и позволяет делать снапшоты. Отличается высокой производительность. Применяется как ФС, установленная по умолчанию, в OpenSUSE и SUSE Linux. Главный минус — нестабильность (нарушена обратная совместимость, сложная для поддержки и так далее).

F2FS

Flash-Friendly File System входит в состав ядра ОС Linux и предназначена для использования с хранилищем на основе флеш-памяти. Разработчик — корпорация Samsung. F2FS разбивает носитель на части, которые снова делятся, и так далее. Эти миниатюрные зоны используются вместо повторного использования одних и тех же размеченных участков.

OpenZFS

OpenZFS — ветвь ZFS, о которой мы пишем ниже). Разработчик — компания Sun для ОС Solaris. В 2016 году Ubuntu включила ее поддержку по умолчанию. Главные плюсы: защита от повреждения данных, поддержка больших файлов и автоматическое восстановление.

Традиционные для Windows ФС NTFS, FAT, HFS применяются в Linux, но пользователь не сможет установить в такие разделы корень, поскольку структура этих ФС для этого не приспособлена.

Специальные файловые системы

Для решения задач, связанных с предоставлением доступа пользователю или программам к настройкам ядру ОС, используются так называемые специальные файловые системы. Ядро использует несколько типов специальных ФС:

  • tmpfs — записывает файлы в ОП. Для этого создается блочное устройство определенного объема, после чего оно подключается к папке.
  • procfs — хранит данные о системных процессах и ядре.
  • sysfs — изменяет настройки ядра ОС.

Виртуальные файловые системы: EncFS, Aufs, NFS и ZFS

Если пользователю необходимо решить задачи, которые не требуют непременного наличия ФС в ядре, применяется модуль FUSE (filesystem in userspace). Он создает ФС в пространстве пользователя. Виртуальные ФС, как правило, поддерживают шифрование и сетевое администрирование. Сегодня на рынке существует целый спектр виртуальных ФС для ряда задач:

  • EncFS — шифрует файлы, а затем выполняет сохранение зашифрованных файлов в необходимую пользователю директорию.
  • Aufs (AnotherUnionFS) — объединяет несколько ФС (то же самое может делать с папками) в одну.
  • NFS (Network Filesystem) — выполняет монтирование ФС удаленно.
  • ZFS (Zettabyte File System) — ФС, созданная для ОС Solaris. Главные плюсы: отсутствие фрагментации, управление снапшотами и пулами хранения, изменяющийся размер блоков. Используется посредством FUSE.

Что такое файловая система, их виды и назначение?

Подробности
апреля 29, 2018
Просмотров: 14929

 

Содержание:

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

В этой статье представлено подробное описание того, как информация хранится на устройстве хранения.

 

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

Любой компьютерный файл хранится в хранилище с заданной емкостью. Фактически, каждое хранилище представляет собой линейное пространство для чтения или считывания и записи цифровой информации. Каждый байт информации в хранилище имеет свое собственное смещение от начала хранения (адрес) и ссылается на этот адрес. Хранилище может быть представлено в виде сетки с набором пронумерованных ячеек (каждая ячейка представляет собой один байт). Любой файл, который сохраняется в хранилище, получает эти ячейки.

Как правило, в компьютерных хранилищах используется пара секторов и смещение в секторе для ссылки на любой байт информации в хранилище. Сектор представляет собой группу байтов (обычно 512 байт), минимальную адресуемую единицу физического хранилища. Например, 1040 байт на жестком диске будет упоминаться как сектор № 3 и смещение в секторе 16 байт ([сектор — 512] + [сектор — 512] + [16 байт]). Эта схема применяется для оптимизации адресации хранилища и использования меньшего числа для ссылки на любую часть информации в хранилище.

Чтобы опустить вторую часть адреса (смещение в секторе), файлы обычно хранятся, начиная с начала сектора и занимая целые сектора (например, 10-байтовый файл занимает весь сектор, 512-байтовый файл также занимает весь сектор, в то же время 514-байтовый файл занимает два целых сектора).

Каждый файл хранится в «неиспользуемых» секторах и может быть прочитан по известному положению и размеру. Однако, как мы узнаем, какие сектора используются, а какие нет? Где хранятся размер, положение и имя файла? Эти ответы даются файловой системой.

В целом файловая система представляет собой структурированное представление данных и набор метаданных, описывающих сохраненные данные. Файловая система служит для хранения всего хранилища, а также является частью изолированного сегмента хранения — раздела диска. Обычно файловая система управляет блоками, а не секторами. Блоки файловой системы представляют собой группы секторов, которые оптимизируют адресацию хранилища. Современные файловые системы обычно используют размеры блоков от 1 до 128 секторов (512-65536 байт). Файлы обычно хранятся в начале блока и занимают целые блоки.

Огромные операции записи / удаления в файловой системе приводят к фрагментации файловой системы. Таким образом, файлы не сохраняются как целые единицы, а делятся на фрагменты. Например, хранилище целиком занимают файлы размером около 4 блоков (например, коллекция изображений). Пользователь хочет сохранить файл, который займет 8 блоков и, следовательно, удалит первый и последний файлы. Делая это, он очищает пространство на 8 блоков, однако первый сегмент близок к началу хранения, а второй — к концу хранилища. В этом случае файл с 8 блоками разбивается на две части (по 4 блока для каждой части) и занимает «дыры» свободного пространства. Информация об обоих фрагментах как части одного файла хранится в файловой системе.

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

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

 

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

ОС Microsoft Windows использует две основные файловые системы: FAT, унаследованные от старой DOS с ее более поздним расширением FAT32 и широко используемыми файловыми системами NTFS. Недавно выпущенная файловая система ReFS была разработана Microsoft как файловая система нового поколения для серверов Windows 8, 10.

 

FAT:

FAT (таблица распределения файлов ) — один из простейших типов файловых систем. Он состоит из сектора дескриптора файловой системы (загрузочного сектора или суперблока), таблицы распределения блоков файловой системы (называемой таблицей распределения файлов) и простого пространства для хранения файлов и папок. Файлы в FAT хранятся в каталогах. Каждый каталог представляет собой массив из 32-байтных записей, каждый из которых определяет файлы или расширенные атрибуты файла (например, длинное имя файла). Запись файла присваивает первый блок файла. Любой следующий блок можно найти через таблицу распределения блоков, используя его как связанный список.

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

Числа в FAT12, FAT16, FAT32 обозначают количество бит, используемых для перечисления блока файловой системы. Это означает, что FAT12 может использовать до 4096 различных ссылок на блоки, в то время как FAT16 и FAT32 могут использовать до 65536 и 4294967296 соответственно. Фактическое максимальное количество блоков еще меньше и зависит от реализации драйвера файловой системы.

FAT12 использовался для старых дискет. FAT16 (или просто FAT) и FAT32 широко используются для карт флэш-памяти и USB-флеш-накопителей. Система поддерживается мобильными телефонами, цифровыми камерами и другими портативными устройствами.

 

FAT или FAT32 — это файловая система, которая используется в Windows-совместимых внешних хранилищах или дисковых разделах с размером менее 2 ГБ (для FAT) или 32 ГБ (для FAT32). Windows не может создать файловую систему FAT32 более чем на 32 ГБ (однако Linux поддерживает FAT32 до 2 ТБ).

 

NTFS:

NTFS (новая технологическая файловая система) была представлена ​​в Windows NT и в настоящее время является основной файловой системой для Windows. Это файловая система по умолчанию для дисковых разделов и единственная файловая система, которая поддерживает разделы диска по 32 ГБ. Файловая система довольно расширяема и поддерживает многие свойства файла, включая контроль доступа, шифрование и т. д. Каждый файл в NTFS хранится в виде файлового дескриптора в таблице основных файлов и содержимом файла. Таблица главного файла содержит всю информацию о файле: размер, распределение, имя и т. д. В первом и последнем секторах файловой системы содержатся параметры файловой системы (загрузочная запись или суперблок). Эта файловая система использует 48 и 64-битные значения для ссылок на файлы, тем самым поддерживая дисковые хранилища с большой емкостью.

 

ReFS:

ReFS (Resilient File System) — последняя разработка Microsoft, доступная в настоящее время для серверов Windows 8 и 10. Архитектура файловой системы абсолютно отличается от других файловых систем Windows и в основном организована в виде B + -tree. ReFS обладает высокой устойчивостью к отказам из-за новых функций, включенных в систему, а именно, Copy-on-Write (CoW): никакие метаданные не изменяются без копирования; данные записываются на новое дисковое пространство, а не поверх существующих данных. При любых модификациях файлов новая копия метаданных хранится в свободном пространстве для хранения, а затем система создает ссылку из старых метаданных в более новую. Таким образом, система хранит значительное количество старых резервных копий в разных местах, обеспечивая легкое восстановление файлов, если это место для хранения не перезаписано.

Для получения информации о восстановлении данных из этих файловых систем посетите страницу «Шансы для восстановления».

 

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

Операционная система Apple MacOS применяет две файловые системы: HFS +, расширение к своей собственной файловой системе HFS, используемой на старых компьютерах Macintosh, и недавно выпущенную APFS.

Файловая система HFS + работает под управлением продуктов Apple, включая компьютеры Mac, iPod, а также продукты Apple X Server. В расширенных серверных продуктах также используется файловая система Apple Xsan, кластерная файловая система, созданная из файловых систем StorNext или CentraVision.

Эта файловая система хранит файлы и папки и информацию Finder о просмотре каталогов, положениях окна и т. д.

Для получения информации о восстановлении данных из этих файловых систем посетите страницу «Шансы для восстановления».

 

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

ОС Linux с открытым исходным кодом нацелена на внедрение, тестирование и использование различных концепций файловых систем.

Самые популярные файловые системы Linux:

  • Ext2, Ext3, Ext4 — «родная» файловая система Linux. Эта файловая система подпадает под активные разработки и улучшения. Файловая система Ext3 — это просто расширение Ext2, которое использует операции записи транзакций с журналом. Ext4 является дополнительной расширенной разработкой Ext3, с поддержкой оптимизированной информации о распределении файлов (экстентов) и расширенных атрибутов файлов. Эта файловая система часто используется как «корневая» файловая система для большинства установок Linux.
  • ReiserFS — альтернативная файловая система Linux для хранения огромного количества небольших файлов. Она имеет хорошие возможности поиска файлов и позволяет компактно распределять файлы, сохраняя хвосты файлов или небольшие файлы вместе с метаданными, чтобы не использовать большие блоки файловой системы для той же цели.
  • XFS — файловая система, созданная компанией SGI и первоначально использовавшаяся для серверов IRIX компании. Теперь спецификации XFS реализованы в Linux. Файловая система XFS имеет отличную производительность и широко используется для хранения файлов.
  • JFS — файловая система, разработанная IBM для мощных вычислительных систем компании. JFS1 обычно обозначает JFS, JFS2 — вторая версия. В настоящее время эта файловая система является с открытым исходным кодом и реализована в большинстве современных версий Linux.

Концепция «жесткой связи», используемая в таких операционных системах, делает большинство файловых систем Linux одинаковыми, поскольку имя файла не рассматривается как атрибут файла и скорее определяется как псевдоним для файла в определенном каталоге. Объект файла можно связать со многими местоположениями, даже размножаться из одного и того же каталога под разными именами. Это может привести к серьезным и даже непреодолимым трудностям при восстановлении имен файлов после удаления файлов или повреждения файловой системы.

Для получения информации о восстановлении данных из этих файловых систем посетите страницу «Шансы для восстановления».

 

Файловые системы BSD, Solaris, Unix

Наиболее распространенной файловой системой для этих операционных систем является UFS (Unix File System), также часто называемая FFS (Fast File System).

В настоящее время UFS (в разных версиях) поддерживается всеми операционными системами семейства Unix и является основной файловой системой ОС BSD и операционной системы Sun Solaris. Современные компьютерные технологии, как правило, реализуют замены для UFS в разных операционных системах (ZFS для Solaris, JFS и производных файловых систем для Unix и т. д.).

Для получения информации о восстановлении данных из этих файловых систем посетите страницу «Шансы для восстановления».

 

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

Кластерные файловые системы используются в компьютерных кластерных системах. Эти файловые системы поддерживают распределенное хранилище.

Распределенные файловые системы включают:

  • ZFS — «Zettabyte File System» — новая файловая система, разработанная для распределенных хранилищ Sun Solaris OS.
  • Apple Xsan — эволюция компании Apple в CentraVision и более поздних файловых системах StorNext.
  • VMFS — «Файловая система виртуальных машин», разработанная компанией VMware для своего VMware ESX Server.
  • GFS — Red Hat Linux «Глобальная файловая система».
  • JFS1 — оригинальный (устаревший) дизайн файловой системы IBM JFS, используемой в старых системах хранения AIX.

Общие свойства этих файловых систем включают поддержку распределенных хранилищ, расширяемость и модульность.

Для получения дополнительной информации о восстановлении данных из этих файловых систем посетите страницу «Шансы для восстановления».


Читайте также

 

 

 

 

ext, ext2, ext3, ext4, hpfs,

filesystems(5) типы файловых систем Linux: ext, ext2, ext3, ext4, hpfs,

ОПИСАНИЕ

Если, как обычно, файловая система proc смонтирована в /proc, то в файле /proc/filesystems можно найти список типов файловых систем, которые поддерживаются ядром; подробности смотрите в proc(5). Если вам требуется не поддерживаемая файловая система, то загрузите соответствующий модуль или пересоберите ядро.

Чтобы использовать файловую систему, её нужно смонтировать; смотрите mount(8).

Далее приводится краткое описание доступных или доступных ранее файловых систем в ядре Linux. Полное описание и все параметры и ограничения описаны в документации к ядру.

ext
Доработанное расширение файловой системы minix. Полностью вытеснена второй версией расширенной файловой системой (ext2) и была удалена из ядра (в 2.1.21).
ext2
Высокопроизводительная дисковая файловая система Linux для жёстких дисков, а также сменных носителей. Вторая версия расширенной файловой системы разрабатывалась как расширение расширенной файловой системы (ext). Смотрите ext2(5).
ext3
Журналируемая версия файловой системы ext2. Очень легко переключиться с ext3 обратно на работу с ext2. Смотрите ext3(5).
ext4
Обновлённая версия ext3, включающая существенное увеличение производительности и надёжности, размеров границ томов, файлов и каталогов. Смотрите ext4(5).
hpfs
Высокопроизводительная файловая система (High Performance Filesystem), используемая в OS/2. Данная файловая система доступна под Linux только для чтения из-за отсутствия документации.
iso9660
Файловая система для CD-ROM, соответствующая стандарту ISO 9660.
High Sierra
В Linux есть поддержка стандарта High Sierra, предшественника стандарта ISO 9660 для файловых систем CD-ROM. High Sierra автоматически распознается при включении в Linux поддержки файловой системы iso9660.
Rock Ridge
В Linux также есть поддержка записей System Use Sharing Protocol, которые определены в протоколе обмена Rock Ridge. Они используются для подробного описания файлов в файловой системе iso9660 для машин UNIX и предоставляют информацию о длинных именах файлов, UID/GID, правах доступа к файлам по стандарту POSIX и файлах устройств. Rock Ridge автоматически распознаётся при включении в Linux поддержки файловой системы iso9660.
JFS
Журналируемая файловая система, разработанная IBM, была добавлена в Linux начиная с ядра версии 2.4.24.
minix
Файловая система, использующаяся в операционной системе Minix, первая, на которой заработал Linux. Имеет несколько недостатков: максимальный размер раздела 64МБ, короткие имена файлов и одна временная метка. Осталась полезной для дискет и RAM-дисков.
msdos
Файловая система, используемая в DOS, Windows и на некоторых компьютерах с OS/2. Имена файлов в msdos не могут быть более 8 символов с необязательным расширением из 3 символов, отделённого точкой.
ncpfs
Сетевая файловая система, которая поддерживает протокол NCP, используемый в Novell NetWare.

Для использования ncpfs необходимы специальные программы, которые можно найти по адресу

nfs
Сетевая файловая система, используемая для доступа к дискам, расположенным на других компьютерах в сети.
ntfs
Замена для файловых систем Microsoft Window FAT (VFAT, FAT32). Улучшена надёжность, производительность и использование пространства и добавлены такие возможности как списки контроля, журналирование, шифрование и т.д.
proc
Ненастоящая файловая система, используется как интерфейс к структурам данных ядра вместо прямого чтения из /dev/kmem. В частности, её файлы не занимают пространство на диске. Смотрите proc(5).
Reiserfs
Журналируемая файловая система, разработанная Гансом Рейзером (Hans Reiser), была добавлена в Linux начиная с ядра версии 2.4.1.
smb
Сетевая файловая система, которая поддерживает протокол SMB, используемый в Windows for Workgroups, Windows NT и Lan Manager.

Для использования файловой системы smb необходима специальная программа mount, которую можно найти в пакете ksmbfs по адресу

sysv
Реализация файловой системы SystemV/Coherent для Linux. Поддерживает файловые системы из Xenix, SystemV/386 и Coherent.
umsdos
Расширенная файловая система DOS, используемая в Linux. Была добавлена поддержка длинных имён файлов, UID/GID, права доступа POSIX и специальные файлы (устройства, именованные каналы и т.д.) без ухудшения совместимости с DOS.
vfat
Расширенная файловая система DOS, используемая в Microsoft Windows95 и Windows NT. В vfat добавлена поддержка длинных имён файлов в файловую систему MSDOS.
XFS
Журналируемая файловая система, разработанная SGI, была добавлена в Linux начиная с ядра версии 2.4.20.
xiafs
Разработана и реализована как стабильная надёжная файловая система посредством расширения кода файловой системы Minix. Предоставляет основные часто запрашиваемые возможности без неоправданной сложности. Файловая система xiafs больше активно не разрабатывается или сопровождается. Была удалена из ядра 2.1.21.

8.1.2. Обзор различных типов файловых систем. Linux программирование в примерах

8.1.2. Обзор различных типов файловых систем

ЗАМЕЧАНИЕ. Обсуждение в данном разделе специфично для Linux. Однако, у многих современных систем Unix также есть сходные особенности. Мы рекомендуем вам изучить документацию своей системы.

Исторически V7 Unix поддерживал лишь один тип файловой системы; вспомогательные данные и организация каталогов каждого из разделов были структурированы одним и тем же способом. 4.1 BSD использовал файловую систему с такой же как у V7 структурой, но с размером блока 1024 байта вместо 512 байтов. 4.2 BSD ввело «файловую систему BSD», которая разительно изменила расположение индексов и данных на диске и дала возможность использовать гораздо большие размеры блоков. (В общем, использование больших протяженных блоков данных обеспечивает лучшую производительность, особенно для чтения файлов.)

Вплоть до 4.3 BSD и System V Release 2 в начале и середине 1980-х системы Unix продолжали поддерживать один тип файловой системы. Для переключения компьютера от одной файловой системы на другую[77] приходилось сначала резервировать каждую файловую систему на среду архивирования (9-дорожечную ленту), обновлять систему, а затем восстанавливать данные.

В середине 1980-х Sun Microsystems разработала архитектуру ядра, которая сделала возможным использование нескольких архитектур файловой системы в одно и то же время. Этот проект был реализован в их операционной системе SunOS, сначала для поддержки сетевой файловой системы Sun (Network File System — NFS). Однако, как следствие, стало возможным также поддерживать несколько архитектур на диске. System V Release 3 использовала сходную архитектуру для поддержки удаленной файловой системы (Remote File System — RFS), но она продолжала поддерживать лишь одну архитектуру на диске.[78] (RFS никогда широко не использовалась и сейчас является лишь исторической сноской.)

Общий дизайн Sun стал популярным и широко реализовывался в коммерческих системах Unix, включая System V Release 4. Системы Linux и BSD используют разновидность этого дизайна для поддержки множества форматов файловых систем на диске. В частности, обычным для всех разновидностей Unix на платформе Intel x86 является возможность монтирования файловых систем MS-DOS/Windows FAT, включая поддержку длинных имен, а также форматированные в соответствии с ISO 9660 CD-ROM.

Linux имеет несколько собственных (т.е. размещаемых на диске) файловых систем. Наиболее популярными являются файловые системы ext2 и ext3. Однако, доступно значительно больше файловых систем. Сведения о большинстве из них вы можете найти в каталоге /usr/src/linux/Documentation/filesystems/ (если вы установили исходный код ядра). В табл. 8.1 перечислены имена различных файловых систем с кратким описанием каждой из них. Сокращение «RW» означает «чтение/запись», a «RO» означает «только чтение».

Таблица 8.1. Поддерживаемые ядром файловые системы Linux (ядро 2.4.x)

Имя Режим Описание afs RW Andrew File System (файловая система Andrew) adfs RW Acorn Advanced Disc Filing System (расширенная дисковая файловая система Acorn) affs RO, RW Amiga Fast File system (быстрая файловая система Amiga) Режим «только для чтения» в противоположность режиму «для записи и чтения» зависит от версии файловой системы autofs RW Файловая система для взаимодействия с демоном автоматического монтирования befs RO Файловая система BeOS. Помечена как программное обеспечение альфа. bfs RW SCO UnixWare Boot File system (загрузочная файловая система SCO Unix). binfmt-misc RW Специальная файловая система для запуска интерпретаторов компилированных файлов (например, файлов Java) efs RW Файловая система, разработанная для варианта Unix SGI, названного Irix coda RW Экспериментальная распределенная файловая система, разработанная в CMU[79] cramfs RO Небольшая файловая система для хранения файлов в постоянной памяти (ROM). devfs RW Способ динамического предоставления файлов для /dev (устарело). devpts RW Специальная файловая система для псевдотерминалов. ext2 RW Вторая расширенная файловая система. Файловая система по умолчанию для GNU/Linux, хотя некоторые дистрибутивы используют теперь ext3. ext3 RW Файловая система ext2 с журналированием hfs RW Hierarchical File System (иерархическая файловая система) Apple Mac OS. hpfs RW High Performance File System (высокопроизводительная файловая система) OS/2. intermezzo RW Экспериментальная распределенная файловая система для работы в отсоединенном от сети состоянии. См веб-сайт InterMezzo (http://www.inter-mezzo.org) jffs RW Journalled Flash File system (журналируемая файловая система с групповой записью/считыванием, для встроенных систем) jffs2 RW Journalled Flash File system 2 (тоже для встроенных систем) iso9660 RO Файловая система ISO 9660 для CD-ROM. Поддерживаются также расширения Rock Ridge, заставляющие выглядеть использующие их CD-ROM как нормальная файловая система (но только для чтения). jfs RW Journalled File System (журналируемая файловая система) IBM для Linux. ncp RW Протокол Novell NCP для NetWare; клиент удаленной файловой системы. ntfs RO Поддержка файловой системы NTFS Windows openpromfs RO Файловая система /proc для PROM на системах SPARC proc RW Доступ к информации о процессах и ядре qnx4 RW Файловая система QNX4 (небольшой операционной системы реального времени) ramfs RW Файловая система для создания RAM-дисков. reiserfs RW Развитая журналируемая файловая система romfs RO Файловая система для создания простых RAM-дисков только для чтения. smbfs RW Поддержка клиента для файловых систем SMB (разделяемых файлов Windows) sysv RW Файловые системы System V Release 2, Xenix, Minix и Coherent. coherent, minix и xenix являются псевдонимами tmpfs RW Файловая система электронного диска, поддерживающая динамический рост. udf RO Формат файловой системы UDF, используемый в DVD-ROM ufs RO, RW Быстрая файловая система BSD, на современных системах с доступом для чтения и записи. umsdos RW Расширение vfat, заставляющее выглядеть ее подобно файловой системе Unix usbfs RW Специальная файловая система для работы с устройствами USB. Первоначальным именем было usbdevfs, это имя до сих пор появляется, например, в выводе mount vfat RW Все варианты файловых систем FAT MS-DOS/Windows Компонентами являются msdos и fat vxfs RW Журналируемая файловая система Veritas VxFS. xfs RW Высокопроизводительная журналирующая файловая система, разработанная SGI для Linux. См веб-сайт XFS (http://oss.sgi.com/projects/xfs/)

Не все из этих файловых систем поддерживаются командой mount; список поддерживаемых см. в mount(8).

Журналирование является методикой, впервые использованной в системах баз данных для увеличения производительности обновлений файлов таким образом, что восстановление файловой системы в случае аварии могло быть сделано быстро и правильно. В момент написания этого были доступны несколько различных журналируемых файловых систем, конкурирующих за продвижение в мире GNU/Linux. Одной из них является ext3; у нее преимущество обратной совместимости с существующими файловыми системами ext2, очень просто конвертировать файловые системы туда-сюда между этими двумя видами (См. tune2fs(8).) ReiserFS и XFS также имеют своих твердых сторонников.

Файловые системы fat, msdos, umsdos и vfat все разделяют общий исходный код. В общем, можно использовать vfat для монтирования разделов Windows FAT-32 (или другой FAT-xx), a umsdos, если нужно использовать раздел FAT в качестве корневой файловой системы для GNU/Linux.

Файловые системы Coherent, MINIX, первоначальной System V и Xenix все имеют сходные структуры на диске. Тип файловой системы sysv поддерживает все из них; четыре имени coherent, minix, sysv и xenix являются псевдонимами один для другого. Имена coherent и xenix в конечном счете будут удалены.

Быстрая файловая система BSD в течение нескольких лет успешно развилась. Файловая система ufs поддерживает операции чтения/записи для версий, начиная с 4.4 BSD, которая является основой для трех широко распространенных операционных систем BSD: FreeBSD, NetBSD и OpenBSD. Она поддерживает также операции чтения/записи для файловой системы Sun Solaris как для SPARC, так и для систем Intel x86. Первоначальный формат BSD и формат операционной системы NeXTStep поддерживаются в режиме только для чтения.

Обозначения «RO» для befs и ntfs означают, что файловые системы этих типов можно смонтировать и читать, но в них невозможно записать файлы или удалить из них файлы. (Со временем это может измениться; проверьте документацию своей системы.) Файловые системы cramfs, iso9660, romfs и udf отмечены «RO», поскольку лежащее в их основе средство по своей сути является устройством только для чтения.

Две файловые системы, которых больше не существует, это ext, которая была оригинальной расширенной файловой системой, и xiafs, которая расширяла оригинальную файловую систему MINIX для использования длинных имен и больших размеров файлов, xiafs и ext2 появились примерно в одно время, но ext2 в конечном счете стала доминирующей файловой системой.[80]

сравнение, секреты и уникальные особенности — «Хакер»

Содержание статьи

Почему смартфон может не запускать программы с карты памяти? Чем ext4 принципиально отличается от ext3? Почему флешка проживет дольше, если отформатировать ее в NTFS, а не в FAT? В чем главная проблема F2FS? Ответы кроются в особенностях строения файловых систем. О них мы и поговорим.

 

Введение

Файловые системы определяют способ хранения данных. От них зависит, с какими ограничениями столкнется пользователь, насколько быстрыми будут операции чтения и записи и как долго накопитель проработает без сбоев. Особенно это касается бюджетных SSD и их младших братьев — флешек. Зная эти особенности, можно выжать из любой системы максимум и оптимизировать ее использование для конкретных задач.

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

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

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

 

Черный ящик

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

У поклонников Windows все просто: NTFS на всех дисковых разделах и FAT32 (или та же NTFS) на флешках. Если же стоит NAS и в нем используется какая-то другая файловая система, то для большинства это остается за гранью восприятия. К нему просто подключаются по сети и качают файлы, как из черного ящика.

На мобильных гаджетах с Android чаще всего встречается ext4 во внутренней памяти и FAT32 на карточках microSD. Яблочникам же и вовсе без разницы, что у них за файловая система: HFS+, HFSX, APFS, WTFS… для них существуют только красивые значки папок и файлов, нарисованные лучшими дизайнерами. Богаче всего выбор у линуксоидов, но прикрутить поддержку неродных для операционки файловых систем можно и в Windows, и в macOS — об этом чуть позже.

 

Общие корни

Различных файловых систем создано свыше сотни, но актуальными можно назвать чуть больше десятка. Хотя все они разрабатывались для своих специфических применений, многие в итоге оказались родственными на концептуальном уровне. Они похожи, поскольку используют однотипную структуру представления (мета)данных — B-деревья («би-деревья»).

Как и любая иерархическая система, B-дерево начинается с корневой записи и далее ветвится вплоть до конечных элементов — отдельных записей о файлах и их атрибутах, или «листьев». Основной смысл создания такой логической структуры был в том, чтобы ускорить поиск объектов файловой системы на больших динамических массивах — вроде жестких дисков объемом в несколько терабайт или еще более внушительных RAID-массивов.

B-деревья требуют гораздо меньше обращений к диску, чем другие типы сбалансированных деревьев, при выполнении тех же операций. Достигается это за счет того, что конечные объекты в B-деревьях иерархически расположены на одной высоте, а скорость всех операций как раз пропорциональна высоте дерева.

Как и другие сбалансированные деревья, B-trees имеют одинаковую длину путей от корня до любого листа. Вместо роста ввысь они сильнее ветвятся и больше растут в ширину: все точки ветвления у B-дерева хранят множество ссылок на дочерние объекты, благодаря чему их легко отыскать за меньшее число обращений. Большое число указателей снижает количество самых длительных дисковых операций — позиционирования головок при чтении произвольных блоков.

Концепция B-деревьев была сформулирована еще в семидесятых годах и с тех пор подвергалась различным улучшениям. В том или ином виде она реализована в NTFS, BFS, XFS, JFS, ReiserFS и множестве СУБД. Все они — родственники с точки зрения базовых принципов организации данных. Отличия касаются деталей, зачастую довольно важных. Недостаток у родственных файловых систем тоже общий: все они создавались для работы именно с дисками еще до появления SSD.

 

Флеш-память как двигатель прогресса

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

Связано это ограничение с тем, что в NAND-памяти все ячейки объединены в блоки, каждый из которых имеет только одно общее подключение к управляющей шине. Не будем вдаваться в детали страничной организации и расписывать полную иерархию. Важен сам принцип групповых операций с ячейками и тот факт, что размеры блоков флеш-памяти обычно больше, чем блоки, адресуемые в любой файловой системе. Поэтому все адреса и команды для накопителей с NAND flash надо транслировать через слой абстрагирования FTL (Flash Translation Layer).

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

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

Такой подход напоминает армейские будни: чтобы отдать приказ одному солдату, сержант делает общее построение, вызывает бедолагу из строя и командует остальным разойтись. В редкой ныне NOR-памяти организация была спецназовская: каждая ячейка управлялась независимо (у каждого транзистора был индивидуальный контакт).

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

Модули с одноуровневыми ячейками SLC имели заявленный ресурс в 100 тысяч циклов перезаписи и даже больше. Многие из них до сих пор работают в старых флешках и карточках CF. У MLC корпоративного класса (eMLC) ресурс заявлялся в пределах от 10 до 20 тысяч, в то время как у обычной MLC потребительского уровня он оценивается в 3–5 тысяч. Память этого типа активно теснит еще более дешевая TLC, у которой ресурс едва дотягивает до тысячи циклов. Удерживать срок жизни флеш-памяти на приемлемом уровне приходится за счет программных ухищрений, и новые файловые системы становятся одним из них.

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

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

В бюджетные SSD (и тем более — флешки) ставят куда менее умные контроллеры. Кеш в них урезан или отсутствует, а продвинутые серверные технологии не применяются вовсе. В картах памяти контроллеры настолько примитивные, что часто утверждается, будто их нет вовсе. Поэтому для дешевых устройств с флеш-памятью остаются актуальными внешние методы балансировки нагрузки — в первую очередь при помощи специализированных файловых систем.

 

От JFFS к F2FS

Одной из первых попыток написать файловую систему, которая бы учитывала принципы организации флеш-памяти, была JFFS — Journaling Flash File System. Изначально эта разработка шведской фирмы Axis Communications была ориентирована на повышение эффективности памяти сетевых устройств, которые Axis выпускала в девяностых. Первая версия JFFS поддерживала только NOR-память, но уже во второй версии подружилась с NAND.

Сейчас JFFS2 имеет ограниченное применение. В основном она все так же используется в дистрибутивах Linux для встраиваемых систем. Ее можно найти в маршрутизаторах, IP-камерах, NAS и прочих завсегдатаях интернета вещей. В общем, везде, где требуется небольшой объем надежной памяти.

Дальнейшей попыткой развития JFFS2 стала LogFS, у которой индексные дескрипторы хранились в отдельном файле. Авторы этой идеи — сотрудник немецкого подразделения IBM Йорн Энгель и преподаватель Оснабрюкского университета Роберт Мертенс. Исходный код LogFS выложен на GitHub. Судя по тому, что последнее изменение в нем было сделано четыре года назад, LogFS так и не обрела популярность.

Зато эти попытки подстегнули появление другой специализированной файловой системы — F2FS. Ее разработали в корпорации Samsung, на долю которой приходится немалая часть производимой в мире флеш-памяти. В Samsung делают чипы NAND Flash для собственных устройств и по заказу других компаний, а также разрабатывают SSD с принципиально новыми интерфейсами вместо унаследованных дисковых. Создание специализированной файловой системы с оптимизацией для флеш-памяти было с точки зрения Samsung давно назревшей необходимостью.

Четыре года назад, в 2012 году, в Samsung создали F2FS (Flash Friendly File System). Ее идея хороша, но реализация оказалась сыроватой. Ключевая задача при создании F2FS была проста: снизить число операций перезаписи ячеек и распределить нагрузку на них максимально равномерно. Для этого требуется выполнять операции с несколькими ячейками в пределах того же блока одновременно, а не насиловать их по одной. Значит, нужна не мгновенная перезапись имеющихся блоков по первому запросу ОС, а кеширование команд и данных, дозапись новых блоков на свободное место и отложенное стирание ячеек.

Сегодня поддержка F2FS уже официально реализована в Linux (а значит, и в Android), но особых преимуществ на практике она пока не дает. Основная особенность этой файловой системы (отложенная перезапись) привела к преждевременным выводам о ее эффективности. Старый трюк с кешированием даже одурачивал ранние версии бенчмарков, где F2FS демонстрировала мнимое преимущество не на несколько процентов (как ожидалось) и даже не в разы, а на порядки. Просто драйвер F2FS рапортовал о выполнении операции, которую контроллер только планировал сделать. Впрочем, если реальный прирост производительности у F2FS и невелик, то износ ячеек определенно будет меньше, чем при использовании той же ext4. Те оптимизации, которые не сможет сделать дешевый контроллер, будут выполнены на уровне самой файловой системы.

 

Экстенты и битовые карты

Пока F2FS воспринимается как экзотика для гиков. Даже в собственных смартфонах Samsung все еще применяется ext4. Многие считают ее дальнейшим развитием ext3, но это не совсем так. Речь идет скорее о революции, чем о преодолении барьера в 2 Тбайт на файл и простом увеличении других количественных показателей.

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

Создаем раздел ext4 в Windows 7

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

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

Управляем разделами ext3/ext4 в Windows

 

Диета с ограничением FAT

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

 

Загадка

Отгадай загадку: в двенадцать она начала полнеть, к шестнадцати была глуповатой толстушкой, а к тридцати двум стала жирной, так и оставшись простушкой. Кто она?

Правильно, это история про файловую систему FAT. Требования совместимости обеспечили ей дурную наследственность. На дискетах она была 12-разрядной, на жестких дисках — поначалу 16-битной, а до наших дней дошла уже как 32-разрядная. В каждой следующей версии увеличивалось число адресуемых блоков, но в самой сути ничего не менялось.

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

Зачем же FAT32 нужна в наши дни? Все так же исключительно для обеспечения совместимости. Производители справедливо полагают, что раздел с FAT32 сможет прочитать любая ОС. Поэтому именно его они создают на внешних жестких дисках, USB Flash и картах памяти.

 

Как освободить флеш-память смартфона

Карточки microSD(HC), используемые в смартфонах, по умолчанию отформатированы в FAT32. Это основное препятствие для установки на них приложений и переноса данных из внутренней памяти. Чтобы его преодолеть, нужно создать на карточке раздел с ext3 или ext4. На него можно перенести все файловые атрибуты (включая владельца и права доступа), поэтому любое приложение сможет работать так, словно запустилось из внутренней памяти.

Windows не умеет делать на флешках больше одного раздела, но для этого можно запустить Linux (хотя бы в виртуалке) или продвинутую утилиту для работы с логической разметкой — например, MiniTool Partition Wizard Free. Обнаружив на карточке дополнительный первичный раздел с ext3/ext4, приложение Link2SD и аналогичные ему предложат куда больше вариантов, чем в случае с одним разделом FAT32.

Приложение Link2SD определило второй раздел на карточке microSD

Как еще один аргумент в пользу выбора FAT32 часто называют отсутствие в ней журналирования, а значит, более быстрые операции записи и меньший износ ячеек памяти NAND Flash. На практике же использование FAT32 приводит к обратному и порождает множество других проблем.

Флешки и карты памяти как раз быстро умирают из-за того, что любое изменение в FAT32 вызывает перезапись одних и тех же секторов, где расположены две цепочки файловых таблиц. Сохранил веб-страничку целиком, и она перезаписалась раз сто — с каждым добавлением на флешку очередной мелкой гифки. Запустил портейбл-софт? Он насоздавал временных файлов и постоянно меняет их во время работы. Поэтому гораздо лучше использовать на флешках NTFS с ее устойчивой к сбоям таблицей $MFT. Мелкие файлы могут храниться прямо в главной файловой таблице, а ее расширения и копии записываются в разные области флеш-памяти. Вдобавок благодаря индексации на NTFS поиск выполняется быстрее.

INFO


Для FAT32 и NTFS теоретические ограничения по уровню вложенности не указаны, но на практике они одинаковые: в каталоге первого уровня можно создать только 7707 подкаталогов. Любители поиграть в матрешки оценят.

Другая проблема, с которой сталкивается большинство пользователей, — на раздел с FAT32 невозможно записать файл больше 4 Гбайт.32 (минус единица, если быть точным) как раз дают четыре гига. Получается, что на свежекупленную флешку нельзя записать ни фильм в нормальном качестве, ни образ DVD.

Копирование больших файлов еще полбеды: при попытке сделать это ошибка хотя бы видна сразу. В других ситуациях FAT32 выступает в роли бомбы замедленного действия. Например, ты скопировал на флешку портейбл-софт и на первых порах пользуешься им без проблем. Спустя длительное время у одной из программ (допустим, бухгалтерской или почтовой) база данных раздувается, и… она просто перестает обновляться. Файл не может быть перезаписан, поскольку достиг лимита в 4 Гбайт.

Менее очевидная проблема заключается в том, что в FAT32 дата создания файла или каталога может быть задана с точностью до двух секунд. Этого недостаточно для многих криптографических приложений, использующих временные метки. Низкая точность атрибута «дата» — еще одна причина того, почему FAT32 не рассматривается как полноценная файловая система с точки зрения безопасности.64 байт (16 Эбайт), а карточки такого объема появятся нескоро.

Еще одно принципиальное отличие exFAT — поддержка списков контроля доступа (ACL). Это уже не та простушка из девяностых, однако внедрению exFAT мешает закрытость формата. Поддержка exFAT полноценно и легально реализована только в Windows (начиная с XP SP2) и OS X (начиная с 10.6.5). В Linux и *BSD она поддерживается либо с ограничениями, либо не вполне законно. Microsoft требует лицензировать использование exFAT, и в этой области много правовых споров.

 

Btrfs

Еще один яркий представитель файловых систем на основе B-деревьев называется Btrfs. Эта ФС появилась в 2007 году и изначально создавалась в Oracle с прицелом на работу с SSD и RAID. Например, ее можно динамически масштабировать: создавать новые индексные дескрипторы прямо в работающей системе или разделять том на подтома без выделения им свободного места.

Реализованный в Btrfs механизм копирования при записи и полная интеграция с модулем ядра Device mapper позволяют делать практически мгновенные снапшоты через виртуальные блочные устройства. Предварительное сжатие данных (zlib или lzo) и дедупликация ускоряют основные операции, заодно продлевая время жизни флеш-памяти. Особенно это заметно при работе с базами данных (достигается сжатие в 2–4 раза) и мелкими файлами (они записываются упорядоченно крупными блоками и могут храниться непосредственно в «листьях»).

Также Btrfs поддерживает режим полного журналирования (данных и метаданных), проверку тома без размонтирования и множество других современных фич. Код Btrfs опубликован под лицензией GPL. Эта файловая система поддерживается в Linux как стабильная начиная с версии ядра 4.3.1.

 

Бортовые журналы

Практически все более-менее современные файловые системы (ext3/ext4, NTFS, HFSX, Btrfs и другие) относят к общей группе журналируемых, поскольку они ведут учет вносимых изменений в отдельном логе (журнале) и сверяются с ним в случае сбоя при выполнении дисковых операций. Однако степень подробности ведения журналов и отказоустойчивость у этих файловых систем разные.

Еxt3 поддерживает три режима ведения журнала: с обратной связью, упорядоченный и полное журналирование. Первый режим подразумевает запись только общих изменений (метаданных), выполняемую асинхронно по отношению к изменениям самих данных. Во втором режиме выполняется та же запись метаданных, но строго перед внесением любых изменений. Третий режим эквивалентен полному журналированию (изменений как в метаданных, так и в самих файлах).

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

Журналирование в NTFS похоже на второй режим ведения лога в ext3. В журнал записываются только изменения в метаданных, а сами данные в случае сбоя могут быть утеряны. Такой метод ведения журнала в NTFS задумывался не как способ достижения максимальной надежности, а лишь как компромисс между быстродействием и отказоустойчивостью. Именно поэтому люди, привыкшие к работе с полностью журналируемыми системами, считают NTFS псевдожурналируемой.

Реализованный в NTFS подход в чем-то даже лучше используемого по умолчанию в ext3. В NTFS дополнительно периодически создаются контрольные точки, которые гарантируют выполнение всех отложенных ранее дисковых операций. Контрольные точки не имеют ничего общего с точками восстановления в \System Volume Infromation\. Это просто служебные записи в логе.

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

 

Подключаем сторонние ФС в Windows

Использование файловых систем лимитировано их поддержкой на уровне ОС. Например, Windows не понимает ext2/3/4 и HFS+, а использовать их порой надо. Сделать это можно, добавив соответствующий драйвер.

WARNING


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

Открытый драйвер ext2fsd для чтения и записи на разделы ext2/3 с частичной поддержкой ext4. В последней версии поддерживаются экстенты и разделы объемом до 16 Тбайт. Не поддерживаются LVM, списки контроля доступа и расширенные атрибуты.

Монтируем раздел ext4 в Windows 10

Существует бесплатный плагин ext4tc для Total Commander. Поддерживает чтение разделов ext2/3/4.

Плагин для Total Commander добавляет поддержку ext4

coLinux — открытый и бесплатный порт ядра Linux. Вместе с 32-битным драйвером он позволяет запускать Linux в среде Windows с 2000 по 7 без использования технологий виртуализации. Поддерживает только 32-битные версии. Разработка 64-битной модификации была отменена. сoLinux позволяет в том числе организовать из Windows доступ к разделам ext2/3/4. Поддержка проекта приостановлена в 2014 году.

Возможно, в Windows 10 уже есть встроенная поддержка характерных для Linux файловых систем, просто она скрыта. На эти мысли наводит драйвер уровня ядра Lxcore.sys и сервис LxssManager, который загружается как библиотека процессом Svchost.exe. Подробнее об этом смотри в докладе Алекса Ионеску «Ядро Линукс, скрытое внутри Windows 10», с которым он выступил на Black Hat 2016.

Смонтировав том ext4 в Windows, можно работать с ним как с любым другим

ExtFS for Windows — платный драйвер, выпускаемый компанией Paragon. Он работает в Windows с 7 по 10, поддерживает доступ к томам ext2/3/4 в режиме чтения и записи. Обеспечивает почти полную поддержку ext4 в Windows.

HFS+ for Windows 10 — еще один проприетарный драйвер производства Paragon Software. Несмотря на название, работает во всех версиях Windows начиная с XP. Предоставляет полный доступ к файловым системам HFS+/HFSX на дисках с любой разметкой (MBR/GPT).

WinBtrfs — ранняя разработка драйвера Btrfs для Windows. Уже в версии 0.6 поддерживает доступ к томам Btrfs как на чтение, так и на запись. Умеет обрабатывать жесткие и символьные ссылки, поддерживает альтернативные потоки данных, ACL, два вида компрессии и режим асинхронного чтения/записи. Пока WinBtrfs не умеет использовать mkfs.btrfs, btrfs-balance и другие утилиты для обслуживания этой файловой системы.

 

Возможности и ограничения файловых систем: сводная таблица

Фай­ло­вая сис­те­ма Мак­си­маль­ный раз­мер тома Пре­дель­ный раз­мер одного файла Дли­на собст­вен­ного имени файла Дли­на пол­но­го имени файла (вклю­чая путь от корня) Пре­дель­ное число файлов и/или ката­ло­гов Точ­ность ука­за­ния даты файла/ката­ло­га Права дос­ту­па Жёсткие ссылки Сим­воль­ные ссылки Мгно­вен­ные снимки (snap­shots) Сжа­тие дан­ных в фоне Шиф­ро­ва­ние дан­ных в фоне Деду­пли­ка­ция дан­ных
FAT16 2 ГБ секторами по 512 байт или 4 ГБ кластерами по 64 КБ 2 ГБ 255 байт с LFN
FAT32 8 ТБ секторами по 2 КБ 4 ГБ (2^32 — 1 байт) 255 байт с LFN до 32 подкаталогов с CDS 65460 10 мс (создание) / 2 с (изменение) нет нет нет нет нет нет нет
exFAT ≈ 128 ПБ (2^32-1 кластеров по 2^25-1 байт) теоретически / 512 ТБ из-за сторонних ограничений 16 ЭБ (2^64 — 1 байт) 255 символов Unicode (UTF-16) 32760 символов Unicode, но не более 255 символов в каждом элементе 2796202 в каталоге 10 мс ACL нет нет нет нет нет нет
NTFS 256 ТБ кластерами по 64 КБ или 16 ТБ кластерами по 4 КБ 16 ТБ (Win 7) / 256 ТБ (Win 8) 255 символов Unicode (UTF-16) 32760 символов Unicode, но не более 255 символов в каждом элементе 2^32-1 100 нс ACL да да да да да да
HFS+ 8 ЭБ (2^63 байт) 8 ЭБ 255 символов Unicode (UTF-16) отдельно не ограничивается 2^32-1 1 с Unix, ACL да да нет да да нет
APFS 8 ЭБ (2^63 байт) 8 ЭБ 255 символов Unicode (UTF-16) отдельно не ограничивается 2^63 1 нс Unix, ACL да да да да да да
Ext3 32 ТБ (теоретически) / 16 ТБ кластерами по 4 КБ (из-за ограничений утилит e2fs programs) 2 ТБ (теоретически) / 16 ГБ у старых программ 255 символов Unicode (UTF-16) отдельно не ограничивается 1 с Unix, ACL да да нет нет нет нет
Ext4 1 ЭБ (теоретически) / 16 ТБ кластерами по 4 КБ (из-за ограничений утилит e2fs programs) 16 ТБ 255 символов Unicode (UTF-16) отдельно не ограничивается 4 млрд.17 байт 1 нс POSIX, ACL да да да да да да

Ubuntu Manpage: filesystems — Типы файловых систем в Linux: minix, ext, ext2, ext3, xia, msdos, umsdos,

Provided by: manpages-ru_0.98-4_all
 
ИМЯ
       filesystems  -  Типы  файловых систем в Linux: minix, ext, ext2, ext3, xia, msdos, umsdos,
       vfat, proc, nfs, iso9660, hpfs, sysv, smb, ncpfs

ОПИСАНИЕ
       В файле Когда, файловая система proc смонтирована в /proc, в  файле  /proc/filesystems  вы
       можете увидеть, какие файловые системы в настоящий момент поддерживаются вашим ядром. Если
       вам  понадобилась  какая-либо  из  файловых  систем,  которой  там   нет,   то   загрузите
       соответствующий модуль или перекомпилируйте ядро.

       Чтобы  использовать  какую-либо  файловую  систему,  вы  должны смонтировать её, с помощью
       команды mount(8), используя доступные опции монтирования.

       Ниже даётся краткое описание некоторых файловых систем.

       minix  Эта файловая система используется в операционной системе Minix, но работает  и  под
              Linux.  Она  имеет  несколько  ограничений:  размер  раздела  не более 64 мегабайт,
              короткие имена файлов, один временной штамп и т.  д.   Она  остается  полезной  для
              дискет и виртуальных дисков в памяти.

       ext    Продуманное  расширение  файловой  системы  minix.   Оно полностью вытеснено второй
              версией расширенной файловой системы (ext2) и впоследствии будет удалено из ядра.

       ext2   Высокопроизводительная  дисковая  файловая  система,  используемая  Linux  как  для
              фиксированных,  так и для съемных дисков.  Вторая расширенная файловая система была
              разработана как расширение расширенной файловой  системы  (ext).   ext2  показывает
              лучшую  производительность  (в  плане  скорости  и  использования процессора) среди
              файловых систем, которые поддерживает Linux.

       ext3   является версией файловой системы ext2  с  поддержкой  журналирования.   Вы  можете
              легко переключаться туда и обратно между ext2 и ext3.

       xiafs  была  разработана  и  реализована  как  стабильная  и  безопасная файловая система,
              расширяющая возможности файловой системы Minix. Она  предоставляет  только  базовые
              возможности,  без  которых  невозможно  обойтись, и не содержит каких бы то ни было
              излишеств.  Файловая система xia в настоящий момент, активно не  разрабатывается  и
              не поддерживается.  Она была удалена из ядра, начиная с версии 2.1.21.

       msdos  -  это  файловая система, используемая на компьютерах с DOS, Windows и, в некоторых
              случаях, OS/2.  Имена файлов msdos могут быть длиной не более восьми символов, плюс
              необязательные точка и три символа расширения.

       umsdos является  расширением  файловой системы DOS, используемой под Linux.  Она добавляет
              возможность использования длинных имен файлов, UID/GID, прав доступа  к  файлам  по
              стандарту  POSIX,  а также специальных файлов (устройств, именованных каналов, и т.
              д.) в файловой системе DOS, без нарушения совместимости с DOS.

       vfat   - это расширенная файловая  система  DOS,  используемая  в  Microsoft  Windows95  и
              Windows NT. VFAT добавляет возможность использования длинных имен файлов в файловой
              системе MSDOS.

       proc   является виртуальной файловой системой, которая используется в качестве  интерфейса
              для  доступа  к структурам данных ядра, вместо чтения и интерпретации /dev/kmem.  В
              частности, файлы в этой  файловой  системе  не  занимают  места  на  диске.  Смотри
              proc(5).

       iso9660
              - это файловая система для CD-ROM, соответствующая стандарту ISO 9660.

              High Sierra
                     Linux  поддерживает  High  Sierra,  предшественницу  стандарта  ISO 9660 для
                     файловых систем CD-ROM. При включении в Linux поддержки файловой системы ISO
                     9660 , она распознается автоматически.

              Rock Ridge
                     Linux  также  поддерживает  записи  протокола  System  Use Sharing Protocol,
                     которые задаются с помощью протокола Rock Ridge Interchange  Protocol.   Они
                     используются  для  подробного описания файлов в файловой системе iso9660 для
                     UNIX машин и предоставляют такую информацию,  как  длинные  имена,  UID/GID,
                     права  доступа  к  файлам  по стандарту POSIX и файлы устройств.  Rock Ridge
                     автоматически распознается при включении в Linux поддержки файловой  системы
                     iso9660.

       hpfs   -  это  высокопроизводительная  файловая  система,  используемая  в  OS/2.   Данная
              файловая  система  доступна  под  Linux  только   для   чтения   из-за   отсутствия
              документации.

       sysv   -  это реализация файловой системы SystemV/Coherent для Linux.  Она реализует Xenix
              FS, SystemV/386 FS и Coherent FS.

       nfs    - это сетевая файловая система, используемая для доступа к дискам, расположенным на
              других компьютерах в сети.

       smb    -  это  сетевая файловая система, которая поддерживает протокол SMB, используемый в
              Windows for Workgroups, Windows NT и Lan Manager.

              Для того, чтобы использовать  файловую  систему  smb,  вам  необходима  специальная
              программа  mount,  которую  можно  найти  в  пакете ksmbfs, расположенном по адресу
              ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/smbfs.

       ncpfs  - это сетевая файловая система, которая поддерживает протокол NCP,  используемый  в
              Novell NetWare.

              Для  использования  ncpfs вам необходимы специальные программы, которые можно найти
              по адресу ftp://linux01.gwdg.de/pub/ncpfs.

СМОТРИ ТАКЖЕ
       proc(5), fsck(8), mkfs(8), mount(8)

ПЕРЕВОД
       Перевёл с английского Виктор Вислобоков <[email protected]> 2004

                                            2001-12-07                             FILESYSTEMS(5)

Типы файловых систем

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

ReclaiMe восстанавливает данные из следующих файловых систем:

FAT — варианты файловой системы FAT (FAT16 и FAT32). Обычно устройства с относительно небольшой емкостью, такие как карты памяти, флэш-накопители и т.п., используют файловую систему FAT.

exFAT — Расширенная файловая система FAT, используемая для флэш-накопителей большой емкости (например, карт SDHC) в Windows Vista с пакетом обновления 1, Windows CE 6.0 и более поздних версиях.

NTFS — самая распространенная файловая система на компьютерах под управлением Windows (XP, Vista, Windows 7).

ReFS — файловая система, разработанная Microsoft для их Windows 8 Server.

HFS — файловая система Mac OS Standard , используемая на компьютерах Apple.HFS устарела, и Apple постепенно отказывается от нее. Начиная с Mac OS X 10.6 (Snow Leopard), Mac OS не форматирует диски в HFS, а существующие диски HFS доступны только для чтения.

HFSPlus — файловая система Mac OS Extended , файловая система по умолчанию на компьютерах Apple и других сложных устройствах, таких как iPod.

APFS — файловая система Apple, выпущенная в 2017 году и пришедшая на замену HFS +.

UfsBE и UfsLE — два варианта файловой системы UFS, используемые на Apple Mac и UNIX.

ext ( ext2 , ext3 и ext4 ) — разные поколения стандартной файловой системы Linux.

XFS — файловая система, используемая в установках Linux и устройствах NAS.

Btrfs — файловая система Linux, используемая в устройствах NAS, таких как NETGEAR и Synology.

RAW — имя файловой системы-заполнителя, используемое в Windows, если тип файловой системы не может быть определен.

Распределение инцидентов по типу файловой системы

В марте 2014 года мы провели анализ данных телеметрии за 2013 год, чтобы выяснить, какая файловая система больше всего участвует в инцидентах восстановления данных. По большому счету, NTFS выигрывает, участвуя в двух третях всех восстановлений.

Исследование основано на приблизительно 30 000 инцидентах, в которых тип файловой системы был достоверно установлен. Результат в основном отражает факты, которые мы уже знали, а именно то, что Windows по-прежнему остается самой популярной операционной системой для настольных ПК, NTFS — файловая система, наиболее широко используемая на этих ПК.

Интересно, что две из отслеживаемых файловых систем, UFS и HFS, не попали в результаты, имея слишком мало случаев. Собственно, за 2013 год не было ни одного случая восстановления HFS. Итак, мы считаем исходную HFS устаревшей и полностью замененной на HFS + в практическом использовании.

ReFS, по-видимому, не получил особого применения, будучи относительно новым. Наверное, поэтому он занимает последнее место в рейтинге. Это, конечно, не потому, что ReFS безошибочен.Он действительно терпит неудачу, и это впечатляюще, если судить по нескольким случаям, которые у нас были с большими (50 ТБ +) блоками.

NTFS 63%
FAT 14%
EXT 10%
XFS 8%
HFS + 4%
ReFS 1%
Остались вопросы?

Создать новый билет

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

В настоящее время компьютерный рынок предлагает огромное количество возможностей для хранения информации в цифровом виде.Существующие устройства хранения включают внутренние и внешние жесткие диски, карты памяти фото / видеокамер, USB-накопители, наборы RAID и другие сложные хранилища. На них хранятся фрагменты данных в виде файлов, таких как документы, изображения, базы данных, сообщения электронной почты и т. Д., Которые должны быть эффективно организованы на диске и легко извлечены при необходимости.

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


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

Любой компьютерный файл хранится на носителе с заданной емкостью. Фактически, каждое хранилище представляет собой линейное пространство для чтения или чтения и записи цифровой информации. Каждый байт информации в нем имеет свое смещение от начала хранения, известное как адрес , , и на него ссылается этот адрес. Хранилище можно представить в виде сетки с набором из пронумерованных ячеек (каждая ячейка представляет собой отдельный байт).Любой сохраненный в хранилище предмет получает свои ячейки.

Обычно компьютерные хранилища используют пару из сектора и внутрисекторного смещения для ссылки на любой байт информации в хранилище. Сектор — это группа байтов (обычно 512 байтов ), минимальная адресуемая единица физической памяти. Например, , байт 1040 на жестком диске будет обозначен как сектор # 3 и смещение в секторе 16 байтов ([сектор] + [сектор] + [16 байтов]).Эта схема применяется для оптимизации адресации хранилища и использования меньшего числа для ссылки на любую часть информации, находящуюся в хранилище.

Чтобы опустить вторую часть адреса (внутрисекторное смещение), файлы обычно сохраняются , начиная с начала сектора и занимают целые сектора (например: 10-байтовый файл занимает весь сектор, 512-байтовый файл также занимает весь сектор, при этом 514-байтовый занимает два целых сектора).

Каждый файл хранится в « неиспользуемых» секторах и может быть прочитан позже по его известному положению и размеру. Однако как узнать, какие сектора заняты, а какие свободны? Где хранятся размер, положение и имя файла? Именно за это и отвечает файловая система .

В целом файловая система (часто сокращенно FS) представляет собой структурированное представление данных и набор метаданных , описывающих эти данные.Применяется к хранилищу во время операции форматирования. Эта структура служит для всего хранилища, а также является частью изолированного сегмента хранилища — дискового раздела . Обычно он работает в блоках, , а не в секторах. Блоки FS — это группы секторов, которые оптимизируют адресацию хранилища. Современные типы обычно используют блоки размером от 1 до 128 секторов (512-65536 байт). Файлы обычно хранятся в начале блока и занимают целые блоки.

Константа Операции записи / удаления в хранилище вызывают его фрагментацию .Таким образом, файлы не хранятся целиком, а разбиваются на фрагменты. Например, том полностью занят файлами размером около 4 блоков каждый (например, коллекцией фотографий). Пользователь хочет сохранить тот, который займет 8 блоков, и поэтому удаляет первый и последний файлы. Тем самым он освобождает пространство из 8 блоков, однако первый сегмент находится рядом с началом хранилища, а второй — в конце хранилища. В этом случае 8-блочный файл разбивается на две части (по 4 блока на каждую) и занимает «дыры» в свободном пространстве.Информация об обоих фрагментах как о его частях хранится в файловой системе.

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

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

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

Microsoft Windows использует две основные файловые системы: NTFS , основной формат, используемый по умолчанию в большинстве современных версий этой ОС, и FAT , унаследованный от старой DOS и имеющий exFAT в качестве более позднего расширения. ReFS также был представлен Microsoft как формат нового поколения для серверных компьютеров, начиная с Windows Server 2012. HPFS , разработанный Microsoft совместно с IBM, можно найти только на очень старых машинах под управлением Windows NT до 3.5.

FAT

FAT (таблица размещения файлов) — один из простейших типов файловой системы, который существует с 1980-х годов. Он состоит из FS дескрипторного сектора (загрузочный сектор или суперблок), таблицы распределения блоков (называемой таблицей размещения файлов) и простого пространства хранения для хранения данных. Файлы в FAT хранятся в каталогах. Каждый каталог представляет собой массив из 32-байтовых записей , каждая из которых определяет файл или его расширенные атрибуты (например,грамм. длинное имя). Запись атрибутирует первый блок файла. Любой следующий блок можно найти в таблице распределения блоков, используя его как связанный список.

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

Числа в FAT12 , FAT16 , FAT32 обозначают количество битов, используемых для адресации блока FS.Это означает, что FAT12 может использовать до 4096 различных ссылок на блоки, а FAT16 и FAT32 могут использовать до 65536 и 4294967296 соответственно. Фактическое максимальное количество блоков еще меньше и зависит от реализации драйвера FS .

FAT12 и FAT16 применялась к старым дискетам и в настоящее время не находит широкого применения. FAT32 до сих пор широко используется для карт памяти и USB-накопителей .Формат поддерживается смартфонами, цифровыми фотоаппаратами и другими портативными устройствами.

FAT32 может использоваться на Windows-совместимых внешних хранилищах или дисковых разделах с размером менее 32 ГБ , если они отформатированы с помощью встроенного инструмента этой ОС, или до 2 ТБ, если для форматирования используются другие средства хранилище. Файловая система также не позволяет создавать файлы размером более 4 ГБ . Для решения этой проблемы был представлен exFAT , который не имеет реальных ограничений по размеру и часто используется на современных внешних жестких дисках и твердотельных накопителях.

NTFS

NTFS (файловая система новой технологии) была представлена ​​в 1993 году вместе с Windows NT и в настоящее время является наиболее распространенной файловой системой для компьютеров конечных пользователей на базе Windows. Большинство операционных систем линейки Windows Server также используют этот формат.

Этот тип файловой системы достаточно надежен благодаря журналированию и поддерживает множество функций, включая контроль доступа , , шифрование , и т. Д. Каждый файл в NTFS хранится как дескриптор в таблице главного файла и его содержимое.Таблица главного файла содержит записи со всей информацией о них: размер, размещение, имя и т. Д. Первые 16 записей таблицы сохраняются для BitMap, в котором хранятся записи всех свободных и используемых кластеров, журнал, используемый для ведения журнала. записи и BadClus, содержащий информацию о плохих кластерах. Первый и последний секторы файловой системы содержат ее настроек (загрузочная запись или суперблок ). Этот формат использует значения 48 и 64 бит для ссылок на файлы, что позволяет поддерживать хранилища данных с чрезвычайно высокой емкостью.

ReFS

ReFS (Resilient File System) — это последняя разработка Microsoft, представленная в Windows 8 и теперь доступная для Windows 10. Его архитектура полностью отличается от других форматов Windows и в основном организована в виде B + -дерева . ReFS отличается высокой отказоустойчивостью за счет внесенных в него новых функций. Наиболее примечательным из них является Copy-on-Write (CoW): метаданные не изменяются без копирования; данные не записываются поверх существующих данных — они помещаются в другую область на диске.После любых изменений новая копия метаданных сохраняется в свободной области хранилища, а затем система создает ссылку из старых метаданных на новую копию. Таким образом, значительное количество старых резервных копий хранится в разных местах, обеспечивая легкое восстановление данных, если это пространство хранения не будет перезаписано.

HPFS

HPFS (высокопроизводительная файловая система) была создана Microsoft в сотрудничестве с IBM и представлена ​​в OS / 2 1.20 в 1989 году в качестве файловой системы для серверов, которая могла обеспечить гораздо лучшую производительность по сравнению с FAT. В отличие от FAT, которая просто выделяет любой первый свободный кластер на диске для фрагмента файла, HPFS стремится упорядочить файл в непрерывные блоки или, по крайней мере, обеспечить размещение его фрагментов (называемых экстентами ) максимально близко к друг с другом. В начале HPFS есть три управляющих блока, занимающих 18 секторов: загрузочный блок , суперблок и резервный блок .Оставшееся пространство хранения разделено на части смежных секторов, называемых полосами , занимающими 8 МБ каждый. Полоса имеет свою собственную битовую карту распределения секторов , показывающую, какие сектора в ней заняты (1 — занят, 0 — свободный). Каждый файл и каталог имеет свой собственный F-Node , расположенный рядом с ним на диске — эта структура содержит информацию о местонахождении файла и его расширенных атрибутах. Специальная полоса каталогов , расположенная в центре диска, используется для хранения каталогов, в то время как сама структура каталогов представляет собой сбалансированное дерево с алфавитными записями.

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

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

Apple macOS применяет два типа FS: HFS + , расширение их устаревшей HFS, используемой на старых компьютерах Macintosh, и APFS, формат , используемый современными компьютерами Mac под управлением macOS 10.14 и новее.

HFS +

HFS + раньше был основным форматом настольных продуктов Apple , включая компьютеры Mac, iPod, а также продукты Apple X Server, прежде чем он был заменен APFS в macOS High Sierra. В продвинутых серверных продуктах также используется Apple Xsan, кластерная файловая система , созданная на основе StorNext и CentraVision.

HFS + использует B-деревья для размещения и поиска файлов.Тома делятся на секторы, обычно размером 512 байт, затем они группируются в блоки распределения, количество которых зависит от размера всего тома. Информация о свободных и использованных блоках распределения хранится в файле распределения. Все блоки распределения, назначенные каждому файлу в качестве расширений, записываются в файл переполнения расширений. И, наконец, все атрибуты файла перечислены в файле Attributes. Надежность данных повышается за счет ведения журнала, что позволяет отслеживать все изменения в системе и быстро возвращать ее в рабочее состояние в случае непредвиденных событий.Среди других поддерживаемых функций — жесткие ссылки на каталоги, шифрование логических томов, контроль доступа, сжатие данных и т. Д.

APFS

Файловая система Apple предназначена для решения фундаментальных проблем, присущих ее предшественнице, и была разработана для эффективной работы с современными флэш-накопителями и твердотельными накопителями. В этом 64-битном формате для повышения производительности используется метод копирования при записи, который позволяет копировать каждый блок до того, как к нему будут применены изменения, и предлагает множество функций обеспечения целостности данных и экономии места.Все содержимое и метаданные о файлах, папках и других структурах APFS хранятся в контейнере APFS. Суперблок контейнера хранит информацию о количестве блоков в контейнере, размере блока и т. Д. Информация обо всех выделенных и свободных блоках контейнера управляется с помощью структур Bitmap. Каждый том в контейнере имеет свой собственный Volume Superblock , который предоставляет информацию об этом томе. Все файлы и папки тома записаны в B-Tree файлов и папок , а B-Tree Extents отвечает за экстенты — ссылки на содержимое файла (начало файла, его длина в блоках).

Подсказка: Подробнее о возможности восстановления данных из этих типов ФС можно узнать в статьях об особенностях восстановления данных в зависимости от операционной системы и шансах на восстановление данных. Если вас интересует практическая сторона процедуры, обратитесь к руководству по восстановлению данных из macOS.

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

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

доб.

Ext2, Ext3, Ext4 — это просто разные версии «родной» файловой системы Linux Ext. Этот тип подпадает под активные разработки и усовершенствования. Ext3 — это просто расширение Ext2 , которое использует транзакционные операции записи файлов с журналом . Ext4 — это дальнейшее развитие Ext3, расширенное за счет поддержки оптимизированной информации о размещении файлов (экстентов) и расширенных атрибутов файлов.Эта FS часто используется как «корень » для большинства установок Linux.

ReiserFS

ReiserFS — альтернативная файловая система Linux, оптимизированная для хранения огромного количества небольших файлов . Он имеет хорошие возможности поиска и позволяет компактно размещать файлы, сохраняя их хвосты или просто очень маленькие элементы вместе с метаданными, чтобы избежать использования для этой цели больших блоков FS. Однако этот формат более активно не развивается и не поддерживается.

XFS

XFS — надежная журналируемая файловая система, изначально созданная Silicon Graphics и используемая ее серверами IRIX. В 2001 году он попал в ядро ​​Linux и теперь поддерживается большинством дистрибутивов Linux, некоторые из которых, например Red Hat Enterprise Linux, даже используют его по умолчанию. Этот тип файловой системы оптимизирован для хранения очень больших файлов и томов на одном хосте.

JFS

JFS — файловая система, разработанная IBM для мощных вычислительных систем компании.JFS1 обычно означает JFS , JFS2 — второй выпуск. В настоящее время этот проект с открытым исходным кодом и реализован в большинстве современных версий Linux.

Btrfs

Btrfs — файловая система, основанная на принципе копирования при записи (COW), которая была разработана Oracle и поддерживается основным ядром Linux с 2009 года. Btrfs включает в себя функции менеджера логических томов , может охватывает несколько устройств и предлагает гораздо более высокую отказоустойчивость, лучшую масштабируемость, более простое администрирование и т. д.вместе с рядом дополнительных возможностей.

F2FS

F2FS — файловая система Linux, разработанная Samsung Electronics, адаптированная к специфике устройств хранения на основе флэш-памяти NAND , которые широко используются в современных смартфонах и других вычислительных системах. Этот тип работает на основе подхода лог-структурированных файловых систем (LFS) и учитывает такие особенности флеш-хранилища, как постоянное время доступа и ограниченное количество циклов перезаписи данных.Вместо создания одного большого блока для записи, F2FS собирает блоки в отдельные блоки (до 6), которые записываются одновременно.

Концепция « жестких ссылок », используемая в таких операционных системах, делает большинство типов Linux FS похожими в том смысле, что имя файла не рассматривается как атрибут файла, а скорее определяется как псевдоним для файла в определенном каталоге. Файловый объект может быть связан из многих мест , даже умножаться из одного и того же каталога под разными именами.Это может привести к серьезным и даже непреодолимым трудностям при восстановлении имен файлов после их удаления или логического повреждения.

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

Файловые системы BSD, Solaris, Unix

Наиболее распространенной файловой системой для этих операционных систем является UFS (файловая система Unix), также часто называемая FFS (быстрая файловая система).

В настоящее время UFS (в различных редакциях) поддерживается всеми операционными системами семейства Unix и является основной файловой системой ОС BSD и ОС Sun Solaris. Современные компьютерные технологии стремятся реализовать замену UFS в различных операционных системах ( ZFS для Solaris, JFS и производные форматы для Unix и т. Д.).

Подсказка: Информацию о вероятности успешного результата при восстановлении данных из этих типов ФС можно найти в статьях об особенностях восстановления данных для конкретных ОС и возможностях восстановления данных. Сам процесс описан в инструкции, посвященной восстановлению данных из Unix, Solaris и BSD.

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

Кластерные файловые системы используются в компьютерных кластерных системах и поддерживают распределенное хранилище.

Типы распределенных ФС включают:

  • ZFS — компания Sun « Zettabyte File System » — формат, разработанный для распределенных хранилищ ОС Sun Solaris.

  • Apple Xsan — развитие компании Apple CentraVision, а затем StorNext.

  • VMFS — «Файловая система виртуальной машины », разработанная компанией VMware для своего сервера VMware ESX.

  • GFS — Red Hat Linux « Глобальная файловая система ».

  • JFS1 — исходная (устаревшая) конструкция IBM JFS , используемая в старых системах хранения AIX.

Общие свойства этих файловых систем включают поддержку распределенных хранилищ, расширяемость и модульность.

Чтобы узнать о других технологиях, используемых для хранения и обработки данных, обратитесь к разделу «Технологии хранения».

Последнее обновление: 10 сентября 2021 г.

Если вам понравилась эта статья, вы можете поделиться ею в социальных сетях:

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

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

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

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

Как работают файловые системы

Файловая система хранит и упорядочивает данные, и ее можно рассматривать как тип индекса для всех данных, содержащихся на устройстве хранения. Эти устройства могут включать жесткие диски, оптические приводы и флэш-накопители.

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

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

Пример диаграммы дерева файлов

Файловая система также включает формат для указания пути к файлу через структуру каталогов.Файл помещается в каталог — или папку в ОС Windows — или подкаталог в желаемом месте древовидной структуры. ПК и мобильные ОС имеют файловые системы, в которых файлы размещаются где-то в иерархической древовидной структуре.

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

Файловые системы и роль метаданных

Файловые системы используют метаданные для хранения и извлечения файлов. Примеры тегов метаданных:

  • Дата создания
  • Дата изменения
  • Дата последнего обращения
  • Последняя резервная копия
  • ID пользователя создателя файла
  • Разрешения на доступ
  • Размер файла

Метаданные хранятся отдельно от содержимого файла, при этом многие файловые системы хранят имена файлов в отдельных записях каталогов.Некоторые метаданные могут храниться в каталоге, тогда как другие метаданные могут храниться в структуре, называемой индексным дескриптором.

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

Примером файловой системы, использующей метаданные, является OS X, ОС, используемая Apple. Он позволяет использовать ряд функций оптимизации, включая имена файлов, которые могут растягиваться до 255 символов.

Доступ к файловой системе

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

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

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

Типы файловых систем

Существует несколько типов файловых систем с разными логическими структурами и свойствами, такими как скорость и размер.Тип файловой системы может различаться в зависимости от ОС и потребностей этой ОС. Три наиболее распространенных операционных системы для ПК — это Microsoft Windows, Mac OS X и Linux. Мобильные ОС включают Apple iOS и Google Android.

Основные файловые системы включают следующее:

Таблица размещения файлов ( FAT ) поддерживается ОС Microsoft Windows. FAT считается простой и надежной, и она создана по образцу унаследованных файловых систем. FAT была разработана в 1977 году для гибких дисков, но позже была адаптирована для жестких дисков.Хотя FAT эффективна и совместима с большинством современных операционных систем, она не может сравниться по производительности и масштабируемости с более современными файловыми системами.

Глобальная файловая система (GFS) — это файловая система для ОС Linux и файловая система совместно используемого диска. GFS предлагает прямой доступ к общему хранилищу блоков и может использоваться как локальная файловая система.

GFS2 — это обновленная версия с функциями, не включенными в исходную GFS, такими как обновленная система метаданных. Согласно условиям Стандартной общественной лицензии GNU файловые системы GFS и GFS2 доступны как бесплатное программное обеспечение.

Иерархическая файловая система (HFS) была разработана для использования с операционными системами Mac. HFS также может называться Mac OS Standard, на смену ему пришла Mac OS Extended. Первоначально представленная в 1985 году для гибких и жестких дисков, HFS заменила исходную файловую систему Macintosh. Его также можно использовать на компакт-дисках.

Файловая система NT — также известная как файловая система новой технологии ( NTFS ) — это файловая система по умолчанию для продуктов Windows из Windows NT 3.1 ОС и более поздние версии. Улучшения по сравнению с предыдущей файловой системой FAT включают улучшенную поддержку метаданных, производительность и использование дискового пространства. NTFS также поддерживается в ОС Linux с помощью бесплатного драйвера NTFS с открытым исходным кодом. В Mac OS есть поддержка NTFS только для чтения.

Универсальный дисковый формат ( UDF ) — это файловая система, не зависящая от производителя, используемая на оптических носителях и DVD. UDF заменяет файловую систему ISO 9660 и является официальной файловой системой для видео и аудио DVD, выбранной DVD Forum.

Файловая система и СУБД

Подобно файловой системе, система управления базами данных (СУБД) эффективно хранит данные, которые можно обновлять и извлекать. Однако они не взаимозаменяемы. В то время как файловая система хранит неструктурированные, часто не связанные файлы, СУБД используется для хранения структурированных связанных данных и управления ими.

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

Централизованная структура СУБД позволяет упростить совместное использование файлов, чем файловая система, и предотвращает аномалии, которые могут возникнуть при внесении отдельных изменений в файлы в файловой системе.

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

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

Определение файловых систем развивается

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

Термин файловая система может также относиться к части ОС или дополнительной программы, которая поддерживает файловую систему. Примеры таких дополнительных файловых систем включают Network File System (NFS) и Andrew File System (AFS).

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

7 способов определения типа файловой системы в Linux (Ext2, Ext3 или Ext4)

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

Файловая система разделена на два сегмента, называемых: User Data и Metadata (имя файла, время его создания, время изменения, его размер и расположение в иерархии каталогов и т. Д.).

В этом руководстве мы расскажем о семи способах определения типа файловой системы Linux, например Ext2, Ext3, Ext4, BtrFS, GlusterFS и многих других./ dev » Команда df — поиск типа файловой системы

Подробное руководство по использованию команды df можно найти в наших статьях:

  1. 12 полезных команд «df» для проверки дискового пространства в Linux
  2. Pydf — Альтернативная команда «df», показывающая использование диска в цвете

2. Использование команды fsck

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

Флаг -N отключает проверку файловой системы на наличие ошибок, он просто показывает, что будет сделано (но все, что нам нужно, это тип файловой системы):

 $ fsck -N / dev / sda3
$ fsck -N / dev / sdb1
 
fsck — Печать типа файловой системы Linux

3. Использование команды lsblk

lsblk отображает блочные устройства, при использовании с опцией -f он также печатает тип файловой системы на разделах:

 $ lsblk -f
 
lsblk — показывает тип файловой системы Linux

4./ dev »

Смонтировать — Показать тип файловой системы в Linux

5. Использование команды blkid

blkid Команда используется для поиска или печати свойств блочного устройства, просто укажите раздел диска в качестве аргумента, например:

 $ blkid / dev / sda3
 
blkid — Найти тип файловой системы

6. Использование файловой команды

файл Команда определяет тип файла, флаг -s разрешает чтение блочных или символьных файлов, а -L включает следующие символические ссылки:

 $ sudo файл -sL / dev / sda3
 
file — определяет тип файловой системы

7.Использование файла fstab

/ etc / fstab — это файл с информацией о статической файловой системе (такой как точка монтирования, тип файловой системы, параметры монтирования и т. Д.):

 $ cat / etc / fstab
 
Fstab — показывает тип файловой системы Linux

Вот и все! В этом руководстве мы объяснили семь способов определить тип файловой системы Linux. Вы знаете какой-либо метод, не упомянутый здесь? Поделитесь с нами в комментариях.

Если вы цените то, что мы делаем здесь, на TecMint, вам следует принять во внимание:

TecMint — это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете.Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей доступны БЕСПЛАТНО для всех.

Если вам нравится то, что вы читаете, пожалуйста, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Файловая система

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

Файловая система — это процесс управления тем, как и где данные на диске хранения, который также называется управлением файлами или FS.Это компонент логического диска, который сжимает файлы, разделенные на группы, известные как каталоги. Это абстрактно для человека-пользователя и связано с компьютером; следовательно, он управляет внутренними операциями диска. Файлы и дополнительные каталоги могут находиться в каталогах. Хотя в Windows существуют различные файловые системы, NTFS является наиболее распространенной в наше время. Было бы невозможно, чтобы файл с таким же именем существовал, а также невозможно было бы удалить установленные программы и восстановить определенные файлы без управления файлами, а также файлы не имели бы организации без файловой структуры.Файловая система позволяет вам просматривать файл в текущем каталоге, поскольку файлы часто управляются в иерархии.

Диск (например, жесткий диск) имеет файловую систему, независимо от типа и использования. Кроме того, он содержит информацию о размере файла, имени файла, информации о фрагменте местоположения файла и месте хранения данных на диске, а также описывает, как пользователь или приложение могут получить доступ к данным. Такие операции, как метаданные, именование файлов, управление хранилищем и каталоги / папки, управляются файловой системой.

На запоминающем устройстве файлы хранятся в секторах, в которых данные хранятся в группах секторов, называемых блоками. Размер и расположение файлов определяется файловой системой, а также помогает распознать, какие секторы готовы к использованию. Помимо Windows, существуют другие операционные системы, содержащие файловую систему FAT и NTFS. Но в продуктах Apple (например, iOS и macOS) используется HFS +, поскольку операционная система подходит для многих различных файловых систем.

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

Для работы большинству приложений, с которыми вы контактируете, требуется файловая система; следовательно, в каждом разделе должен быть один. Более того, если программа создана для использования в macOS, вы не сможете использовать эту программу в Windows, поскольку программы зависят от файловой системы.

Примеры файловых систем

Примеры файловых систем приведены ниже:

FAT: FAT — это тип файловой системы, разработанной для жестких дисков. Он обозначает таблицу размещения файлов и был впервые представлен в 1977 году, который используется для 12 или 16 бит для каждого доступа кластера к таблице размещения файлов (FAT). На жестких дисках и других компьютерных системах он помогает управлять файлами в операционных системах Microsoft. В таких устройствах, как цифровые фотоаппараты, флэш-память и другие портативные устройства, он также часто используется для хранения информации о файлах.Это также помогает продлить срок службы жесткого диска, поскольку сводит к минимуму износ жесткого диска. Сегодня FAT не используется более поздними версиями Microsoft Windows, такими как Windows XP, Vista, 7 и 10, поскольку они используют NTFS. FAT8, FAT12, FAT32, FAT16 — это разные типы FAT (для таблицы размещения файлов).

GFS: GFS — это файловая система, которая расшифровывается как Global File System. Он позволяет нескольким компьютерам работать как единая машина, которая впервые была разработана в Университете Миннесоты.Но сейчас его поддерживает Red Hat. Когда физическое расстояние между двумя или более компьютерами велико и они не могут отправлять файлы напрямую друг другу, файловая система GFS позволяет им напрямую совместно использовать группу файлов. Компьютер может организовать свой ввод-вывод для сохранения файловых систем с помощью глобальной файловой системы.

HFS: HFS (Иерархическая файловая система) — это файловая система, которая используется на компьютере Macintosh для создания каталога во время форматирования жесткого диска.Как правило, его основная функция заключается в организации или хранении файлов на жестком диске Macintosh. Apple не может поддерживать запись или форматирование дисков HFS с момента появления на рынке OS X. Кроме того, диски в формате HFS не распознаются компьютерами с Windows, поскольку HFS — это формат Macintosh. Жесткие диски Windows форматируются с помощью файловых систем WIN32 или NTFS.

NTFS: NTFS — это файловая система, которая обозначает файловую систему NT и хранит и извлекает файлы в операционной системе Windows NT и других версиях Windows, таких как Windows 2000, Windows XP, Windows 7 и Windows 10.Иногда ее называют файловой системой новой технологии. По сравнению с файловой системой FAT и HPFS, она предоставляет лучшие методы восстановления файлов и защиты данных, а также предлагает ряд улучшений с точки зрения расширяемости, безопасности и производительности.

UDF: UDF — это файловая система, расшифровывается как Universal Disk Format и впервые использованная OSTA (Ассоциация оптических технологий хранения) в 1995 году для обеспечения согласованности данных, записанных на несколько оптических носителей. Он используется с CD-ROM и DVD-ROM и поддерживается всеми операционными системами.Теперь он используется в процессе записи CD-R и CD-RW, что называется пакетной записью.

Архитектура файловой системы

Файловая система содержит два или три уровня. Иногда эти слои работают вместе, а иногда явно разделены. Для файловых операций API (интерфейс прикладных программ) предоставляется логической файловой системой, такой как OPEN, CLOSE, READ и т. Д., Поскольку она отвечает за взаимодействие с пользовательским приложением. Кроме того, для обработки запрошенная операция перенаправляется на уровень, расположенный под ней.Кроме того, для различных одновременных экземпляров физических файловых систем второй дополнительный уровень позволяет поддерживать виртуальную файловую систему. И каждый параллельный экземпляр называется реализацией файловой системы.

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

Типы файловых систем

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

1. Дисковые файловые системы

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

2. Файловые системы Flash

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

3. Ленточные файловые системы

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

4. Файловые системы баз данных

Файловая система на основе базы данных — еще один метод управления файлами. Файлы распознаются по их характеристикам (например, по типу файла, автору, теме и т. Д.), А не по иерархическому структурированному управлению.

5. Транзакционные файловые системы

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

6. Сетевые файловые системы

Сетевая файловая система предлагает доступ к файлам на сервере. На удаленных компьютерах, подключенных к сети, с помощью локальных интерфейсов программы могут прозрачно создавать, управлять и получать доступ к иерархическим файлам и каталогам.Клиенты, подобные файловой системе, для FTP и WebDAV, а также AFS, протоколы SMB, NFS — все это примеры сетевых файловых систем.

7. Общие дисковые файловые системы

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

8. Минимальная файловая система

В 1970-х годах для некоторых первоначальных пользователей микрокомпьютеров дисковые и цифровые ленточные устройства были очень дорогими. Было разработано несколько более дешевых базовых систем хранения данных, использующих обычную аудиокассету. На кассетном магнитофоне пользователь был проинформирован о нажатии кнопки «ЗАПИСЬ», когда система требовала записи данных. И, чтобы уведомить систему, нажмите «ВОЗВРАТ» на клавиатуре. Кроме того, на кассетном магнитофоне пользователю нужно было нажимать кнопку «PLAY», когда системе требовалось считывать данные.

9. Плоские файловые системы

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


Глава 1. Обзор доступных файловых систем Red Hat Enterprise Linux 8

Выбор файловой системы, подходящей для вашего приложения, является важным решением из-за большого количества доступных опций и связанных с этим компромиссов.В этой главе описаны некоторые файловые системы, поставляемые с Red Hat Enterprise Linux 8, а также приведены исторические сведения и рекомендации по правильной файловой системе, подходящей для вашего приложения.

1.1. Типы файловых систем

Red Hat Enterprise Linux 8 поддерживает множество файловых систем (FS). Различные типы файловых систем решают разные проблемы, и их использование зависит от конкретного приложения. На самом общем уровне доступные файловые системы можно сгруппировать по следующим основным типам:

Таблица 1.1. Типы файловых систем и их варианты использования

Тип Файловая система Атрибуты и варианты использования

Диск или локальная ФС

XFS

XFS — это файловая система по умолчанию в RHEL. Поскольку он размещает файлы как экстенты, он менее уязвим для фрагментации, чем ext4.Red Hat рекомендует развернуть XFS в качестве локальной файловой системы, если нет особых причин, чтобы поступить иначе: например, совместимость или крайние случаи, связанные с производительностью.

ext4

ext4 имеет преимущество долговечности в Linux. Поэтому он поддерживается практически всеми приложениями Linux. В большинстве случаев по производительности он соперничает с XFS. ext4 обычно используется для домашних каталогов.

Сетевая или клиент-серверная ФС

NFS

Используйте NFS для обмена файлами между несколькими системами в одной сети.

SMB

Используйте SMB для обмена файлами с системами Microsoft Windows.

Общее хранилище или общий диск FS

GFS2

GFS2 предоставляет общий доступ для записи членам вычислительного кластера. Акцент делается на стабильности и надежности, с максимально возможной функциональностью локальной файловой системы.SAS Grid, Tibco MQ, IBM Websphere MQ и Red Hat Active MQ были успешно развернуты на GFS2.

Управление объемом FS

Stratis (предварительный просмотр технологий)

Stratis — это менеджер томов, построенный на комбинации XFS и LVM. Цель Stratis — имитировать возможности, предлагаемые файловыми системами управления томами, такими как Btrfs и ZFS.Этот стек можно создать вручную, но Stratis упрощает конфигурацию, реализует передовые практики и консолидирует информацию об ошибках.

Локальные файловые системы — это файловые системы, которые работают на одном локальном сервере и напрямую подключены к хранилищу.

Например, локальная файловая система является единственным выбором для внутренних дисков SATA или SAS и используется, когда на вашем сервере есть внутренние аппаратные RAID-контроллеры с локальными дисками.Локальные файловые системы также являются наиболее распространенными файловыми системами, используемыми в хранилище, подключенном к SAN, когда устройство, экспортированное в SAN, не является общим.

Все локальные файловые системы совместимы с POSIX и полностью совместимы со всеми поддерживаемыми выпусками Red Hat Enterprise Linux. Совместимые с POSIX файловые системы обеспечивают поддержку четко определенного набора системных вызовов, таких как read () , write () и seek () .

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

Доступные локальные файловые системы

1.3. Файловая система XFS

XFS — это хорошо масштабируемая, высокопроизводительная, надежная и зрелая 64-разрядная файловая система с журналированием, которая поддерживает очень большие файлы и файловые системы на одном хосте.Это файловая система по умолчанию в Red Hat Enterprise Linux 8. XFS была первоначально разработана SGI в начале 1990-х и имеет долгую историю работы на очень больших серверах и массивах хранения.

К особенностям XFS относятся:

Надежность
  • Журнал метаданных, который обеспечивает целостность файловой системы после сбоя системы за счет записи операций файловой системы, которые могут быть воспроизведены при перезапуске системы и перемонтировании файловой системы.
  • Расширенная проверка согласованности метаданных во время выполнения
  • Масштабируемые и быстрые утилиты ремонта
  • Ведение журнала квот.Это позволяет избежать длительных проверок согласованности квот после сбоя.
Масштабируемость и производительность
  • Поддерживаемый размер файловой системы до 1024 ТиБ
  • Возможность поддерживать большое количество одновременных операций
  • Индексирование B-дерева для масштабируемости управления свободным пространством
  • Сложные алгоритмы упреждающего чтения метаданных
  • Оптимизация для рабочих нагрузок потокового видео
Схемы распределения
  • Распределение на основе экстента
  • Политики выделения полос с учетом полос
  • Отложенное распределение
  • Предварительное распределение места
  • Динамически выделяемые inodes
Другие функции
  • Копии файлов на основе ссылок (новое в Red Hat Enterprise Linux 8)
  • Тесно интегрированные утилиты резервного копирования и восстановления
  • Онлайн-дефрагментация
  • Онлайн-файловая система растет
  • Возможности всесторонней диагностики
  • Расширенные атрибуты ( xattr ).Это позволяет системе связывать несколько дополнительных пар имя / значение для каждого файла.
  • Квоты проекта или каталога. Это позволяет ограничивать квоты по дереву каталогов.
  • Субсекундные временные метки

Рабочие характеристики

XFS обладает высокой производительностью в больших системах с корпоративными рабочими нагрузками. Большая система — это система с относительно большим количеством процессоров, несколькими HBA и подключениями к внешним дисковым массивам.XFS также хорошо работает в небольших системах с многопоточной рабочей нагрузкой параллельного ввода-вывода.

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

1.4. Файловая система ext4

Файловая система ext4 — это четвертое поколение семейства файловых систем ext. Это была файловая система по умолчанию в Red Hat Enterprise Linux 6.

Драйвер ext4 может читать и записывать в файловые системы ext2 и ext3, но формат файловой системы ext4 несовместим с драйверами ext2 и ext3.

ext4 добавляет несколько новых и улучшенных функций, таких как:

  • Поддерживаемый размер файловой системы до 50 ТиБ
  • Метаданные на основе экстентов
  • Отложенное распределение
  • Контрольная сумма журнала
  • Поддержка большого хранилища

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

Время восстановления файловой системы с помощью утилиты fsck в ext4 намного быстрее, чем в ext2 и ext3.Некоторые исправления файловых систем продемонстрировали шестикратное увеличение производительности.

1.5. Сравнение XFS и ext4

XFS — это файловая система по умолчанию в RHEL. В этом разделе сравниваются использование и функции XFS и ext4.

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

В ext4 вы можете включить квоты при создании файловой системы или позже в существующей файловой системе. Затем вы можете настроить принудительное применение квот с помощью параметра монтирования.

Квоты XFS не подлежат замене. Вы должны активировать квоты на начальном маунте.

Выполнение команды quotacheck в файловой системе XFS не имеет никакого эффекта. При первом включении учета квот XFS проверяет квоты автоматически.

Изменение размера файловой системы
XFS не имеет утилиты для уменьшения размера файловой системы. Вы можете только увеличить размер файловой системы XFS. Для сравнения, ext4 поддерживает как расширение, так и уменьшение размера файловой системы.
Номера Inode

Файловая система ext4 не поддерживает более 2 32 инодов.

XFS динамически выделяет inodes. Файловая система XFS не может исчерпать inodes, пока в файловой системе есть свободное место.

Некоторые приложения не могут правильно обрабатывать номера inode, превышающие 2 32 в файловой системе XFS. Эти приложения могут вызвать сбой при вызове 32-битной статистики с возвращаемым значением EOVERFLOW . Номер индекса превышает 2 32 при следующих условиях:

  • Файловая система больше 1 ТиБ с 256-байтовыми индексами.
  • Файловая система больше 2 ТиБ с 512-байтовыми индексами.

Если ваше приложение не работает с большими номерами inode, смонтируйте файловую систему XFS с опцией -o inode32 , чтобы принудительно использовать номера inode ниже 2 32 . Обратите внимание, что использование inode32 не влияет на inode, которые уже выделены 64-битными числами.

Не используйте , а не , используйте параметр inode32 , если этого не требует конкретная среда. Параметр inode32 изменяет поведение распределения.Как следствие, ошибка ENOSPC может возникнуть, если нет места для выделения inode в нижних дисковых блоках.

1,6. Выбор локальной файловой системы

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

  • У вас большой сервер?
  • У вас большие требования к хранилищу или у вас есть локальный медленный диск SATA?
  • Какую рабочую нагрузку ввода-вывода вы ожидаете от вашего приложения?
  • Каковы ваши требования к пропускной способности и задержке?
  • Насколько стабильны ваш сервер и оборудование для хранения?
  • Каков типичный размер ваших файлов и наборов данных?
  • Если система выйдет из строя, сколько времени вы можете потерять?

Если и ваш сервер, и ваше устройство хранения большие, XFS — лучший выбор.Даже с меньшими массивами хранения XFS работает очень хорошо при больших размерах файлов (например, в сотни мегабайт).

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

Файловая система ext4 имеет тенденцию работать лучше в системах с ограниченными возможностями ввода-вывода. Он лучше работает при ограниченной пропускной способности (менее 200 МБ / с) и до 1000 операций ввода-вывода в секунду.Для всего, что имеет более высокие возможности, XFS имеет тенденцию быть быстрее.

XFS потребляет примерно вдвое больше операций ЦП на метаданные по сравнению с ext4, поэтому, если у вас есть рабочая нагрузка, связанная с ЦП, с небольшим параллелизмом, ext4 будет быстрее. В общем, ext4 лучше, если приложение использует один поток чтения / записи и небольшие файлы, в то время как XFS светится, когда приложение использует несколько потоков чтения / записи и файлы большего размера.

Вы не можете сжать файловую систему XFS. Если вам нужно сжать файловую систему, рассмотрите возможность использования ext4, который поддерживает сжатие в автономном режиме.

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

Таблица 1.2. Сводка рекомендаций по локальной файловой системе

Сценарий Рекомендуемая файловая система

Нет специального варианта использования

XFS

Большой сервер

XFS

Большие запоминающие устройства

XFS

Большие файлы

XFS

Многопоточный ввод / вывод

XFS

Однопоточный ввод-вывод

ext4

Ограниченные возможности ввода-вывода (менее 1000 IOPS)

ext4

Ограниченная пропускная способность (менее 200 МБ / с)

ext4

Рабочая нагрузка, связанная с процессором

ext4

Поддержка автономного сжатия

ext4

1.7. Сетевые файловые системы

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

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

Доступные сетевые файловые системы
  • Наиболее распространенной файловой системой клиент / сервер для клиентов RHEL является файловая система NFS. RHEL предоставляет как компонент сервера NFS для экспорта локальной файловой системы по сети, так и клиент NFS для импорта этих файловых систем.
  • RHEL также включает клиент CIFS, который поддерживает популярные файловые серверы Microsoft SMB для взаимодействия с Windows. Сервер Samba пользовательского пространства предоставляет клиентам Windows службу Microsoft SMB с сервера RHEL.

1.8. Файловые системы с общим хранилищем

Файловые системы общего хранилища, иногда называемые файловыми системами кластера, предоставляют каждому серверу в кластере прямой доступ к общему блочному устройству через локальную сеть хранения данных (SAN).

Сравнение с сетевыми файловыми системами
Подобно файловым системам клиент / сервер, файловые системы общего хранилища работают на наборе серверов, которые все являются членами кластера. Однако, в отличие от NFS, ни один сервер не предоставляет доступ к данным или метаданным другим участникам: каждый член кластера имеет прямой доступ к одному и тому же устройству хранения (общее хранилище , ), и все узлы-члены кластера имеют доступ к одному и тому же набору файлов. .
Параллелизм

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

Требование к файловым системам кластера — предоставлять высокодоступный сервис, такой как веб-сервер Apache. Любой член кластера будет видеть полностью согласованное представление данных, хранящихся в их файловой системе общего диска, и все обновления будут корректно обрабатываться механизмами блокировки.

Тактико-технические характеристики

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

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

Доступные файловые системы общего хранилища
  • Red Hat Enterprise Linux предоставляет файловую систему GFS2. GFS2 тесно интегрирована с надстройкой высокой доступности Red Hat Enterprise Linux и надстройкой отказоустойчивого хранилища.

Red Hat Enterprise Linux поддерживает GFS2 на кластерах размером от 2 до 16 узлов.

1.9. Выбор между сетевой файловой системой и файловой системой с общим хранилищем

При выборе между сетевой файловой системой и файловой системой с общим хранилищем учитывайте следующие моменты:

  • Сетевые файловые системы на основе NFS — чрезвычайно распространенный и популярный выбор для сред, которые предоставляют серверы NFS.
  • Сетевые файловые системы могут быть развернуты с использованием высокопроизводительных сетевых технологий, таких как Infiniband или 10 Gigabit Ethernet. Это означает, что вам не следует обращаться к файловым системам общего хранилища только для того, чтобы получить чистую пропускную способность для вашего хранилища. Если скорость доступа имеет первостепенное значение, используйте NFS для экспорта локальной файловой системы, такой как XFS.
  • Файловые системы общего хранилища непросто настроить или поддерживать, поэтому развертывать их следует только в том случае, если вы не можете обеспечить требуемую доступность ни для локальной, ни для сетевой файловой системы.
  • Файловая система общего хранилища в кластерной среде помогает сократить время простоя, устраняя действия, необходимые для размонтирования и монтирования, которые необходимо выполнить во время типичного сценария переключения при отказе, включающего перемещение службы высокой доступности.

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

1.10. Файловые системы с управлением томами

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

Доступные файловые системы с управлением томами
  • Red Hat Enterprise Linux 8 предоставляет диспетчер томов Stratis как предварительную версию технологии. Stratis использует XFS для уровня файловой системы и интегрирует его с LVM, Device Mapper и другими компонентами.

Stratis впервые был выпущен в Red Hat Enterprise Linux 8.0. Это задумано, чтобы заполнить пробел, образовавшийся, когда Red Hat отказался от поддержки Btrfs. Stratis 1.0 — это интуитивно понятный диспетчер томов на основе командной строки, который может выполнять важные операции по управлению хранилищем, скрывая сложность от пользователя:

  • Управление томом
  • Создание пула
  • Тонкие пулы хранения
  • Снимки
  • Кэш автоматического чтения

Stratis предлагает мощные функции, но в настоящее время ему не хватает некоторых возможностей других предложений, с которыми его можно было бы сравнить, таких как Btrfs или ZFS.В частности, он не поддерживает CRC с самовосстановлением.

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

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

Сегодня доступно множество файловых систем. Различные файловые системы имеют разные структуры, логику, функции, гибкость, безопасность и т. Д.Некоторые из наиболее распространенных файловых систем: Ext4, Btrfs, XFS, ZFS, NTFS, FAT32 и т. Д.

Бывают случаи, когда системному администратору Linux необходимо определить тип файловой системы, чтобы просто смонтировать файловую систему или диагностировать проблемы с файловой системой. Различные файловые системы имеют разные инструменты для диагностики проблем, проверки ошибок и их исправления и т. Д. Таким образом, вы должны знать файловую систему, которую использует устройство хранения, чтобы определить инструмент / инструменты обслуживания, которые следует использовать.

В этой статье я покажу вам различные способы определения типа файловой системы в Linux.Итак, приступим.

Способ 1. Использование инструмента командной строки df

Программа командной строки df предустановлена ​​почти во всех дистрибутивах Linux, которые вы найдете. Вы можете использовать программу командной строки df , чтобы найти тип файловой системы для всех подключенных запоминающих устройств и разделов.

Чтобы узнать тип файловой системы всех подключенных устройств хранения и разделов вашего компьютера, выполните команду df следующим образом:

Команда df покажет вам следующую информацию:
Файловая система: Имя устройства хранения или имя раздела, смонтированного в данный момент.

Установлено на: Каталог, в котором смонтировано запоминающее устройство / раздел (файловая система).

Тип: Тип файловой системы подключенного запоминающего устройства / раздела.

Размер: Размер подключенного запоминающего устройства / раздела.

Используется: Дисковое пространство, которое используется на подключенном запоминающем устройстве / разделе.

Использовать%: Процент дискового пространства, используемого для подключенного устройства хранения / раздела.

Доступен: Объем свободного дискового пространства подключенного устройства хранения / раздела.

В Ubuntu команда df покажет вам множество устройств loop , как вы можете видеть на снимке экрана ниже.

Вы можете скрыть loop устройств с помощью опции -x команды df следующим образом:

Вы также можете скрыть устройства tmpfs из вывода команды df .

Чтобы скрыть устройства tmpfs из вывода команды df , запустите команду df с параметром -x следующим образом:

$ df -Th -x squashfs -x tmpfs

Теперь вывод выглядит намного чище. Если хотите, вы можете удалить устройства udev из вывода команды df.

Чтобы удалить устройства udev из вывода команды df , запустите команду df следующим образом:

$ df -Th -x squashfs -x tmpfs -x devtmpfs

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

Способ 2: Использование команды lsblk

Программа командной строки lsblk предустановлена ​​почти в каждом дистрибутиве Linux, который вы найдете. Вы можете использовать программу командной строки lsblk , чтобы найти тип файловой системы для всех (подключенных и отключенных) устройств хранения и разделов вашего компьютера.

Чтобы найти тип файловой системы для всех (подключенных и отключенных) устройств хранения и разделов вашего компьютера, выполните команду lsblk следующим образом:

Команда lsblk покажет вам следующую информацию:
ИМЯ: Имя устройства хранения или имя раздела устройства хранения.

MOUNTPOINT: Каталог, в котором смонтировано запоминающее устройство / раздел (файловая система) (если смонтировано).

FSTYPE: Тип файловой системы устройства хранения / раздела.

LABEL: Метка файловой системы устройства хранения / раздела.

UUID: UUID (универсальный уникальный идентификатор) файловой системы устройства хранения / раздела.

FSUSE%: Процент дискового пространства, используемого устройством хранения / разделом.

FSAVAIL: Объем свободного дискового пространства устройства хранения / раздела

Как и раньше, вы можете скрыть петлевые устройства из вывода команды lsblk .

Чтобы скрыть устройства петли из вывода команды lsblk , запустите команду lsblk с параметром -e7 следующим образом:

Как видите, все устройства петли удалены из вывода команды lsblk .Результат выглядит намного чище, чем раньше.

Способ 3: Использование команды blkid

Программа командной строки blkid предустановлена ​​почти в каждом дистрибутиве Linux, который вы найдете. Вы можете использовать программу командной строки blkid , чтобы найти тип файловой системы для всех (подключенных и отключенных) запоминающих устройств и разделов вашего компьютера.

Чтобы найти тип файловой системы для всех (подключенных и отключенных) устройств хранения и разделов вашего компьютера, выполните команду blkid следующим образом:

Команда lsblk покажет вам следующую информацию:
ИМЯ: Имя устройства хранения или имя раздела устройства хранения.то есть / dev / sda1, / dev / sda5 .

UUID: UUID (универсальный уникальный идентификатор) файловой системы устройства хранения / раздела.

TYPE: Тип файловой системы устройства хранения / раздела.

PARTUUID: UUID (универсальный уникальный идентификатор) раздела.

Вы также можете скрыть петлевые устройства из вывода команды blkid, как и раньше.

Чтобы скрыть устройства петли из вывода команды blkid , выполните команду blkid следующим образом:

$ блкид | grep -v ‘ТИП = «squashfs»‘

Как видите, устройства контура не отображаются в выводе команды blkid .Результат выглядит намного лучше, чем раньше.

Способ 4: Использование файловой команды

Программа командной строки file предустановлена ​​почти во всех дистрибутивах Linux, которые вы найдете. Вы можете использовать программу командной строки find для определения типа файла в Linux. Поскольку каждое устройство в Linux считается файлом , вы можете использовать программу командной строки find для определения типа файловой системы устройства хранения или раздела в Linux.

Например, чтобы определить тип файловой системы раздела sdb1 , вы можете запустить команду file следующим образом:

$ sudo файл -sL / dev / sda1

Если вы прочитаете вывод команды file, вы увидите, что раздел sdb1 использует файловую систему FAT32 .

Таким же образом вы можете найти тип файловой системы раздела sda5 с помощью команды file следующим образом:

$ sudo файл -sL / dev / sda5

Как видите, раздел sda5 использует файловую систему EXT4 .

Способ 5: Использование команды mount и файла / etc / mtab

Файл / etc / mtab содержит запись для всех подключенных устройств хранения и разделов вашего компьютера. Вы можете прочитать этот файл, чтобы узнать тип файловой системы ваших устройств хранения и разделов. Программа командной строки mount также распечатывает содержимое файла / etc / mtab . Таким образом, вы также можете использовать программу командной строки mount для поиска тех же данных.

Вы можете прочитать содержимое файла / etc / mtab с помощью следующей команды:

Как видите, в файле / etc / mtab содержится много информации о монтировании.

Вы можете найти ту же информацию с помощью команды mount , как показано на снимке экрана ниже.

Поскольку файл / etc / mtab или выходные данные команды монтирования содержат много записей монтирования, их трудно интерпретировать.Вы можете использовать команду grep , чтобы отфильтровать вывод и очень легко найти то, что вам нужно.

Например, чтобы определить тип файловой системы раздела sda1 с помощью команды mount или файла / etc / mtab , выполните одну из следующих команд:

$ cat / etc / mtab | grep / dev / sda1

Или,

Как видите, тип файловой системы раздела sda1 FAT32 / vfat

.

Таким же образом, чтобы определить тип файловой системы раздела sda5 с помощью команды mount или файла / etc / mtab , выполните одну из следующих команд:

$ cat / etc / mtab | grep / dev / sda5

Или,

Как видите, тип файловой системы раздела sda5 EXT4 .

Способ 6. Использование файла / etc / fstab

В файле / etc / fstab хранится запись для каждого устройства хранения или раздела, которое должно автоматически монтироваться во время загрузки.Итак, вы можете прочитать этот файл, чтобы узнать тип файловой системы желаемого устройства хранения или раздела.

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

Вы можете прочитать содержимое файла / etc / fstab с помощью следующей команды:

Содержимое файла / etc / fstab .

Вы можете видеть, что устройство хранения или раздел с UUID 3f962401-ba93-46cb-ad87-64ed6cf55a5f использует файловую систему EXT4 .

Устройство хранения или раздел с UUID dd55-ae26 использует файловую систему vfat / FAT3 2.

Строки, начинающиеся с # в файле / etc / fstab , являются комментарием.# ‘/ и т.д. / fstab

Как видите, комментарии исчезли, и результат выглядит намного чище, чем раньше.

В файле / etc / fstab по умолчанию используется UUID вместо имени устройства хранения или имени раздела. Вы можете использовать команду blkid для преобразования UUID в имя устройства хранения или имя раздела.

Например, чтобы преобразовать UUID 3f962401-ba93-46cb-ad87-64ed6cf55a5f в имя устройства хранения или раздела, выполните команду blkid следующим образом:

$ blkid -U 3f962401-ba93-46cb-ad87-64ed6cf55a5f

Как видите, раздел sda5 имеет UUID 3f962401-ba93-46cb-ad87-64ed6cf55a5f .

Таким же образом можно найти устройство хранения или имя раздела с UUID DD55-AE26 следующим образом:

Как видите, раздел sda1 имеет UUID DD55-AE26 .

Вывод:

В этой статье были показаны различные способы определения типа файловой системы устройства хранения / раздела в Linux. Я показал вам, как использовать команды df, lsblk, blkid, file и mount для определения типа файловой системы устройств хранения и разделов Linux.

Leave a comment