Введение в файловую систему btrfs

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

Файловая система XFS: XFS — это высокопроизводительная 64-битная файловая система с журналированием. Первоначально он был разработан Silicon Graphics, Inc. в 1993 году для операционной системы IRIX, а затем был перенесен на ядро ​​Linux в 2001 году.

Файловая система Btrfs: Btrfs или файловая система B-Tree — это современная файловая система с функцией копирования при записи (CoW). Это новость по сравнению с файловой системой Ext. Изначально Btrfs был разработан для операционных систем Linux корпорацией Oracle в 2007 году. В ноябре 2013 года файловая система Btrfs была объявлена ​​стабильной для ядра Linux.

Features

Linux has a wealth of filesystems from which to choose, but we are facing a number of challenges with scaling to the large storage subsystems that are becoming common in today’s data centers. Filesystems need to scale in their ability to address and manage large storage, and also in their ability to detect, repair and tolerate errors in the data stored on disk.

Major Features Currently Implemented

  • Extent based file storage
  • 2^64 byte == 16 EiB maximum file size (practical limit is 8 EiB due to Linux VFS)
  • Space-efficient packing of small files
  • Space-efficient indexed directories
  • Dynamic inode allocation
  • Writable snapshots, read-only snapshots
  • Subvolumes (separate internal filesystem roots)
  • Checksums on data and metadata (crc32c, xxhash, sha256, blake2b)
  • Compression (ZLIB, LZO, ZSTD), heuristics
  • Integrated multiple device support
    • File Striping
    • File Mirroring
    • File Striping+Mirroring
    • Single and Dual Parity implementations (experimental, not production-ready)
  • SSD (flash storage) awareness (TRIM/Discard for reporting free blocks for reuse) and optimizations (e.g. avoiding unnecessary seek optimizations, sending writes in clusters, even if they are from unrelated files. This results in larger write operations and faster write throughput)
  • Efficient incremental backup
  • Background scrub process for finding and repairing errors of files with redundant copies
  • Online filesystem defragmentation
  • Offline filesystem check
  • In-place conversion of existing ext2/3/4 and reiserfs file systems
  • Seed devices. Create a (readonly) filesystem that acts as a template to seed other Btrfs filesystems. The original filesystem and devices are included as a readonly starting point for the new filesystem. Using copy on write, all modifications are stored on different devices; the original is unchanged.
  • Subvolume-aware quota support
  • Send/receive of subvolume changes
  • Batch, or out-of-band deduplication (happens after writes, not during)
  • Swapfile support
  • Tree-checker, post-read and pre-write metadata verification
  • Zoned mode support (SMR/ZBC/ZNS friendly allocation)

As part of the changelog you can also review

features by kernel version

[править] Планы по развитию

(список устарел, часть уже реализована, а часть уже и не будет реализовываться)

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

  • Offline fsck and metadata imaging tool
  • Compat flags in the super block, tree roots and inodes
  • Правильная обработка ENOSPC.
  • Поддержка O_DIRECT (без контрольных сумм)
  • Поддержка AIO
  • Настраиваемые алгоритмы хэширования для каталогов и контрольных сумм (Configurable hash algorithms for directories and checksumming)
  • Резервирование количества индексных дескрипторов для каталогов (Inode number reservations for directories)
  • Увеличенная производительность fsync (Improved fsync performance)
  • Поддержка Fallocate (at least disk format level)
  • New directory format to avoid collisions in the inode number index
  • Поддержка ACL
  • Дерево каталогов подтомов (Directory tree of subvolumes)
  • Subvolume quotas and inherited space usage information
  • Поддержка NFS
  • Additional tunables in the multi-device code, including device latency characteristics and starting offsets for stripe alignment
  • Superblock duplication, stripe alignment and rotation
  • Удаление снимков
  • Автоматизация регресионного тестирования.
  • Reserved space for online fsck and the ability to add storage so that a background extent allocation check can proceed
  • Дополнительные вызовы ioctl, предназначенные для установки атрибутов индексных дескрипторов (nodatacow, nodatasum и т.д.)
  • Disk format requirements for hybrid storage
  • Disk format requirements for added raid personalities
  • Disk format requirements for coarse grained file data checksumming
  • Lost file prevention
  • Поддержка преобразования файловых систем ext4 в btrfs (Ext4 conversion program)

