Btrfs

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

Сравнение файловых систем Btrfs и Ext4
Для Linux существует множество файловых систем. Наиболее распространены Ext4, Btrfs, XFS, ZFS и т. Д. У каждой файловой системы есть свои варианты использования, плюсы и минусы. Вам может быть сложно решить, какую файловую систему использовать.

В этой статье я сравню файловую систему Ext4 и Btrfs. Итак, если вам сложно решить, использовать ли файловую систему Ext4 или файловую систему Btrfs, тогда

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

Файловая система Ext4: Ext4 - это четвертая версия файловой системы Ext (Extended). Это преемник файловой системы Ext3. Первая версия файловой системы Ext была выпущена в 1992 году для операционной системы Minix. Позже он был перенесен на операционные системы Linux. Файловая система Ext4 была выпущена в 2008 году. Ext4 - журналируемая файловая система.

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

Сравнение функций файловых систем Ext4 и Btrfs:

Файловая система Ext4 и Btrfs была разработана для решения различных типов проблем. Итак, цель проектирования файловой системы Ext4 отличалась от файловой системы Btrfs. Тем не менее, это файловые системы. У них есть некоторые сходства, которые мы можем сравнить.

я. Максимальный размер раздела: Файловая система Ext4 поддерживает разделы размером до 1 EiB.

Файловая система Btrfs поддерживает разделы размером до 16 EiB.

ii. Максимальный размер файла: Файловая система Ext4 поддерживает файлы размером до 16 ТиБ (для стандартного размера блока 4 КиБ).

Файловая система Btrfs поддерживает файлы размером до 16 EiB.

iii. Максимальная длина имени файла: Файловая система Ext4 поддерживает длинные имена файлов длиной до 255 символов (255 байт).

Файловая система Btrfs также поддерживает длинные имена файлов длиной до 255 символов (255 байт).

iv. Допустимые символы в каталогах и именах файлов: Файловая система Ext4 допускает любые символы, кроме / а также ПУСТО (\ 0) символы в именах каталогов и файлов.

ПРИМЕЧАНИЕ: Вы не можете создать файл или каталог с именем. и… в файловой системе Ext4 или Btrfs.

v. Максимальная длина пути: Файловая система Ext4 не имеет ограничений на длину пути к файлу или каталогу. Таким образом, вы можете создавать очень глубокие структуры каталогов и хранить там свои файлы.

То же верно и для файловой системы Btrfs.

vi. Максимальное количество файлов: Вы можете создать максимум 232 (= 4 294 967 296 ~ = 4 миллиарда) файлов в файловой системе Ext4.

Вы можете создать максимум 264 (= 18 446 744 073 709 551 616 ~ = 18 квинтиллионов) файлов в файловой системе Btrfs.

vii. Метод распределения inode: Inode - это структура данных файловой системы, которая используется для описания файла или каталога. Итак, для каталога или файла требуется 1 индексный дескриптор. 2 каталога или 2 файла потребуют 2 inodes.

В файловой системе Ext4 вы определяете количество inode, которое файловая система может поддерживать при создании файловой системы. Вы не можете изменить его после создания файловой системы. Если вы создадите слишком много маленьких файлов, у вас может остаться свободное место на диске в вашей файловой системе, но вы не сможете создавать новые файлы / каталоги, если у вас нет свободных inodes. Это большое ограничение файловой системы Ext4.

В файловой системе Btrfs распределение inode является гибким. Файловая система может добавлять сколько угодно inodes. Итак, inodes никогда не закончатся.

viii. Контрольная сумма / Поддержка ECC: Файловая система Ext4 не хранит контрольную сумму данных, хранящихся в файловой системе.

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

ix. Поддержка журнала и копирования при записи: Файловая система Ext4 - это файловая система с журналированием. У него нет поддержки копирования при записи (CoW).

Файловая система Btrfs - это файловая система с функцией копирования при записи (CoW), и она не имеет поддержки журналов.

Икс. Снимок файловой системы: Файловая система Ext4 не может делать снимки файловой системы.

Файловая система Btrfs может делать снимки. Вы можете делать снимки только для чтения и снимки с возможностью записи.

ПРИМЕЧАНИЕ: Снимок файловой системы - важная функция. Используя эту функцию, вы можете сделать снимок своей файловой системы, прежде чем пробовать что-нибудь рискованное. Если что-то пойдет не так, как планировалось, вы можете вернуться к раннему состоянию, когда все работало. Это встроенная функция файловой системы Btrfs. Для этого в файловой системе Btrfs вам не нужны сторонние инструменты / программное обеспечение.

