Собирается установить Ubuntu 16.04 на жесткий диск M.2. Какую файловую систему мне использовать для скорости? [закрыто]

8

О том, как установить Ubuntu 16.04 на жесткий диск Samsung M.2. (с помощью USB-накопителя)

Какую файловую систему мне использовать?

  • Fat32
  • ext4
  • ext3
  • ext2
  • NTFS
  • еще один я не упомянул?

Мой жесткий диск:

1TB SAMSUNG SM961 M.2, PCIe NVMe (up to 3200MB/R, 1800MB/W)

Если они все работают, какой из них самый быстрый?

Любые советы / подводные камни для напуганного нуба :)

Конор Коснетт
источник
2
Почему вы полагаете, что файловая система имеет значение в отношении скорости? Ох, и почему вы перечисляете FAT и NTFS. Это окна, а не Linux, поэтому их нельзя использовать для установки Ubuntu.
Rinzwind
4
Из ваших кандидатов FAT и NTFS могут быть исключены, поскольку Ubuntu не может быть установлен ни на одном из них, оставляя только семейство ext *. Из них ext4, конечно, самый новый и самый продвинутый, который также используется по умолчанию. Если вы не ожидаете неприятностей, лучше придерживайтесь ext4, чем экспериментируйте с некоторыми менее хорошо поддерживаемыми файловыми системами для минимального прироста производительности. Связано: superuser.com/q/274172/418736
Byte Commander
2
Должен ли я отформатировать Ubuntu Installation-USB с ext4 (я использую Windows 10, чтобы сделать это?)
Конор Коснетт
2
Вы форматируете установочный usb с помощью fat32. Взгляните сюда: tutorials.ubuntu.com/tutorial/…
mondjunge
1
Если вы «нуб», то следуйте советам программы установки! , Производный от этого только тогда, когда вы знаете, что вы делаете.
Турбьерн Равн Андерсен

Ответы:

10

Достаточно просто. Вы используете файловую систему, которая лучше всего подходит для вашей ОС. Для большинства дистрибутивов Linux, включая Ubuntu, это:

ext4

NTFS и fat32 не подходят для систем Unix / Linux, так как им не хватает функций, необходимых Linux. Они могут быть хорошим выбором для разделов данных, которые должны быть доступны из систем Windows. Имейте в виду, что fat32 не может хранить файлы размером более 4 ГБ, но это наиболее совместимый выбор. Даже старый DOS может читать / писать fat32.

ext2 и ext3 являются в основном предшественниками ext4.

Кстати, скорость на самом деле не зависит от файловой системы. Harddrive и Bus (Соединение, USB-порт) определяют скорость ваших файловых операций.

mondjunge
источник
5
Единственное, на что стоит обратить внимание, но это не было частью вопроса: в случае, если кто-то чувствует необходимость создания снимков: btrfs - это тоже вариант.
Rinzwind
1
Доступ к Ext * возможен в Windows с помощью дополнительных драйверов ( пример ). Очевидно, что это не лучшее решение, если вы хотите иметь возможность подключать диск в любом месте и работать просто, но это может подойти для некоторых пользователей (например, для двойной загрузки).
Джон Бентли,
5
На самом деле часто существуют очень существенные различия в скорости между файловыми системами для некоторых рабочих нагрузок. Не так много для больших потоковых чтений, но если вы создаете / удаляете / сканируете большое количество файлов, вы можете увидеть разницу в производительности более чем в 2 раза. Аналогично для рабочих нагрузок БД.
Хоббс
Я бы предложил f2fs, так как он использует флэш-память
Мэтью
@hobbs: Да, но вопрос был в поиске (Цитата): «Любые советы / ловушки для напуганного нуба», я не хотел пугать нуба сложными основами архитектур файловых систем.
понедельник,
4

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

Во-первых, давайте откажемся от возможности установки вашей корневой файловой системы на раздел FAT или NTFS. Эти файловые системы не совместимы должным образом с ядром Linux, и разрешения файловой системы Linux на них не работают должным образом, поэтому у вас будет много интересных проблем.

Примечание . FAT32 - хороший выбор для установочных носителей USB, а NTFS - хороший вариант в сценарии двойной загрузки (с Windows) для разделов, которые вы хотите использовать для хранения личных вещей (например, медиатека), которые должны быть доступны. на Ubuntu (или любую другую систему Linux) и Windows. Системы Linux могут читать (и записывать) разделы NTFS, если они были правильно смонтированы, но разделы ext * не легко читаются для Windows (насколько я знаю).

Системы ext * были разработаны для использования с ядром Linux. Использование ext2,3 или 4 для установки Ubuntu было бы совершенно разумным. Вероятно, самые большие различия между ними

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

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

Чего ждать? Журналирующее? 1

Журналирования файловой системы , в общем, ведет журнал изменений , которые еще не были записаны в основной части файловой системы. Это сделано для того, чтобы в случае сбоя было легко проверить согласованность файловой системы, сравнив журнал с тем, что было записано в основной области файловой системы. Это означает, что скорость проверки файловой системы намного выше с ext3 и ext4. Кроме того, поскольку ext4 позволяет маркировать нераспределенные блоки, проверка их может быть пропущена, что делает fsckеще быстрее.

Ext4 также проверяет контрольную сумму журнала (что позволяет меньше операций ввода-вывода при записи), что дает небольшое общее увеличение скорости по сравнению с ext3.

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

Улучшающие производительность возможности ext4

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

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

Ext4 обратно совместим с ext2 и ext3, что означает, что файловые системы ext2 и 3 могут быть смонтированы как ext4 и обладают умеренным выигрышем в производительности, поскольку могут использоваться некоторые функции, такие как новый алгоритм выделения блоков.

Другие файловые системы

Ext * - не единственные полностью совместимые с Linux файловые системы, хотя они являются самыми известными и наиболее протестированными. Другие файловые системы используют альтернативы журналированию и имеют инновационные функции, которые могут влиять на производительность. Btrfs , например, использует копирование при записиметод сохранения целостности файловой системы вместо журнала. Он имеет различные структуры данных для систем ext *. Насколько мне известно, Btrfs, как известно, не обеспечивает более высокую общую производительность, чем ext4, но считается особенно подходящим для архивного хранения фото-видеофайлов, поскольку они менее подвержены деградации. Он позволяет проверять и очищать целостность файловой системы во время использования, что может сэкономить время в зависимости от вашего варианта использования. В будущем Btrfs или другая инновационная файловая система могут быть усовершенствованы, чтобы убедительно превзойти ext4 по общей скорости.

Вывод

Большинство пользователей Ubuntu, ищущих хорошую производительность, сейчас захотят придерживаться ext4 ...


1 Эта и другие концепции файловой системы Linux очень хорошо объяснены в статье «Понимание ядра Linux» .

Занна
источник
1
фантастический ответ, я заказал копию «понимания ядра Linux», я думаю, что пока буду использовать только ext4, но я хотел бы поэкспериментировать в будущем
Conor Cosnett
1
@ConorCosnett это круто. Я думаю, что инновационные файловые системы, такие как Btrfs и ZFS, нуждаются в более предприимчивых людях для их тестирования Даже ведущий разработчик ext4 заявил, что Btrfs, по крайней мере, в своей теоретической структуре лучше (скажем, потенциально лучше), чем ext4. Просто системы ext * хорошо протестированы, и многие в мире Linux знакомы с ними. Мы придерживаемся того, что знаем.
Занна