Linux fat32 размер кластера

Sysadminium

В этой статье познакомимся с тем, какие файловые системы могут быть использованы в операционной системе Linux: ext, btrfs, xfs и с другими.

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

Полезные данные, такие как файлы и каталоги, напрямую на диск не записываются. Между разделом диска и файлами существует прослойка в виде файловой системы.

Файловая система — это средство, которое определяет различные правила работы с файлами, например:

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

Метаданные — это данные о данных, например файл содержит какие-то данные, а метаданные это:

  • дата создания файла;
  • пользователь создавший этот файл;
  • тип файла;
  • права доступа к этому файлу;
  • и подобная информация о файле.

Разные файловые системы имеют разные ограничения, например:

  • максимальный размер раздела;
  • наибольший размер файла;
  • максимальная длина имени файла.

В этой статье пробежимся по файловым системам, которые можно выбрать при установки Debian 11 и Ubuntu 22.04. При установке Debian 11 вы можете выбрать следующие файловые системы:

Выбор файловых систем при установки Debian 10

Установщик Ubuntu 22.04 имеет несколько меньший выбор:

Выбор файловых систем при установки Ubuntu 20.04

Далее пробежимся по этим файловым системам:

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

EXT (Extended File System) — расширенная файловая система.

Ext2 была создана в январе 1993 года для linux, вот её особенности:

  • не журналируемая;
  • максимальная длина имени файла — 255B;
  • максимальный размер файла — 16GB-2TB (в зависимости от размера кластера);
  • максимальный размер раздела — 2TB-32TB (в зависимости от размера кластера);
  • поддержка POSIX ACL.

Ext2 старая файловая система без журнала, но достаточно быстрая. Современные системы Linux могут работать с этой файловой системой.

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

Ext4 была создана в октябре 2006 года, но стабильная версия появилось в октябре 2008 года. Она сейчас является самой распространенной файловой системой для Linux. Убрали некоторые ограничения и оптимизировали:

  • максимальный размер файла — 16 GB-16 TB (в зависимости от размера кластера);
  • наибольший размер раздела — 1 EB (1048576 TB);
  • максимальная длина имени файла — 255 B;
  • время изменения файлов протоколируется точнее;
  • упростилась работа с крупными файлами;
  • была оптимизирована скорость работы.
Читайте также:  Установка линукс из под windows xp

На данный момент по моему мнению EXT4 лучший выбор для Linux систем.

btrfs

btrfs — это более функциональная и сложная файловая система чем ext4. Начали разрабатывать для Linux в 2007 году, а в 2014 году признали стабильной. Вот некоторые интересные функции:

  • снимки состояния, которые позволяют запомнить состояние на определенный момент времени всех файлов и вернуться к этому состоянию в последующем. Полезно когда вы случайно удалили что-то важное или какой-то вирус зашифровал все ваши данные на компьютере;
  • создание RAID конфигурации на уровне файловой системы;
  • сжатие данных, когда данные при создании автоматически сжимаются экономя свободное место на диске;
  • дедупликация данных. Когда есть два или более одинаковых файла, то они занимают размер только одного файла, что очень экономит пространство на жестком диске;
  • контрольные суммы для данных и метаданных, что повышает надежность файловой системы;
  • дефрагментация данных на лету;
  • квоты на разделы;
  • динамическая аллокация inode;
  • максимальный размер файла 16 EB;
  • наибольший размер раздела 16 EB;
  • максимальный размер имени файла 255 B;

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

JFS

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

Вот некоторые её особенности:

  • максимальная длина имени файла 255 B;
  • максимальный размер файла 4 PB (4000 TB);
  • максимальный размер раздела 32 PB (32000 TB);
  • контрольные суммы;
  • поддержка acl.

Так как по функциональности эта файловая система сравнима с ext4, но по характеристикам и популярности отстаёт, то в Ubintu установщик уже не предлагает использовать её. Можно использовать, если у вас будут храниться файлы размером более 16 ТБ, хотя и в этом случае лучше выбрать XFS.

XFS

XFS — это журналированная файловая система. Особенно хорошо работает с большими неизменяемыми файлами. Имеет следующие особенности:

  • максимальная длина имени файла 255 B;
  • наибольший размер файла 9 EB;
  • максимальный размер раздела 9 EB;
  • автоматическая аллокация и высвобождение inode;
  • дефрагментация «на лету»;
  • низкая производительность при работе с большим количеством файлов;
  • невозможность уменьшить размер существующей файловой системы.