Подробнее:

http://btrfs.wiki.kernel.org/index.php/Development_timeline

[править] Возможности

Полностью распределенное блокирование B-дерева. При поиске в B-дереве блокировка узлов теперь спускается вместе с курсором; узлы на верхних уровнях освобождаются по мере необходимости. С блокированием при выделении экстентов все еще есть проблемы, которые должны быть решены в будущем;

Усовершенствование журналирования данных (режим data=ordered). В режиме data=ordered btrfs будет записывать грязные блоки пользовательских данных до фиксации транзакции. Теперь журналирование данных затрагивает только сами блоки данных и относящиеся к ним экстент-итемы B-дерева. Остальные метаданные транзакции могут сбрасываться на диск параллельно с записью блоков данных (раньше приходилось ожидать сброса пользовательских блоков).

Поддержка ACL. ACL реализованы и включены по умолчанию.

Предотвращение потери файлов. Слой Linux VFS и POSIX API заставляют файловую систему разрывать связь между файлом и каталогом до его удаления из ФС (т.е. освобождения его блоков и inode). В случае краха ФС между разрывом связи и удалением этот файл остается на диске, но не имеет имени. Теперь btrfs отслеживает такие случаи и гарантирует полное освобождение всех занимаемых файлом ресурсов в случае краха ФС.

Новый формат индекса каталога

Btrfs индексирует каталоги двумя способами: первый оптимизирован для быстрого поиска имен, второй возвращает inodes в порядке, близком к их расположению в B-дереве, что важно для высокой производительности при создании полных бэкапов ФС. Теперь в btrfs для элементов каждого каталога введён sequence-номер, с помощью которого устраняются некоторые наихудшие случаи второго способа индексирования для файлов, имеющих множество имен (жестких ссылок) в одном каталоге.

Уменьшенное время размонтирования

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

Улучшения в потоковых записи и чтении. Новый код журналирования данных улучшил производительность потоковой записи. Потоковое чтение усовершенствовано за счет оптимизации пула потоков (threads), занимающихся проверкой контрольный сумм после прочтения данных. Теперь, на машинах с достаточно мощным CPU, производительность режимов datasum и nondatasum практически сравнялась.

Btrfs vs ZFS

Больше всего Btrfs похожа на ZFS от компании Sun. Btrfs не поддерживает диски такого астрономического объёма, как zfs, но вряд ли это в ближайшее время будет иметь практическое значение. Зато Btrfs имеет некоторые возможности, отсутствующие в zfs: снапшоты снапшотов и скоростные приоритеты дисков, оптимизацию для ssd-накопителей. Но ZFS уже вовсю используется на production-серверах, а использование btrfs станет массовым, видимо, года через два (если предполагать, что распространение btrfs будет развиваться также, как zfs).

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

Что делают файловые системы?

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

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

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

Другие

В этом материале я не упомянул о таких вариантах как ZFS, ReiserFS, JFS и F2FS.

ZFS изначально была открытой, развивалась в Sun Microsystems, но потом выкуплена Oracle, её код закрыт, а форк последней доступной версии выпущен как OpenZFS. Официально в ядре отсутствует, потому что её лицензия конфликтует с GPL, а Л. Торвальдс высказывается против. Но разработчики дистрибутивов могут обеспечить её поддержку через слой совместимости. По ряду параметров  схожа с Btrfs, которая распространяется под свободной лицензией и официально поддерживается в ядре.

Все они либо не лучше, либо хуже по каким-либо параметрам, чем вышеупомянутые. Такое разнообразные ФС создаёт «Проблему выбора», на практике отличия между ними не заметны. Поэтому для меня вывод остался прежним: Ext4 для дисков — старой технологии записи, Btrfs для SSD — более современных устройств.

