Формат ext3 что это
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
ext3 (Third Extended File system)
Полное название | Third extended file system |
---|---|
Содержимое каталога | Table, hashed B-tree with dir_index enabled |
Распределение файлов | bitmap (free space), table (metadata) |
Сбойные блоки | Table |
Limits | |
Макс. размер тома | 4 TiB – 32 TiB |
Макс. размер файла | 16 GiB – 2 TiB |
Макс. количество файлов | Variable, allocated at creation time [1] |
Макс. длина имени файла | 255 bytes |
Разрешенные символы в именах файлов | All bytes except NUL (‘\0’) and ‘/’ |
Features | |
Даты зарегистрирован | modification (mtime), attribute modification (ctime), access (atime) |
Диапазон дат | December 14, 1901 – January 18, 2038 |
Дата резолюции | 1 s |
Признаки | allow-undelete, append-only, h-tree (directory), immutable, journal, no-atime, no-dump, secure-delete, synchronous-write, top (directory) |
Разрешения файловой системы | Unix permissions, ACLs and arbitrary security attributes (Linux 2.6 and later) |
Прозрачное сжатие | No |
Транспорантное шифрование | No (provided at the block device level) |
Дедупликация данных | No |
Другие | |
Операционная система | Linux, BSD, Windows (through an IFS) |
ext3 (англ. Third Extended File system ) – это расширенная версия одноименной файловой системы Extended file system (ext). Ext3 журналируема, является расширением к ext2 файловой системе. Она обратно совместима с ext2 и преобразование из ext2 в ext3 является очень простым. Используется в операционных системах на ядре Linux, является файловой системой по умолчанию во многих дистрибутивах. Для ее использования не требуется никаких установок, все необходимые пакеты доступны в основной LFS системе. Дата представления: ноябрь 2001 года (Linux 2.4.15).
Содержание
Описание
Стандартом предусмотрено три режима журналирования:
Указывается режим журналирования в строке параметров для программы mount, например:
Файловая система ext3 может поддерживать файлы размером до 1 ТБ. С Linux-ядром 2.4 объём файловой системы ограничен максимальным размером блочного устройства, что составляет 2 терабайта. В Linux 2.6 (для 32-разрядных процессоров) максимальный размер блочных устройств составляет 16 ТБ, однако ext3 поддерживает только до 4 ТБ.
Из ext2 в ext3
В большинстве случаев перевод файловых систем из одного формата в другой влечет за собой резервное копирование всех содержащихся данных, переформатирование разделов или логических томов, содержащих файловую систему, и затем восстановление всех данных на эту файловую систему. В связи с совместимостью файловых систем ext2 и ext3, все эти действия можно не проводить, и перевод может быть сделать с помощью одной команды (запущенной с полномочиями root):
Например, перевод файловой системы ext2 расположенной на разделе /dev/hda5 в файловую систему ext3 может быть осуществлен с помощью следующей команды:
Опция ‘-j’ команды ‘tune2fs’ создает журнал ext3 на существующей ext2 файловой системе. После перевода файловой системы ext2 в ext3, нужно так же должны внести изменения в записи файла /etc/fstab, для указания что теперь раздел является файловой системой ‘ext3’. Также, можно использовать авто определение типа раздела (опция «auto»), но все же рекомендуется явно указывать тип файловой системы. Следующий пример файл /etc/fstab показывает изменения до и после перевода файловой системы для раздела /dev/hda5:
Последнее поле в /etc/fstab указывает этап в загрузке, во время которого целостность файловой системы должна быть проверена с помощью утилиты «fsck». При использовании файловой системы ext3, вы можете установить это значение в ‘0’, как показано на предыдущем примере. Это означает что программа ‘fsck’ никогда не будет проверять целостность файловой системе, в связи с тем что целостность файловой системы гарантируется путем отката в журнале.
Перевод корневой файловой системы в ext3 требует особого подхода, и лучше всего его проводить в режиме одного пользователя (single user mode) после создания RAM диска поддерживающего файловую систему ext3.
Ограничения размеров
Размер блока | Max размер файла | Max размер ФС |
---|---|---|
1 KiB | 16 GiB | до 2 TiB |
2 KiB | 256 GiB | до 8 TiB |
4 KiB | 2 TiB | до 16 TiB |
8 KiB (+прим.) | 2 TiB | до 32 TiB |
(+прим.) Размер данного блока в Linux доступен только на архитектурах, поддерживающих страницы в 8 KiB, например, Alpha.
СОДЕРЖАНИЕ
Преимущества
ext3 добавляет в ext2 следующие функции:
Ограничения по размеру
Размер блока | Максимальный размер файла | Максимальный размер файловой системы |
---|---|---|
1 КБ | 16 ГиБ | 2 ТиБ |
2 КБ | 256 ГиБ | 8 ТиБ |
4 КБ | 2 ТиБ | 16 ТиБ |
8 КБ | 2 ТиБ | 32 ТиБ |
Уровни ведения журнала
В реализации ext3 для Linux доступны три уровня журналирования :
Во всех трех режимах внутренняя структура файловой системы остается неизменной даже после сбоя. В любом случае будет затронуто только содержимое данных файлов или каталогов, которые изменялись при сбое системы; остальное останется нетронутым после восстановления.
Недостатки
Функциональность
ext3, как и большинство современных файловых систем Linux, не следует редактировать с помощью fsck, пока файловая система смонтирована для записи. Попытка проверить файловую систему, которая уже смонтирована в режиме чтения / записи, (очень вероятно) обнаружит несоответствия в метаданных файловой системы. Если метаданные файловой системы изменяются, и fsck применяет изменения в попытке привести «несогласованные» метаданные в «согласованное» состояние, попытка «исправить» несоответствия приведет к повреждению файловой системы.
Дефрагментация
Существуют инструменты дефрагментации пользовательского пространства, такие как Shake и defrag. Встряхивание работает, выделяя пространство для всего файла как одну операцию, что обычно заставляет распределитель находить непрерывное дисковое пространство. Если есть файлы, которые используются одновременно, Shake попытается записать их рядом друг с другом. Дефрагментация копирует каждый файл поверх самого себя. Однако эта стратегия работает только в том случае, если в файловой системе достаточно свободного места. Настоящего инструмента дефрагментации для ext3 не существует.
Однако, как указано в Руководстве системного администратора Linux: «Современные файловые системы Linux сводят фрагментацию к минимуму, сохраняя все блоки в файле близко друг к другу, даже если они не могут быть сохранены в последовательных секторах. Некоторые файловые системы, такие как ext3, эффективно выделить свободный блок, ближайший к другим блокам в файле. Поэтому не нужно беспокоиться о фрагментации в системе Linux ».
В то время как ext3 устойчив к фрагментации файлов, ext3 может фрагментироваться с течением времени или для определенных шаблонов использования, таких как медленная запись больших файлов. Следовательно, ext4 (преемник ext3) имеет онлайн-утилиту дефрагментации файловой системы e4defrag и в настоящее время поддерживает экстенты (смежные области файлов).
Отменить удаление
ext3 не поддерживает восстановление удаленных файлов. Драйвер ext3 активно удаляет файлы, стирая inodes файлов из соображений безопасности при сбоях.
Есть еще несколько методов и несколько бесплатных и проприетарных программ для восстановления удаленных или утерянных файлов с помощью анализа журнала файловой системы; однако они не гарантируют восстановление какого-либо конкретного файла.
Сжатие
Отсутствие поддержки снимков
Нет контрольной суммы в журнале
ext3 не производит контрольную сумму при записи в журнал. На запоминающем устройстве с дополнительным кешем, если в качестве параметра монтирования не включен барьер = 1 (в / etc / fstab ), и если оборудование выполняет кэширование записи вне очереди, существует риск серьезного повреждения файловой системы во время авария. Это связано с тем, что устройства хранения с кешами записи сообщают системе, что данные были полностью записаны, даже если они были записаны в (энергозависимый) кеш.
Если записи на жесткий диск выполняются не по порядку (из-за того, что современные жесткие диски кэшируют записи, чтобы амортизировать скорость записи), вполне вероятно, что один из них запишет блок фиксации транзакции до того, как будут записаны другие соответствующие блоки. Если сбой питания или неисправимый сбой произойдет до того, как будут записаны другие блоки, систему придется перезагрузить. После перезагрузки файловая система воспроизведет журнал как обычно и воспроизведет «победителей» (транзакции с блоком фиксации, включая указанную выше недопустимую транзакцию, которая помечена действительным блоком фиксации). Незавершенная запись на диск, указанная выше, будет продолжена, но с использованием поврежденных данных журнала. Таким образом, файловая система по ошибке перезапишет обычные данные поврежденными при воспроизведении журнала. Если бы использовались контрольные суммы, где блоки транзакции «ложного победителя» были помечены взаимной контрольной суммой, файловая система могла бы знать лучше и не воспроизводить поврежденные данные на диске. Контрольная сумма журнала была добавлена в ext4.
Файловые системы, проходящие через интерфейс устройства сопоставления (включая программные реализации RAID и LVM), могут не поддерживать барьеры и будут выдавать предупреждение, если используется этот параметр монтирования. Есть также некоторые диски, которые не реализуют должным образом расширение очистки кеша записи, необходимое для работы барьеров, что вызывает аналогичное предупреждение. В этих ситуациях, когда барьеры не поддерживаются или не практичны, надежное упорядочение записи возможно путем отключения кеша записи диска и использования data=journal опции монтирования. Отключение кеша записи на диске может потребоваться даже при наличии барьеров.
Такие приложения, как базы данных, ожидают вызова fsync () для сброса отложенных записей на диск, а реализация барьера не всегда очищает кеш записи диска в ответ на этот вызов. Также существует потенциальная проблема с реализацией барьера, связанная с обработкой ошибок во время событий, таких как сбой диска. Также известно, что иногда некоторые технологии виртуализации неправильно перенаправляют команды fsync или flush на базовые устройства (файлы, тома, диск) из гостевой операционной системы. Точно так же некоторые жесткие диски или контроллеры осуществляют очистку кеша неправильно или не реализуют очистку кеша, но по-прежнему объявляют, что она поддерживается, и не возвращают никаких ошибок при ее использовании. Существует так много способов обработки fsync и некорректной обработки кеша записи, что безопаснее предположить, что очистка кеша не работает, если она не проверена явным образом, независимо от того, насколько надежными считаются отдельные компоненты.
Ближайшее исчезновение из-за ограничения даты
Файловые системы накопителей
Содержание
Содержание
Именно файловые системы определяют способ хранения информации в виде привычных нам файлов, а также насколько быстро будет осуществляться доступ к данным и с какими ограничениями столкнутся пользователи.
Существует больше 30 файловых систем (ФС), большая часть которых имеет специфическое применение. Например, ФС под названием XFS создана исключительно для операционной системы IRIX, а DTFS — это файловая система, специализирующаяся на сжатии данных.
Если говорить относительно обычных пользователей ПК на Windows, MacOS и Linux, то для них список можно сократить до нескольких самых распространенных.
FAT32
Файловая система, разработанная компанией Microsoft на замену FAT16. Структурно вся область диска в FAT32 делится на кластеры размером от 512 байт до 32 Кбайт. Представьте себе тетрадь в клеточку. Каждая клетка — это кластер, в который может быть записан файл или его часть. Таким образом, большие файлы состоят из цепочки кластеров, которые совсем не обязательно будут располагаться друг за другом.
Не будем погружаться в технические дебри и расскажем о том, что больше всего интересует обычных пользователей — плюсы и минусы FAT32.
Главное и пока неоспоримое достоинство этой файловой системы — ее универсальность. FAT32 работает практически со всеми операционными системами Windows, а также без проблем распознается linux, MacOS, операционными системами игровых приставок и даже Android (если в смартфоне предусмотрена поддержка OTG).
Именно поэтому флеш-накопители чаще всего форматируют в FAT32, чтобы не иметь проблем с совместимостью на различных устройствах. С завода больше 90% всех флешек поставляется с этой ФС. Параллельно к плюсам относится высокая скорость работы с малыми и средними файлами (десятки/сотни мегабайт) и нетребовательность к объему ОЗУ.
Однако почтенный возраст FAT32 (больше 24 лет, что по меркам IT-индустрии просто огромный срок) накладывает ряд неприятных ограничений.
Несмотря на то, что размер тома с технической точки зрения может доходить до 8 ТиБ (тебибайт), что составляет около 8,7 ТБ, по факту в операционных системах Windows из-за встроенного ограничения вы не сможете создать том больше 32 ГБ. Соответственно, разметить большие жесткие диски, по крайней мере в Windows, в FAT32 не получится. Возникнут проблемы и с флешками на 64 ГБ.
Другое, более существенное ограничение — размер одного файла не может превышать 4 ГБ. Учитывая, что бэкапы, фильмы в высоком разрешении и архивы с различной информацией весят больше этого предела, ограничение доставляет массу неудобств.
exFAT
Одна из самых последних «новинок», созданная в 2008 году как расширенная версия FAT32 (extended FAT). Майкрософт решила взять лучшее и избавиться от самых неприятных недостатков.
exFAT ориентирована сугубо на переносные накопители — флешки, SD-карты и съемные жесткие диски. Размер кластера был увеличен до 32 мегабайт, благодаря чему размер файла теперь достигает целых 16 эксабайт (1 эксабайт = 1 048 576 ТБ). Задел на будущее у exFAT довольно внушительный.
Параллельно разработчики избавились от ограничения на размер тома, ввели поддержку прав доступа и минимизировали количество перезаписей, что особенно актуально для flash-памяти, ячейки памяти которой имеют ограниченное количество циклов записи, после чего выходят из строя.
Ощутимый минус только один — незначительная потеря совместимости. exFAT поддерживает Windows XP SP2 и более новые ОС. Соответственно, Windows 2000, NT и все, что старше, остается «за бортом». Усложнение структуры также привело к большим затратам вычислительной мощности компьютера. Однако на фоне современных процессоров с их потенциалом этим недостатком можно пренебречь.
New Technology File System разработали еще в 1993 году, однако, как и FAT32, используют по сей день. Сходство с FAT проявляется и в том, что, пространство делится на кластеры заданного размера. Однако высокую гибкость NTFS обеспечивает именно структура.
Первые 12% диска выделяются под MFT-зону — специальное служебное пространство, где хранится различная информация для работы всей ФС. Эта зона никогда не фрагментируется. В отличие от FAT используется бинарная структура.
Бинарное дерево располагает имена файлов таким образом, чтобы поиск выполнялся более быстрым способом — путем получения двухзначных ответов на вопросы о положении файла. Соответственно, поисковику не приходится просматривать всю цепочку файлов в каталоге.
NTFS обладает множеством достоинств. Максимальный размер тома на практике — 256 ТБ. Размера файла также хватит с запасом — около 16 ТБ. Помимо этого, за счет функции журналирования NTFS — отказоустойчивая система. Проще говоря, ФС либо выполняет действие до конца, либо откатывает все до состояния, когда действие еще не было совершено. Промежуточных «ошибочных» состояний практически не бывает. Имеется встроенное сжатие, средства разграничения прав объектов и шифрование данных.
К главному минусу NTFS относится низкая совместимость — не поддерживается все, что ниже Windows NT. Это не столь печально, но вот на MacOS и Linux записывать файлы на диски с NTFS не получится — только чтение. Игровые консоли Playstation и Xbox 360 также с этой файловой системой не работают.
Например, в PS4 можно отформатировать внешний жесткий диск, но только в формате самой приставки для обеспечения совместимости.
Таким образом, благодаря своему функционалу и поддержке больших объемов пространства NTFS — это отличный вариант для накопителей HDD и SSD. Несмотря на это, вы вполне можете создать на NTFS и флешку, но скорость ее работы по сравнению с FAT будет ниже.
Сравнительная таблица
Три приведенных файловых системы являются самыми популярными и наиболее совместимыми среди всех. Для удобства приведем основные параметры в общую таблицу.
Файловые системы Linux
Обновл. 28 Июл 2021 |
Файловая система — это набор стандартов и соответствующих процессов, которые определяют и управляют тем, в каком виде ваши данные хранятся на носителе информации и каким образом они могут быть из него извлечены.
Способ организации файловой системы в Linux
В качестве способа повышения эффективности ОС, в Linux применяется следующая модель файловой системы:
Благодаря такому подходу, добавление поддержки какой-нибудь новой файловой системы не потребует вносить соответствующих изменений в само ядро ОС.
Виртуальная файловая система (сокр. «VFS» от англ. «Virtual File System») — это специальный слой абстракции, предоставляющий программный интерфейс (единый набор команд) для взаимодействия между ядром и конкретной реализацией файловой системы.
Ядро Linux поддерживает различные типы файловых систем (ext3, ext4, ReiserFS, Btrfs, XFS и многие другие). На сегодняшний день наиболее часто используемой файловой системой является ext4, поэтому в данной статье основной упор будет сделан именно на нее.
Примечание: В Linux практически все объекты представлены в виде файлов (например, каталоги, принтеры, разделы диска, устройства и т.д.). Это делает еще более важным изучение того, как работает файловая система Linux.
Эволюция файловой системы ext в Linux
Давайте детально рассмотрим эволюцию файловой системы ext в Linux:
Файловая система Minix
Файловая система Minix — это первая файловая система, являющаяся прообразом современных файловых систем в Linux, которая была представлена в 1987 году Эндрю С. Таненбаумом в составе одноименной ОС Minix.
Операционная система Minix и её файловая система использовались в виде наглядного пособия для студентов, изучающих основы строения ОС (одним из таких студентов был сам Линус Торвальдс). Из-за того, что Minix была, прежде всего, учебной системой, её файловая система обладала множеством недостатков: производительность файловой системы оставляла желать лучшего; длина имени файла была ограничена 14 символами, а размер разделов — 64 МБ. Для сравнения, жесткие диски того времени имели размер вплоть до 140 МБ.
Файловая система ext
ext или extfs (сокр. от англ. «Extended File System») — это первая файловая система, предназначенная специально для Linux, которая была представлена в апреле 1992 года. Используемая структура метаданных была разработана Реми Кардом, на создание которой его вдохновила Unix File System. Максимальная длина имени файла составляла 255 символов, а размер раздела — до 2 ГБ.
Хотя ext и удалось решить проблемы, присутствовавшие в файловой системе Minix, у нее был один серьезный недостаток — временная метка. Сейчас, когда каждый файл в Linux имеет три временные метки (доступа к файлу, изменения содержимого файла, изменения свойств и метаданных файла (например, разрешений)), файловая система ext поддерживала только одну временную метку.
Файловая система ext2
В январе 1993 года, менее чем через год после выхода ext, Реми Кард разрабатывает новую файловую систему — ext2.
В ext2 были расширены функциональные возможности ext:
увеличена производительность файловой системы;
данные файлов хранились в блоках данных одинаковой длины;
поддерживался максимальный размер файла в 2 тебибайта;
длина имени файла была ограничена 255 байтами (а не количеством символов, как раньше).
Высокая скорость работы ext2 объяснялась тем, что система не поддерживала механизм ведения логов (или «журналируемости»). С одной стороны, данный аспект можно отнести к преимуществу ext2, так как при работе с имеющими ограниченный ресурс использования накопителями (например, SSD-дисками или USB-устройствами), нет избыточных циклов перезаписи данных, следовательно, ресурс накопителя расходуется медленнее. С другой стороны, отсутствие системы ведения логов в ext2 часто приводило к двум очень неприятным проблемам:
Повреждение файлов, если в момент записи данных на диск отключалось питание или возникал сбой системы.
Потеря производительности из-за фрагментации данных: происходит, когда один файл разбивается на части (фрагментируется) и распределяется по нескольким местам на диске. В результате чтение и запись файлов занимают больше времени, что приводит к снижению производительности файловой системы.
Система ext2 использовалась по большей части до начала 2000-х годов, когда была представлена файловая система ext3.
Файловая система ext3
В ноябре 2001 года, благодаря усилиям программиста Стивена Твиди, вместе с релизом ядра Linux 2.4.15 увидела свет и новая файловая система — ext3.
Файловая система ext3 — это улучшенная версия файловой системы ext2, в которой появилась возможность ведения логов. Она, как и ext2, поддерживает файлы размером в 2 тебибайта, а имена файлов ограничены 255 байтами.
Благодаря логам, система сохраняет в специальном лог-файле (или «журнале») всю информацию об изменениях в данных, которые еще предстоит внести. В случае потери питания или сбоя системы, информация о файлах, хранящаяся в логах, может быть восстановлена в течение нескольких секунд, благодаря чему снижается риск повреждения или потери данных.
Ядро Linux поддерживает три уровня ведения логов:
Journal — состоит из записи метаданных и содержимого файлов в лог-файл до внесения изменений в основную файловую систему, тем самым обеспечивая наиболее полное логирование данных. Если случится какая-нибудь аварийная ситуация, то можно перечитать лог-файл и восстановить потерянную информацию. Недостатком данного уровня ведения логов является то, что он снижает производительность системы.
Ordered — процесс сохранения данных выполняется в определенном порядке: сначала в лог-файл записываются метаданные, затем содержимое файла записывается в основную файловую систему и уже тогда метаданные соединяются с основной файловой системой. В случае сбоя, основная файловая система не будет повреждена; риску повреждения подвергаются только те файлы, которые находятся во время сбоя непосредственно в процессе записи.
Writeback — уровень ведения лог-файла, при котором в него заносятся только метаданные, а содержимое файла записывается непосредственно в основную файловую систему. Из-за отсутствия синхронизации метаданных и содержимого файлов, в случае сбоя системы они, скорее всего, окажутся поврежденными.
Файловая система ext4
Файловая система ext4 была представлена в октябре 2008 года вместе с ядром Linux 2.6.28. Она поддерживает максимальный размер файла в 16 тебибайт и ограничивает максимальную длину имени файла 255 байтами.
Особенности файловой системы ext4
Давайте рассмотрим основной функционал файловой системы ext4:
Обратная совместимость. Файловая система ext4 поддерживает обратную совместимость с файловыми системами ext3 и ext2. Дополнительной функцией является автоматическое монтирование файловой системы ext3 в режиме ext3 с помощью драйвера ext4.
Улучшения распределения. Файловая система ext4 более эффективно распределяет блоки данных перед их записью на диск. Это повышает производительность как чтения, так и записи.
Расширение диапазона временных меток. Файловая система ext4 добавляет еще 408 лет к диапазону значений временных меток и поддерживает даты вплоть до 10 мая 2446 года. Также улучшилась точность временных меток — теперь они измеряются в наносекундах.
Экстенты (Последовательные блоки). Устаревшие версии файловой системы ext отслеживают каждый блок, который связан с хранением данных файла (данный подход называется методом «непрямого сопоставления»). Но этот процесс перестает быть эффективным, когда речь заходит о больших файлах, требующих большого количества блоков. Экстенты решили эту проблему: с их помощью уменьшается объем метаданных, необходимых для сопоставления блоков каждого файла. Система сохраняет адрес только первого и последнего блока некоторого довольно большого файла, сообщая таким образом, что данные находятся в следующих n блоках. Благодаря этому, файл, например, размером в 500 МБ, может храниться в единственном экстенте сопоставимого размера, а не быть разбитым на 128 000 4-килобайтных блоков, как при непрямом сопоставлении.
Многоблочное распределение. Особый механизм распределения блоков ищет свободные блоки, которые можно использовать для записи данных на диск. Файловая система ext4 задействует многоблочное распределение, позволяющее распределять несколько блоков всего лишь одним вызовом. Это уменьшает фрагментацию диска.
Отложенное распределение. Функция отложенного распределения выделяет блоки только при записи файла на диск. Благодаря этой функции кэш-память не заполняется ненужными данными, а производительность системы повышается.
Неограниченное количество подкаталогов. Ядро Linux версии 2.6.23 поддерживает неограниченное количество подкаталогов. Файловая система ext4 ввела древовидную структуру данных HTree, чтобы избежать снижения производительности. HTree представляет собой специализированную версию B-дерева.
Подсчет контрольных сумм. Файловая система ext4 использует подсчет контрольной суммы файлов. Данный механизм был введен для снижения риска повреждения файлов. Система ведения логов является наиболее используемой частью диска. Когда происходит сбой оборудования, блоки становятся непригодными для использования и происходит повреждение файлов. Используя подсчет контрольной суммы, система постоянно проверяет, не поврежден ли блок. Этот процесс также повышает производительность, поскольку сокращает время работы с лог-файлом.
Онлайн-дефрагментация. Фрагментация диска приводит к снижению производительности файловой системы, что было серьезной проблемой для ext2 и ext3. Файловая система ext4 поддерживает утилиту e4defrag, которая позволяет пользователям дефрагментировать отдельные файлы или всю файловую систему.
Ограничения файловой системы ext4
Хотя файловая система ext4 считается лучшей файловой системой для дистрибутивов Linux, есть несколько ограничений, которые следует учитывать в вашей дальнейшей работе:
Восстановление поврежденных данных. Файловая система ext4 не может обнаружить или восстановить поврежденные данные, уже записанные на диск.
Максимальный размер тома установлен в 1 эксбибайт. Однако файловая система не может обрабатывать более 100 тебибайт данных без значительной потери производительности и увеличения фрагментации диска.
Альтернативные файловые системы
Существует несколько альтернативных файловых систем, поддерживаемых ядром Linux.
XFS — это 64-разрядная файловая система, которая впервые была представлена в 1994 году и встроена в ядро Linux с 2001 года. XFS поддерживает максимальный размер файла в 8 эксбибайт и ограничивает длину имени файла 255 байтами. Она поддерживает ведение логов и, как и ext4, сохраняет изменения в лог-файле до того, как они будут зафиксированы в основной файловой системе. Это снижает вероятность повреждения файлов.
Основным недостатком этой системы является сложный процесс изменения размера существующей файловой системы XFS.
OpenZFS
OpenZFS — это платформа, которая объединяет функционал традиционных файловых систем и диспетчера томов. Впервые была представлена в 2013 году. OpenZFS поддерживает максимальный размер файла в 16 эксбибайт и ограничивает максимальную длину имени файла 255 символами. В качестве особенностей данной системы можно выделить защиту от повреждения данных, шифрование данных, поддержку накопителей увеличенного объема, копирование при записи и RAID-Z.
Основным недостатком OpenZFS является юридическая несовместимость между лицензиями CDDL (OpenZFS) и GPL (ядро Linux). Эта проблема решается путем компиляции и загрузки кода ZFS в ядро Linux.
Btrfs
Btrfs (сокр. от англ. «B–tree file system») — это файловая система, которая была разработана компанией Oracle и выпущена вместе с ядром Linux 2.6.29 в 2009 году. Btrfs поддерживает максимальный размер файла в 16 эксбибайт и ограничивает максимальную длину имени файла 255 символами.
Некоторые особенности Btrfs включают в себя:
добавление и удаление блочных устройств в режиме онлайн;
настраиваемое для каждого файла или тома сжатие;
контрольные суммы и возможность создания файлов подкачки и разделов подкачки.
JFS (сокр. от англ. «Journaled File System») — это файловая система, которая была разработана компанией IBM для AIX Unix в 1990 году. Она является альтернативой файловой системе ext. Она также может быть использована вместо ext4 там, где требуется стабильность при небольшом количестве затрачиваемых ресурсов.
ReiserFS
ReiserFS — это альтернатива файловой системе ext3, которая обладает улучшенной производительностью и расширенным функционалом. Ранее, ReiserFS использовалась в качестве файловой системы по умолчанию в SUSE Linux. ReiserFS поддерживает динамическое изменение размеров файловой системы. К недостаткам можно отнести относительно низкую производительность.
Примечание: Такие файловые системы, как NTFS, FAT и HFS могут использоваться в Linux, но корневая файловая система Linux на них не устанавливается, поскольку они для этого не предназначены. Swap — это файл подкачки, служащий источником дополнительной памяти в тех случаях, когда для выполнения программы требуется больше оперативной памяти, чем имеется в компьютере, — он не является отдельной файловой системой.
Как узнать, какая у меня файловая система?
Способ №1: Использование команды df
Команда df отображает информацию об использовании дискового пространства файловой системы. Для указания того, что нам нужно вывести тип файловой системы, используйте следующую команду:
Как вы можете видеть, у меня используется файловая система ext4 (см. раздел /dev/sda1).
Примечание: Имена дисков в Linux расположены в алфавитном порядке. /dev/sda — это первый жесткий диск (основной), /dev/sdb — второй и т.д. Цифры относятся к разделам, поэтому /dev/sda1 — это первый раздел первого диска.
Способ №2: Использование команды fsck
Команда fsck применяется для проверки и, при необходимости, восстановления файловых систем Linux. При этом она также может отображать и тип файловой системы на указанных разделах диска, например:
Способ №3: Использование команды lsblk
Способ №4: Использование команды mount
Команда mount применяется для монтирования файловой системы в Linux. Её также можно использовать для монтирования ISO-образа, удаленной файловой системы Linux и многого другого. Чтобы узнать тип файловой системы, используйте следующую комбинацию:
Поделиться в социальных сетях:
Логи в Linux. Как найти и прочитать?
Комментариев: 2
Дополнение к ФС btrfs (пользуюсь ей уже почти год):
— поддержка RAID
И не только! Кроме RAID есть дедупликация данных, когда просто создается еще одна копия файла при его создании и в метаданные добавляется информация о том, что эта копия есть (в точную реализацию я не углублялся). Именно это делает систему почти не убиваемой, и если насильно пытаться ФС ломать, то она таки восстановиться, хотя и не на 100% если повредились оба экземпляра файлов.
На SSD редко встречается случай, когда дедупликации не происходит, потому как сам SSD делает ссылку на оригинал одинакового файла.
— бесплатные бекапы (резервные копии)
Можно создавать бекапы, которые ничего не весят до тех пор, пока в оригинале не появятся изменения (инкрементальные бекапы на уровне ФС!), при этом их можно настраивать
— подразделы (subvolume)
BTRFS дает возможность поделить ее на разные части, которые можно подключать к Linux с различными параметрами (сжатие и прочее) и делать бекапы для каждого из них (для этого удобно разбить систему на подразделы home, etc, usr или другие)
— клонирование файлов
Которое ничего не весит! Можно копировать файлы хоть до бесконечности, но они свободное место будет уменьшаться очень медленно, так как на уровне ФС происходит просто создание ссылки на файл (CoW)
— контрольные суммы и возможность создания файлов подкачки и разделов подкачки.
С первым согласен. А вот возможность создания файлов подкачки и разделов подкачки есть, но я сильно не рекомендую так поступать, скорее всего будут проблемы если делать подкачку на этой системе, самое лучшее — отдельный раздел swap.
Встретился с минусами, такими как неадекватный подсчет свободного места, если есть бекапы. Но на OpenSUSE я встретил самую лучшую поддержку этой ФС из коробки — тут тебе и автоматизация бекапов с удалением старых и больших при условии их ненужности, и выбор бекапов из меню загрузчика, и разбиение системы на подразделы, и баг со свободным местом починили, и в целом есть очень удобный yast для управления этой ФС