xi. Шифрование на уровне файловой системы: Файловая система Ext4 имеет экспериментальную поддержку шифрования на уровне файловой системы.

Файловая система Btrfs не поддерживает шифрование на уровне файловой системы.

xii. Дедупликация на уровне файловой системы: Файловая система Ext4 не поддерживает дедупликацию.

Файловая система Btrfs поддерживает дедупликацию на уровне файловой системы. Для этого вам не нужны сторонние инструменты / программное обеспечение.

ПРИМЕЧАНИЕ: Депуляция - это метод устранения / удаления дублирующихся копий данных из файловой системы и сохранения только одной копии данных (уникальных данных) в файловой системе. Этот метод используется для экономии дискового пространства.

xiii. Поддержка нескольких устройств: Файловая система Btrfs поддерживает несколько устройств и имеет встроенную поддержку RAID. Файловая система Btrfs имеет встроенный диспетчер логических томов (LVM), который используется для добавления нескольких устройств хранения или разделов в одну файловую систему Btrfs. Одна файловая система Btrfs может охватывать несколько дисков и разделов.

Файловая система Ext4 не поддерживает несколько устройств. Вы не можете распределить одну файловую систему Ext4 на несколько дисков или разделов. Чтобы объединить несколько устройств хранения и разделов в файловой системе Ext4, вы должны использовать сторонние менеджеры логических томов, такие как LVM 2. Для настройки RAID необходимо использовать сторонние инструменты, такие как DM-RAID или MDADM.

xiv. Сжатие на уровне файловой системы: Файловая система Ext4 не имеет встроенной поддержки сжатия на уровне файловой системы.

Файловая система Btrfs имеет встроенную поддержку сжатия на уровне файловой системы. Он может сжимать отдельный каталог, один файл или всю файловую систему для экономии места на диске.

xv. Возможности изменения размера автономной файловой системы: Файловая система Ext4 поддерживает рост автономной файловой системы (увеличение размера файловой системы) и сжатие (уменьшение размера файловой системы).

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

xvi. Возможности изменения размера файловой системы в Интернете: Файловая система Ext4 поддерживает онлайн-рост (увеличение размера файловой системы при монтировании). Но он не поддерживает сжатие онлайн-файловой системы (уменьшение размера файловой системы при монтировании).

Вы можете увеличивать (увеличивать размер файловой системы) и сокращать (уменьшать размер файловой системы) файловые системы Btrfs онлайн (при подключении).

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

xviii. Распределение блоков: Файловая система Ext4 не поддерживает перераспределение блоков.

Файловая система Btrfs поддерживает перераспределение блоков.

ПРИМЕЧАНИЕ: Когда файловая система хранит большие файлы в файловой системе, большой файл разбивается на блоки, и блоки хранятся в файловой системе. Последний блок файла не занимает весь блок. Этот последний блок называется хвостовым блоком. Точно так же, когда хранится много маленьких файлов, они не занимают весь блок. Итак, много места на диске тратится впустую. Перераспределение блоков - это метод сохранения частей другого файлового блока в хвостовом блоке (последний блок другого файла, который не занимал весь блок) и экономии дискового пространства.

xix. Упаковка хвоста: Файловая система Ext4 не поддерживает упаковку хвоста.

Файловая система Btrfs поддерживает хвостовую упаковку.

ПРИМЕЧАНИЕ: Упаковка хвоста является частью распределения блоков. Как я уже говорил, небольшие файлы не занимают весь файловый блок. Итак, чтобы эффективно хранить небольшие файлы (я.е. исходные коды программ) в файловой системе, хвостовой блок небольшого файла используется для хранения других небольших файлов. Упаковка хвоста улучшает производительность файловой системы и экономит много места на диске в файловой системе, где много маленьких файлов (i.е. исходные коды программы) хранятся.

хх. Файловая система на основе экстентов: Файловые системы Ext4 и Btrfs являются файловыми системами на основе экстентов.

ПРИМЕЧАНИЕ: Экстент - это непрерывная область устройства хранения, зарезервированная для файла в файловой системе. Файловые системы на основе экстентов хранят большие файлы в непрерывной области хранения. Это улучшает производительность файловой системы и увеличивает эффективность хранения.