Создание подтомов в системе btrfs

Монтируем нашу систему в каталог media

mkdir /media/rosa
mount /dev/sda1 /media/rosa

Переходим в папку rosa

cd /media/rosa
ls ./home      - проверяем, видим имя нашего пользователя в установленной системе.

Продолжаем. Не забываем, что мы находимся в каталоге rosa.
Создадим подтома (@ и @home) в системе btrfs на разделе /dev/sda1, который мы смонтировали в /media/rosa:

btrfs subvolume create ./@
btrfs subvolume create ./@home

Проверим, что подтома созданы верно @ и @home

ls ./   - увидим системные каталоги, включая @ и @home
или
btrfs subvolume list  ./
  ID 263 gen 31 top level 5 path @
  ID 264 gen 32 top level 5 path @home

Текущее состояние разработки

Основные возможности Btrfs уже реализованы. Дисковый формат близок к стабилизации, если он и будет меняться, то не сильно. Только что завершена реализация обработки ситуации нехватки места на диске (проблема в том, что фактическая запись на диск может происходить уже после закрытия файла программой, и было не совсем очевидно, как передать ошибку записи программе). Вовсю идёт поиск и исправление других ошибок. В разработке специальный ioctl-API для поддержки транзакционного I/O (несколько операций, объединённых в транзакцию, могут быть выполнены все или не выполнены совсем; кроме всего прочего, это позволяет минимизировать количество проверок между операциями в одной транзакции). Ближайшая задача — реализация удаления снапшотов, первый вариант кода уже появился в рассылке.

Оригинал статьи тут.

Разметим диск

Грузимся в LiveCD открываем gparted и делаем простую разметку. Раздел с корнем и раздел подкачки.
Или устанавливаем сразу, без режима LiveCD, и редактируем разделы в diskdrake (Управление дисковыми разделами росы).
Примечание: Стоит отметить, что раздел подкачки не нужен, если у вас более 4Gb оперативной памяти! Если система UEFI, то раздел /boot будет в fat32/vfat и иметь вид “/sdxX /boot fat32 350Mb-500Mb”.
Если у нас UEFI, то при разметке поменяется нумерация разделов от той, что в статье — «/boot/efi sda1, /корень sda2, /swap sda3». Читаем про утилиту efibootmg и флаги для разделов esp,boot.
Итак, ефи у нас не будет, поэтому создаем корень и свап:

/sda1	/  btrf    50Gb
/sda2      swap	   4Gb

Этап 3: Создание подтомов Btrfs

15. Перед созданием подтома выведем список всех существующих подтомов.

$ sudo btrfs subvolume list /mnt/tecmint_btrfs1/

16. Для создания подтома мы можем использовать приведенные ниже команды. Здесь я создаю два подтома.

$ sudo btrfs subvolume create /mnt/tecmint_btrfs1/subvol1
$ sudo btrfs subvolume create /mnt/tecmint_btrfs1/subvol2

17. Теперь проверьте, появились ли созданные подтома.

$ sudo btrfs subvolume list /mnt/tecmint_btrfs1/

18. Теперь перейдите в точку монтирования /mnt/tecmint_btrfs1/ и просмотрите созданные подтома.

$ cd /mnt/tecmint_btrfs1/subvol1/

Скопируйте какие-нибудь файлы из /etc/ в subvol1.