Читайте также:  Install firefox browser linux

Эта файловая система позволит хранить просто огромные файлы, размер которых может достигать 9 EB.

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

Эти файловые системы могут работать в linux но создавались они для windows. Могут подойти для хранения файлов, но не для работы программ. Основной недостаток FAT — медленная работа с файлами:

  • fat16 — максимальный раздел 2 GB, в настоящее время потеряла свою актуальность;
  • fat32 — максимальный раздел 2 TB, для работы приложений не подходит, максимум можно использовать для хранения информации на флеш накопителе.

Итог

  • В настоящее время рекомендуется использовать ext4 для работы Linux систем, а если вам нужны дополнительные функции можно изучить и использовать btrfs, если планируете хранить крупные файлы то можно попробовать xfs.
  • Также если вам важнее скорость чем надежность можно использовать ext2, так как в ней нет журнала она должна работать быстрее чем ext4.
  • Ну а fat32 можно использовать для хранения информации на флеш накопителе.

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

Источник

Как изменить размер кластера vfat

Как изменить размер кластера vfat и ntfs средствами linux? Разделы с данными.

man mkfs.vfat; man mkfs.ntfs

Мне туда не надо. Подразумевается разделы с данными.

AFAIK, без потери данных никак. А зачем оно вообще нужно? С толсто32 ещё понятно, но у NTFS вроде всегда по умолчанию был разумный размер блока (4 KiB).

На планшете 16Гб данных и программ. При размере кластера fat 4kb при включении планшета из-за специфики nand flash при большом количестве файлов присутствует 50 минутная проверка vfat с блокировкой fs. При размере кластера fat 64kb эта проверка составляет 10 секунд. Про ntfs — так, прицепом, — вдруг пригодиться.

Большое количество маленьких файлов, умещавшихся на фат с 4kb кластерами, на фате с 64kb может просто тупо не уместиться.

Это не проблема nand flash, это проблема твоей системы. Отключи или зафорсь проверку фс. А еще лучше смени фс. а заодно ос

Размер блока 64 кб подойдет разве только для раздела с данными, но не для системного уж точно. А если речь про раздел с пользовательскими данными, то на кой черт при старте ему полная проверка. Это верный признак того, что либо ты что-то делаешь не так, либо ССЗБ.

Читайте также:  Что такое поток в linux

Если бы я хотел спросить у вас об особенностях файловой системы FAT, я бы спросил об этом. Меня интересует изменение размера кластера средствами Linux. А вы мне советуете сменить ОС на планшете с Android. Вы хоть представляете себе объем работ, знаний и времени, необходимых для реализации того, что вы предложили? Отваливается fat с маленьким кластером из-за того, что на nand flash размер erase block-a 128kb (страницы в erase block-е 2kb), и в fat нет wear leveling (учёта износа nand flash). В итоге с маленьким кластером при записи 4kb реально происходит стирание 128kb и перезапись их еще раз, в итоге, чтобы записать 128kb приходится записать 4mb + соответствующий износ nand flash.

Источник

Как я могу отформатировать SD-карту с более надежной файловой системой, используемой в Linux, с определенным размером кластера для лучшей производительности записи?

Я использую карту памяти microSD 8 ГБ для хранения данных во встроенном устройстве Linux/ARM. SD-карта не является съемной. Я использовал ext3 вместо предустановленного FAT32, потому что он, кажется, лучше обрабатывает случайные сбои питания во время записи. Тем не менее, я продолжал замечать, что моя производительность записи всегда лучше с предустановленной FAT32 от Kingston. Если я переформатирую карту с FAT32, производительность все еще страдает. Просматривая википедию, я наткнулся на следующий комментарий о том, что некоторые карты оптимизированы для кластеров определенного размера. В моем случае Kingston поставляется предварительно отформатированным для кластера размером 64 КБ.

Риски переформатирования

Переформатирование SD-карты в другой файловой системе или даже в той же самой системе может замедлить работу карты или сократить срок ее службы. Некоторые карты используют выравнивание износа, при котором часто изменяемые блоки отображаются в разные части памяти в разное время, а некоторые алгоритмы выравнивания износа предназначены для шаблонов доступа, типичных для таблицы размещения файлов на устройстве FAT16 или FAT32. [60] Кроме того, предварительно отформатированная файловая система может использовать размер кластера, который соответствует области стирания физической памяти на карте; переформатирование может изменить размер кластера и сделать запись менее эффективной.

Источник

Оцените статью
Adblock
detector