xxi. Переменный размер блока файла: Файловая система Ext4 поддерживает фиксированный размер блока. Размер блока устанавливается до создания файловой системы. После создания файловой системы вы не можете изменить размер блока.

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

xxii. Распределить на промывке: И Ext4, и файловая система Btrfs поддерживают выделение при сбросе.

ПРИМЕЧАНИЕ: Файловая система выделяет некоторое буферное пространство в памяти компьютера. Когда есть запросы на запись на диск, файловая система не записывает блоки данных непосредственно на запоминающее устройство. Вместо этого файловая система хранит блоки данных в буферной памяти. Когда буферная память заполнена, файловая система сразу записывает все ожидающие блоки данных на устройство хранения. Это снижает загрузку ЦП, ускоряет запись на диск и уменьшает фрагментацию диска.

xxiii. Поддержка TRIM: И Ext4, и файловая система Btrfs поддерживают TRIM. Это очень важная функция для устройств хранения SSD.

ПРИМЕЧАНИЕ: Когда вы удаляете файл с SSD, команда TRIM уведомляет устройство хранения SSD о страницах (файловых блоках), которые больше не нужны. SSD удаляет ненужные страницы (файловые блоки) из флеш-памяти и подготавливает страницы (файловые блоки) для хранения новых данных. Без поддержки TRIM скорость записи SSD будет медленнее, поскольку SSD заполняется новыми данными.

Преимущества Ext4 перед Btrfs:

Файловая система Ext4 - очень старая файловая система. Он уже давно используется в операционной системе Linux. Благодаря этому файловая система Ext4 очень стабильна. Файловая система Ext4 по-прежнему является файловой системой по умолчанию во многих популярных дистрибутивах Linux (i.е. Ubuntu / Debian). Если вам нужно сохранить некоторые данные как обычный пользователь Linux, вы можете закрыть глаза и использовать файловую систему Ext4. Файловая система Ext4 поддерживает ведение журнала. Таким образом, ваши файлы должны быть в безопасности даже при сбое питания. Это хорошая файловая система для повседневного использования.

Преимущества Btrfs перед Ext4:

Файловая система Btrfs - это современная файловая система с функцией копирования при записи (CoW), которая была разработана для серверов хранения большой емкости и высокой производительности. Таким образом, он имеет множество дополнительных функций, которых нет в файловой системе Ext4. Файловая система Ext4 была разработана как простая локальная файловая система.

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

  1. Встроенные снимки на уровне файловой системы.
  2. Поддержка нескольких устройств.
  3. Встроенная поддержка RAID.
  4. Гибкое распределение inode.
  5. Оптимизация для хранения файлов меньшего размера (разреженные файлы, перераспределение блоков, упаковка хвостов, переменный размер блока).
  6. Встроенная поддержка сжатия на уровне файловой системы.

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

Заключение:

В этой статье я сравнил файловые системы Btrfs и Ext4. Я сравнил основные возможности файловой системы Btrfs и Ext4. Эта статья должна помочь вам выбрать между файловой системой Btrfs и Ext4.

Рекомендации:

  1. ext4 - Википедия - https: // ru.википедия.org / wiki / Ext4
  2. Btrfs - Википедия - https: // en.википедия.org / wiki / Btrfs
  3. ядро / гит / торвальдс / Linux.git - дерево исходных текстов ядра Linux - https: // git.ядро.org / pub / scm / linux / kernel / git / torvalds / linux.git / commit /?id = 4204617d142c0887e45fda2562cb5c58097b918e
  4. Сравнение файловых систем - Википедия - https: // ru.википедия.org / wiki / Comparison_of_file_systems
  5. Дедупликация данных - Википедия - https: // ru.википедия.org / wiki / Data_deduplication
  6. Разреженный файл - Википедия - https: // en.википедия.org / wiki / Sparse_file
  7. Перераспределение блоков - Википедия - https: // ru.википедия.org / wiki / Block_suballocation
  8. Экстент (файловые системы) - Википедия - https: // ru.википедия.org / wiki / Extent_ (файловые_системы)
  9. Распределение при сбросе - Википедия - https: // ru.википедия.org / wiki / Allocate-on-flush
  10. Обрезка (вычисления) - Википедия - https: // ru.википедия.org / wiki / Trim_ (вычисления)
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...
Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...
Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...