$ sudo cp /etc/* .

Что делают файловые системы?

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

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

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

Понимание Btrfs: за и против

Btrfs, который можно произносить как «Butter FS», «Better FS» или «B-Tree FS», является новой файловой системой, переделанной с нуля. Btrfs существует потому, что разработчики хотели расширить функциональность файловой системы, включив в нее дополнительные функции, такие как объединение пулов, моментальные снимки и контрольные суммы.

Проект начался в Oracle, но с тех пор другие крупные компании приняли участие в разработке. Список включает в себя Facebook, Netgear, Red Hat и SUSE.

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

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

Конечно, вы все еще можете создать несколько разделов, чтобы вам не пришлось зеркально отражать все. Максимальный размер раздела файловой системы Btrfs составляет 16 эксбибайт, а максимальный размер файла-также 16 эксбибайт.

Учитывая, что Btrfs сможет охватывать несколько жестких дисков, хорошо, что она поддерживает в 16 раз больше места на диске, чем ext4.

KNOWN ISSUES

SMALL FILESYSTEMS AND LARGE NODESIZE

The combination of small filesystem size and large nodesize is not recommended
in general and can lead to various ENOSPC-related issues during mount time or runtime.

Since mixed block group creation is optional, we allow small
filesystem instances with differing values for sectorsize and nodesize
to be created and could end up in the following situation:

# mkfs.btrfs -f -n 65536 /dev/loop0
btrfs-progs v3.19-rc2-405-g976307c
See http://btrfs.wiki.kernel.org for more information.
Performing full device TRIM (512.00MiB) ...
Label:              (null)
UUID:               49fab72e-0c8b-466b-a3ca-d1bfe56475f0
Node size:          65536
Sector size:        4096
Filesystem size:    512.00MiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP              40.00MiB
  System:           DUP              12.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
  ID        SIZE  PATH
   1   512.00MiB  /dev/loop0
# mount /dev/loop0 /mnt/
mount: mount /dev/loop0 on /mnt failed: No space left on device

The ENOSPC occurs during the creation of the UUID tree. This is caused
by large metadata blocks and space reservation strategy that allocates more
than can fit into the filesystem.

[править] Возможности

Полностью распределенное блокирование B-дерева. При поиске в B-дереве блокировка узлов теперь спускается вместе с курсором; узлы на верхних уровнях освобождаются по мере необходимости. С блокированием при выделении экстентов все еще есть проблемы, которые должны быть решены в будущем;

Усовершенствование журналирования данных (режим data=ordered). В режиме data=ordered btrfs будет записывать грязные блоки пользовательских данных до фиксации транзакции. Теперь журналирование данных затрагивает только сами блоки данных и относящиеся к ним экстент-итемы B-дерева. Остальные метаданные транзакции могут сбрасываться на диск параллельно с записью блоков данных (раньше приходилось ожидать сброса пользовательских блоков).

Поддержка ACL. ACL реализованы и включены по умолчанию.

Предотвращение потери файлов. Слой Linux VFS и POSIX API заставляют файловую систему разрывать связь между файлом и каталогом до его удаления из ФС (т.е. освобождения его блоков и inode). В случае краха ФС между разрывом связи и удалением этот файл остается на диске, но не имеет имени. Теперь btrfs отслеживает такие случаи и гарантирует полное освобождение всех занимаемых файлом ресурсов в случае краха ФС.

Новый формат индекса каталога

Btrfs индексирует каталоги двумя способами: первый оптимизирован для быстрого поиска имен, второй возвращает inodes в порядке, близком к их расположению в B-дереве, что важно для высокой производительности при создании полных бэкапов ФС. Теперь в btrfs для элементов каждого каталога введён sequence-номер, с помощью которого устраняются некоторые наихудшие случаи второго способа индексирования для файлов, имеющих множество имен (жестких ссылок) в одном каталоге.

Уменьшенное время размонтирования

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

Улучшения в потоковых записи и чтении. Новый код журналирования данных улучшил производительность потоковой записи. Потоковое чтение усовершенствовано за счет оптимизации пула потоков (threads), занимающихся проверкой контрольный сумм после прочтения данных. Теперь, на машинах с достаточно мощным CPU, производительность режимов datasum и nondatasum практически сравнялась.

Использование btrfs #

Монтируем корень ФС.

Создавать снапшоты.

Каталоги абсолютно идентичны, и пока мы не начнём изменять файлы, снимки места не занимают.

Удаление.

Откат: грузимся с live CD, монтируем корень ФС и переименовываем подтома. Так же подтома можно переименовать прямо в рабочей системе, если загрузка удачна.

Либо грузимся как обычно, а в меню grub указываем подтом с бэкапом .

Копирование при записи (CoW). Если использовать команду с ключом , то копия файла не будет занимать место на диске. И впоследствии, допустим, при изменении скопированного файла, записываться на диск будут только изменённые блоки.

“Онлайн” — проверка ФС. При которой осуществляется чтение всех данных/метаданных с перепроверкой контрольных сумм, при наличии ошибок обнаружение их и исправление по возможности.

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

Пример вывода.

Рекомендуется проводить проверку регулярно (еженедельно). “Оффлайн” — проверка ФС (на отмонтированном разделе). При отсутствии ошибок утилита возвратит 0.

«Живая» операционная система

Другой способ использовать две операционные системы на одном ПК — использовать «Живая» операционная система . Этот метод очень похож на метод двойной загрузки, поскольку он позволяет нам загружать только одну систему одновременно, но нет необходимости устанавливать ее на жесткий диск, поскольку она будет выполняться из ОЗУ.

Преимущества и недостатки Live-OS

Живая операционная система загружается в оперативную память компьютера с USB-накопителя. Его главное окно таково, что после загрузки оно ведет себя так же, как и любая другая операционная система, то есть полностью функциональна и имеет доступ ко всем компьютерное железо; он будет работать так же, как если бы он был установлен на ПК. Требования к оборудованию такие же, как если бы мы устанавливали систему на ПК, и нам не нужно иметь место на жестком диске. Кроме того, при выключении компьютера эта система бесследно исчезает, хотя это тоже можно считать недостатком, в зависимости от ситуации.

Основная проблема этой техники заключается в том, что не все системы с ним совместимы . Как правило, он будет доступен для систем Linux, без возможности загрузки из ОЗУ для Windows и, прежде всего, macOS.

Когда это использовать

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

Если нам нужно использовать программу или инструмент из операционной системы, это может быть хорошим вариантом. Кроме того, мы также можем прибегнуть к Live-операционным системам, когда хотим протестировать операционную систему без ее установки.

То есть это лучший вариант, когда:

  • Мы хотим проверить, как работает операционная система, не устанавливая ее.
  • Мы не хотим делиться.
  • Мы хотим всегда носить с собой систему на USB.

30. Типы сигналов

POSIX определяет 28 сигналов, которые можно классифицировать следующим образом

Название Код Действие по умолчанию Описание Тип
SIGABRT 6 Завершение с дампом памяти Сигнал посылаемый функцией Управление
SIGALRM 14 Завершение Сигнал истечения времени, заданного Уведомление
SIGBUS 10 Завершение с дампом памяти Неправильное обращение в физическую память Исключение
SIGCHLD 18 Игнорируется Дочерний процесс завершен или остановлен Уведомление
SIGCONT 25 Продолжить выполнение Продолжить выполнение ранее остановленного процесса Управление
SIGFPE 8 Завершение с дампом памяти Ошибочная арифметическая операция Исключение
SIGHUP 1 Завершение Закрытие терминала Уведомление
SIGILL 4 Завершение с дампом памяти Недопустимая инструкция процессора Исключение
SIGINT 2 Завершение Сигнал прерывания (Ctrl-C) с терминала Управление
SIGKILL 9 Завершение Безусловное завершение Управление
SIGPIPE 13 Завершение Запись в разорванное соединение (пайп, сокет) Уведомление
SIGQUIT 3 Завершение с дампом памяти Сигнал «Quit» с терминала (Ctrl-) Управление
SIGSEGV 11 Завершение с дампом памяти Нарушение при обращении в память Исключение
SIGSTOP 23 Остановка процесса Остановка выполнения процесса Управление
SIGTERM 15 Завершение Сигнал завершения (сигнал по умолчанию для утилиты kill) Управление
SIGTSTP 20 Остановка процесса Сигнал остановки с терминала (Ctrl-Z). Управление
SIGTTIN 26 Остановка процесса Попытка чтения с терминала фоновым процессом Управление
SIGTTOU 27 Остановка процесса Попытка записи на терминал фоновым процессом Управление
SIGUSR1 16 Завершение Пользовательский сигнал № 1 Пользовательский
SIGUSR2 17 Завершение Пользовательский сигнал № 2 Пользовательский
SIGPOLL 22 Завершение Событие, отслеживаемое Уведомление
SIGPROF 29 Завершение Истечение таймера профилирования Отладка
SIGSYS 12 Завершение с дампом памяти Неправильный системный вызов Исключение
SIGTRAP 5 Завершение с дампом памяти Ловушка трассировки или брейкпоинт Отладка
SIGURG 21 Игнорируется На сокете получены срочные данные Уведомление
SIGVTALRM 28 Завершение Истечение «виртуального таймера» Уведомление
SIGXCPU 30 Завершение с дампом памяти Процесс превысил лимит процессорного времени Исключение
SIGXFSZ 31 Завершение с дампом памяти Процесс превысил допустимый размер файла Исключение

Development and Issue Reporting

For feature status, please refer to the Status page.

The Btrfs code base is stable. However, new features are still under development. Every effort is made to ensure that it remains stable and fast at each and every commit. This rapid pace of development means that the filesystem improves noticeably with every new Linux release so it’s highly recommended that users run the most modern kernel possible.

For benchmarks, it’s recommended to test the latest stable Linux version, and not any older, as well as the latest Linux development versions. Also, it’s recommended to test the various such as different compression options.

Заключение и выводы

Показатель Ext4 XFS Btrfs
Дата выхода 1992 2002 2006
Максимальный размер раздела 50-100 Тб 8 Эб 16 Эб
Максимальный размер файла 16 Тб 8 Эб 16 Эб
Максимальное количество файлов 2 в 32 степени 2 в 64 степени 2 в 64 степени
Максимальная длина имени 255 255 255
Прозрачное шифрование Да Нет Нет
Прозрачное сжатие Нет Нет Да
Управление томами Нет Нет Да
Дедупликация Нет Нет Да
Уменьшение размера раздела Да Нет Да
Создание снапшотов Нет Нет Да
Copy-on-write Нет Да Да

Так что же лучше использовать? До сих пор Ext4 была победителем, несмотря на идентичную производительность. Но почему? Ответ — удобство и популярность. Ext4 — по-прежнему отличная файловая система для рабочих станций и настольных компьютеров. Она поставляется по умолчанию, а потому пользователь получит её просто установив ОС. Кроме того, Ext4 поддерживает разделы до 100 терабайт и файлы до 16 терабайт, а это по-прежнему очень много. Обычным пользователям столько точно не надо.

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

Даже если скорость передачи данных не очень важна, есть такая характеристика, как скорость работы с файлами. В Btrfs есть много полезных функций: копирование при записи, контрольные сумы, снимки, очистка, самовосстановление данных, дедупликация, а также другие интересные улучшения, которые обеспечивают сохранность данных. В ней только недостает функции ZFS — Z-RAID, так что RAID пока находиться на экспериментальной стадии. Для обычного хранения данных Btrfs лучше подходит чем Ext4, но как будет на самом деле покажет время. Что использовать Btrfs или Ext4 — это только дело вашего вкуса.

На данный момент Ext4 — лучший выбор для обычных пользователей, так как она распространяется как файловая система по умолчанию, а также она быстрее Btrfs при передаче файлов. Btrfs, безусловно, стоит попробовать, но полностью заменять ext4 еще рано, это можно будет сделать лишь через несколько лет. Забавно, то же самое, говорили и несколько лет назад, с тех пор много чего поменялось, но Btrfs все еще не считается стабильной. Если у вас есть другое мнение по этому поводу, оставляйте комментарии!

Кстати, если вы используете Windows и Linux на одной машине, вам может быть интересна моя статья: Подключение ext4 в Windows

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: