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

Плагин для Total Commander DiskInternals Reader

Любители популярного Total Commander могут извлекать данные Linux или Android внутри Windows с помощью этого файлового менеджера. Но предварительно установив в него специальный плагин. Один из таких плагинов — DiskInternals Reader, он умеет подключать и читать устройства информации, форматированные в Ext2/3/4, Fat/exFAT, HFS/HFS+, ReiserFS. Загружаем плагин, распаковываем его архив внутри Total Commander, подтверждаем установку.

Запускаем Total Commander (важно) от имени администратора. Заходим в раздел «Сеть / FS плагины»

Нажимаем «DiskInternals Reader».

Здесь, наряду с прочими разделами диска и носителями, будет отображаться тот, что с Ext2/3/4.

Данные копируются традиционным для Total Commander способом – клавишей F5 на вторую панель.

Производительность

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

# mkfs.xfs /dev/необходимый_раздел

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

Размер и ширина полосы (stripe)

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

Время доступа

В некоторых файловых системах можно повысить производительность, добавив параметр монтирования в файле . Для XFS стандартным поведением atime является , которое почти не имеет накладных расходов по сравнению с noatime, но при этом сохраняет нормальные значения atime. Все файловые системы Linux теперь используют это в качестве значения по умолчанию (примерно с версии 2.6.30), но XFS использует relatime-поведение с 2006 года, поэтому нет никакой необходимости использовать noatime по соображениям производительности.

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

Дефрагментация

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

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

Проверить уровень фрагментации в данный момент можно следующей командой:

# xfs_db -c frag -r /dev/sda3

Выполнение дефрагментации

Используйте команду , чтобы начать дефрагментацию:

# xfs_fsr /dev/sda3

B-дерево со свободными inode-ами

Начиная с Linux 3.16, в XFS появилось B-дерево для отслеживания свободных inode, что равноценно существующему B-дереву для распределения индексных дескрипторов, за исключением того, что отслеживаются inode-блоки по крайней мере с одним свободным inode. Это делается для того, чтобы ускорить поиск свободных inode-кластеров при распределении inode. Также это повышает производительность старых файловых систем, например, спустя месяцы или годы после добавления и удаления миллионов файлов на файловой системе. Использование этой функции не влияет на общий уровень надёжности ФС или возможность восстановления.

Данная функция основывается на новом дисковом (on-disk) формате XFS v5, который считается стабильным для промышленной эксплуатации начиная с ядра Linux 3.15. Она не изменяет существующие дисковые структуры, но добавляет новую, которая должна оставаться целостной в B-дереве для отслеживания свободных inode. По этой же причине более старые версии ядра монтируют файловые системы с B-деревом свободных inode только в режиме для чтения.

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

# mkfs.xfs -m crc=0,finobt=0 /dev/необходимый_раздел

или короче ( зависит от )

# mkfs.xfs -m crc=0 /dev/необходимый_раздел

Внешний журнал XFS

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

раздел (англ.) для получения информации об износе SSD.

Укажите опцию команде для резервации внешнего журнала определённого размера при создании файловой системы XFS. Если пропустить параметр , размер журнала будет зависеть от размера ФС. Укажите опцию команде для монтирования XFS с использованием внешнего журнала.

Интервал синхронизации

В XFS существует отдельная переменная sysctl для настройки (англ. writeback interval). По умолчанию в Arch используется значение «3000». Возможно также задать и большее значение, однако стоит учитывать, что слишком большое значение может привести к потери данных в некоторых случаях:

/etc/sysctl.d/20-xfs-sync-interval.conf
fs.xfs.xfssyncd_centisecs = 10000

Идем вперед

Мир open source не стоит на месте, ПО развивается, и, конечно, ведется разработка новых файловых систем для флэш-носителей. Одна из таких система, LogFS, воплотила многие новейшие идеи и весьма интересна. Например, в LogFS древовидная структура флэш-носителя хранится в самой флэш-памяти, поэтому эта система монтируется так же быстро, как и традиционные файловые системы типа ext2. Для сборки мусора используются алгоритмы блуждающего дерева (разновидность B+-дерева). LogFS примечательна прежде всего тем, что она отлично масштабируется и поддерживает флэш-устройства очень большого объема.

Файловые системы для флэш-носителей становятся все более востребованными, поэтому исследования и разработки в этом направлении ведутся интенсивно. Хороший пример — LogFS. Есть и другие растущие проекты, такие как, например, UbiFS. Файловые системы для флэш-памяти, будучи интересными по своей архитектуре, продолжат радовать нас различными инновациями и в будущем.

Похожие темы

  • Оригинал статьи (EN)
  • Прочтите на страницах Википедии о флэш-памяти и ознакомьтесь со списком файловых систем, включающем файловые системы для жестких дисков, распределенные файловые системы и файловые системы специального назначения (в том числе файловые системы для твердотельных накопителей).
  • Узнайте больше о сравнении флэш-памяти NAND- и NOR-типа (EN).
  • Статья Тима «Анатомия файловой системы Linux»
    (developerWorks, октябрь 2007 г.) знакомит с виртуальной файловой системой (VFS, Virtual File System), ее архитектурой и основными структурами данных. Также статья объясняет общее устройство файловых систем и демонстрирует, каким образом Linux одновременно поддерживает множество файловых систем.
  • Прочитайте эту статью (EN, PDF) и узнайте об отличиях в управлении флэш-памятью в старой JFFS и новой JFFS2.
  • Сравните YAFFS (EN) с другими популярными файловыми системами для флэш-носителей.
  • Новейшие файловые системы LogFS (EN) и UbiFS (EN) преодолевают многие трудности, присущие используемым сегодня файловым системам для флэш-носителей.
  • MTD (Memory Technology Device) (EN) является общей подсистемой для работы с устройствами на основе памяти, в том числе флэш. MTD предоставляет унифицированный интерфейс между низкоуровневыми драйверами устройств и более высоким уровнем файловых систем.
  • Cramfs и
    SquashFS (EN) — это сжатые файловые системы Linux только для чтения, которые были созданы для встраиваемых устройств с дефицитом памяти. Однако сегодня SquashFS можно встретить во многих LiveCD-дистрибутивах Linux. Существует файловая система UnionFS (EN), применяемая в некоторых LiveCD, которая поддерживает так называемое объединенное монтирование, при котором несколько файловых систем накладываются друг на друга. SquashFS обладает среди аналогов более эффективным сжатием и лучшей производительностью за счет алгоритма LZMA, и для нее доступны патчи (EN).
  • Читайте все статьи Тима из серии Анатомия… (EN) на developerWorks.
  • Читайте все статьи Тима о Linux (EN) на developerWorks.
  • Найдите множество ресурсов для Linux-разработчиков в разделе Linux developerWorks и посмотрите список самых популярных статей и учебных материалов по Linux (EN).
  • Взгляните на советы и руководства по Linux на developerWorks.
  • Разработайте ваш следующий Linux-проект с помощью пробного ПО от IBM (EN).

History

Silicon Graphics began development of XFS (‘X’ was meant to be filled in later but never was) in 1993.

The file system was released under the GNU General Public License (GPL) in May 2000. A team led by Steve Lord at SGI ported it to Linux, and first support by a Linux distribution came in 2001. This support gradually became available in almost all Linux distributions.[citation needed]

Initial support for XFS in the Linux kernel came through patches from SGI. It merged into the Linux kernel mainline for the 2.6 series, and separately merged in February 2004 into the 2.4 series in version 2.4.25, making XFS almost universally available on Linux systems.Gentoo Linux became the first Linux distribution to introduce an option for XFS as the default filesystem in mid-2002.

FreeBSD added read-only support for XFS in December 2005, and in June 2006 introduced experimental write support. However, this was intended only as an aid in migration from Linux, not as a «main» file system. FreeBSD 10 removed support for XFS.

In 2009, version 5.4 of 64-bit Red Hat Enterprise Linux (RHEL) Linux distribution contained the necessary kernel support for the creation and usage of XFS file systems, but lacked the corresponding command-line tools. The tools available from CentOS could operate for that purpose, and Red Hat also provided them to RHEL customers on request. RHEL 6.0, released in 2010, includes XFS support for a fee as part of Red Hat’s «scalable file system add-on».Oracle Linux 6, released in 2011, also includes an option for using XFS.

RHEL 7.0, released in June 2014, uses XFS as its default file system, including support for using XFS for the /boot partition, which previously was not practical due to bugs in the GRUB bootloader.

Linux kernel 4.8 in August 2016 added a new feature, «reverse mapping». This is the foundation for a large set of planned features: snapshots, copy-on-write (COW) data, data deduplication, reflink copies, online data and metadata scrubbing, highly accurate reporting of data loss or bad sectors, and significantly improved reconstruction of damaged or corrupted filesystems. This work required changes to XFS’s on-disk format.

Возможности

Считается, что Btrfs имеет ряд решений, впервые появившихся в ReiserFS, при этом не поддерживает некоторые базовые функции. Список возможностей системы по состоянию на 2011 год:

  • Проверка целостности без размонтирования;
  • Доступные для записи снимки (writeable snapshots);
  • Динамическое выделение индексных дескрипторов inode (нет ограничения на максимальное количество файлов в файловой системе);
  • Добавление и удаление устройств хранения при смонтированной файловой системе (накопители и разделы легко подключаются в Btrfs и заменяются или удаляются при необходимости);
  • Поддержка сложных многодисковых конфигураций — уровней 0, 1, 5, 6 и 10 (реализовано, но 5 и 6 пока не считаются стабильными), а также реализация различных политик избыточности на уровне объектов файловой системы — то есть возможно назначить, к примеру, зеркалирование для какого-либо каталога или файла (в планах).
  • Сжатие (LZO, zlib, zstd — реализовано, предлагались патчи для LZ4 и Snappy);
  • Подтома (subvolumes);
  • Эффективное клонирование файловой системы и создание инкрементальных архивов;
  • Дефрагментация смонтированной файловой системы.
  • Журналирование с копированием при записи.
  • Лимиты (отдельно для каждого подтома или группы подтомов, по фактически занимаемому месту или по «официальному»)
  • Контроль целостности блоков данных и метаданных с помощью контрольных сумм.
  • Зеркалирование метаданных даже в конфигурации с одним накопителем (отключается на SSD).
  • Полностью распределённое блокирование.
  • Поддержка ACL.
  • Защита от потери данных.
  • Выбор хеш-алгоритма для контроля целостности данных и мета-данных (CRC-32). Начиная с версии 5.5 реализованы: xxHash, SHA256, BLAKE2B.
  • Поддержка NFS (пока неполная).
  • Флаги совместимости, необходимые для изменения дискового формата в новых версиях Btrfs с сохранением совместимости со старыми.
  • Резервные копии суперблока, по крайней мере по одной на устройство.
  • Гибридные пулы (в планах) — btrfs старается перемещать наиболее используемые данные на самое быстрое устройство, вытесняя с него «залежавшиеся» блоки, эта политика хорошо согласуется с моделью использования SSD-накопителей совместно с дисковыми.
  • Балансировка данных между устройствами в Btrfs возможна сразу после добавления диска к пулу, отдельной командой, а не только постепенно, в процессе использования (как это реализовано в ZFS).
  • Диски для горячей замены, поддержка которых появилась и в ZFS (в планах).
  • Офлайн-дедупликация (в примонтированном виде, но после окончания записи — ядро 3.12 и новее), в перспективе — дедупликация будет осуществляться во время записи файла.

Несмотря на то, что Btrfs изначально не способна вести себя как распределённая (сетевая) файловая система, компания Oracle принялась за реализацию сетевого протокола файловой системы CRFS, который спроектирован и оптимизирован как раз под Btrfs.

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

Создание файла подкачки в Btrfs возможно с марта 2019 года (Linux kernel 5.0), файл при этом создается с флагом nocow и должен располагаться на одном накопителе.

So, let’s get started —

FAT32

FAT32 A version of the File Allocation Table (FAT) available in Windows 95 OSR 2 and Windows 98. FAT32 increases the number of bits used to address clusters and also reduces the size of each cluster. The result is that it can support larger disks (up to 2 terabytes) and better storage efficiency. FAT32 is the older of the driven formats. FAT32 is the most common version of the FAT file system created back in 1977 by Microsoft. FAT had been the standard format for floppy disks and hard drives.

NTFS

NTFS stands for New Technology File System. It’s the file system that the Windows NT operating system uses for storing and retrieving files on a hard disk. NTFS offers a number of improvements in terms of performance, extensibility, and security. Such as improved support for metadata and advanced data structures to improve performance, reliability, and disk space use. This file system is supported in other desktop and server operating systems as well. Linux and BSD have a free and open-source NTFS driver, called NTFS-3G, with both read and write functionality. macOS comes with read-only support for NTFS.

Ext4

Ext4 stands for a Fourth extended file system. It is the evolution of the most used Linux filesystem, Ext3. In many ways, Ext4 is a deeper improvement over Ext3 than Ext3 was over Ext2. Ext4 modifies important data structures of the filesystem such as the ones destined to store the file data. The result is a filesystem with an improved design, better performance, reliability, and features. Ext4 supports file-based encryption. In a directory tree marked for encryption, file contents, filenames, and symbolic link targets are all encrypted. Encryption keys are stored in the kernel keyring.

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

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

Adblock
detector