Выбор файловой системы Linux для SSD.
в Linux 28.08.2019 0 179 Просмотров
При настройке новой установки Linux на SSD многие не знают, какую файловую систему лучше использовать. Это понятно, поскольку о файловых системах говорят недостаточно. Когда люди устанавливают Linux, часто они выбирают параметры по умолчанию, даже не задумываясь о файловой системе. Это не правильный путь для решения этих проблем. В этой статье мы рассмотрим лучшие файловые системы для вашего SSD в Linux. Мы оценим их и рассмотрим положительные и отрицательные стороны каждой файловой системы.
1. Btrfs
Btrfs имеет много врагов. Недоброжелатели говорят, что она нестабильная, и это может быть правдой, так как она находится в очень тяжелом развитии. Тем не менее, это на самом деле довольно солидная файловая система для базового использования, особенно когда речь идет о твердотельных накопителях. Основная причина в том, что Btrfs не ведёт журнал в отличие от некоторых других популярных файловых систем, экономя драгоценное пространство для записи на SSD и файлов на них.
Для владельцев твёрдотельных накопителей, файловая система Btrfs также поддерживает очень важную функцию TRIM. TRIM может стирать неиспользуемые блоки, что крайне важно для поддержания работоспособности твёрдотельного диска в Linux. TRIM также поддерживается и другими файловыми системами. Но это не главная причина, чтобы использовать Btrfs для вашего твердотельного накопителя при установке и использовании Linux.
Хорошей причиной для рассмотрения Btrfs является функция снимка. Хотя очень верно, что то же самое может быть достигнуто в других файловых системах с установкой LVM, другие файловые системы не приближаются к тому, что бы было понятно насколько это может быть полезной функцией. С помощью Btrfs пользователи могут легко делать снимки файловых систем и восстанавливать их позднее, если возникнут какие-либо проблемы. Для пользователей, которые ищут лучшую поддержку твердотельных накопителей в Linux, просто необходимо взглянуть на Btrfs.
2. EXT4
Для тех, кто не ищет необычные функции, такие как «копирование при записи» или «моментальные снимки» файловой системы, выполненные способом Btrfs, Extended 4 может быть хорошим выбором для твёрдотельного накопителя. Причина, по которой Ext4 часто рекомендуется, заключается в том, что на сегодняшний день это наиболее используемая и надежная файловая система в Linux. Она используется в крупных центрах обработки данных и на производстве, на всех типах жёстких дисков, включая твердотельные накопители. Если вы пользователь, который не очень заботится о файловых системах, используйте эту файловую систему.
Но причина, по которой она не 1 месте в этом списке, очень простая. Extended 4 не предназначена для работы с твердотельными накопителями. Это правда, что у неё есть поддержка обрезки файловой системы (критическая функция SSD), но вне этого файловая система никогда не была разработана для этого варианта использования. Почему? Она использует журнал файловой системы. Это означает, что файловая система постоянно записывает журналы и информирует систему о каждом отдельном изменении. Это может быстро изнашивать ограниченное пространство для записи на SSD под управлением Linux.
Ext4 является удовлетворительным выбором для твердотельных накопителей с отключенным ведением журналов в файловой системе и приемлемым выбором для большинства пользователей, но она не должна быть первым выбором.
3. XFS
Одна из основных причин использования файловой системы XFS – поддержка больших объёмов данных. Безусловно, XFS может обрабатывать большие данные лучше, чем любая другая файловая система в этом списке, и делает это надёжно. Вот почему XFS может быть отличным кандидатом для установки Linux на SSD. Поскольку современные вычисления становятся всё более и более продвинутыми, файлы данных становятся всё более и более требовательными. Имеет смысл использовать файловую систему, которая может учитывать все эти увеличения данных и делает это надёжно.
XFS, как и Ext4, является журналируемой файловой системой. Но, в отличие от Extended 4, невозможно отключить ведение журнала, поэтому е может быть неудобно использовать на SSD. Тем не менее, файловую систему постоянно называют «высокопроизводительной», то есть имеет смысл обратиться к этой файловой системе для высокопроизводительных дисков. Кроме того, XFS поддерживает стандартные функции SSD и даже дефрагментацию. Пользователи SSD, которые не боятся функции ведения журнала, должны учитывать XFS при рассмотрении новой установки Linux на SSD.
4. F2FS
F2FS – это файловая система, разработанная Samsung специально для нового класса хранилищ данных: NAND. NAND – это то, что люди имеют в виду, говоря о «флэш-памяти», и то, как твердотельный накопитель хранит данные. F2FS – относительно новая, малоизвестная технология. Несмотря на это, она уже имела некоторый реальный успех на Linux. Многие поклонники F2FS, похоже, согласны: зачем искать файловую систему, которая хорошо работает с SSD, если она специально создана для него?
Недостатком F2FS является то, что её могут запустить только продвинутые пользователи. Большинство, если не все, дистрибутивы Linux не поддерживают её установку в своих инструментах установки. Ядро Linux нуждается в настройке и настройке перед использованием. Но, если вы опытный пользователь, который хочет получить максимальную отдачу от своего твердотельного накопителя в Linux, вы должны изучить эту файловую систему. Она может быть сложной в настройке, но оно того стоит.
Заключение
Твердотельные накопители являются новым нормальным явлением, но по какой-то причине многие пользователи Linux по-прежнему не уверены в том, с какими файловыми системами следует работать, или как их настраивать для достижения лучших результатов. Я надеюсь, что по мере того, как твердотельные накопители станут более распространенными в Linux, последует лучший выбор файловой системы в установщиках.
Источник
Коротко и ясно о Linux и SSD
Недавно, хороший человек подарил мне SSD. Неделю он пролежал у меня на столе, т.к. времени перенастраивать систему под его использование не было. Когда же время появилось, прочитав вот этот пост habrahabr.ru/post/129551, и перелопатив немало форумов, узнал много нового.
Ниже предлагаю компиляцию всего усвоенного в одном тексте.
Итак, сперва теория:
1. ССД диск имеет ограниченное количество циклов перезаписи. Т.е. в один и тот же блок диска, в среднем, можно записать информацию 3000-5000 раз (на дорогие модели дисков можно и больше).
2. Что бы выравнивать износ диска, нужно как можно реже писать в одно и то же место, т.е. сперва использовать незанятые блоки диска, и только когда они кончатся, писать поверх.
3. В незанятый блок, ССД диск пишет намного быстрее чем в занятый.
4. Диск не «знает», о том, какие блоки заняты, т.к. эта информация сохраняется в файловой системе, и при удалении файла, фактически диску об этом не сообщается. Но когда файловая система решит повторно использовать блок, который уже когда то использовался, он может быть еще не очищен от информации которая там была, т.к. диск не знал, что его можно освобождать. И запись в такой блок займет много времени.
5. В отличие от HDD, в ячейку флеш-памяти NAND нельзя перезаписать новые данные поверх старых, не очистив ее перед этим. Ячейки памяти SSD сгруппированы в страницы (обычно по 4 Кбайт каждая), страницы сгруппированы в блоки (64-128 страниц). Данные можно вписать на чистую страницу, но стирать можно только блоки целиком. Запись на SSD-носитель выполняется очень быстро до тех пор, пока существуют чистые страницы, но значительно замедляется, если необходимо очищать предварительно записанные страницы. Чтобы вернуть в обращение ячейки блока, содержащего смесь актуальных данных и мусора (невалидных данных), контроллер копирует нужное (валидные данные) на пустую страницу нового блока, а затем стирает весь исходный блок. После этого ячейки блока будут готовы принять новые данные.
Так вот, что бы сообщать диску о освободившихся блоках, для равномерного использования диска, и для предварительной очистки блоков для последующей перезаписи, в интерфейсе ATA существует команда TRIM.
Что бы система начала использовать эту команду при удалении файлов:
1. диск должен поддерживать эту команду.
2. файловая система должна поддерживать эту команду.
3. функция TRIM в файловой системе должна быть включена.
А теперь все это на практике
Чтобы проверить поддерживает ли TRIM диск:
root@citadel:/home/serp# hdparm -I /dev/sdd|grep «TRIM supported»
* Data Set Management TRIM supported (limit 1 block)
Если получаем «Data Set Management TRIM supported (limit 1 block)», то поддерживается. Если слева от этой строки стоит звездочка, то функция активирована.
TRIM поддерживается в BTRFS, XFS, JFS и EXT4.
На данный момент, наиболее пригодна для использования EXT4.
Включить TRIM для файловой системы можно, если добавить discard в опции монтирования в /etc/fstab, или с помощью tune2fs -o discard /dev/sdaX (добавит discard в опции по умолчанию для данной ФС)
Проверить смонтирована ли ФС в данный момент с этой опцией можно посмотрев вывод mount:
/dev/sdd1 on / type ext4 (rw,discard,errors=remount-ro)
ВНИМАНИЕ. Нельзя отключать журналирование, т.к. функция TRIM без него работать не будет. Если верить вот этому источнику (https://wiki.archlinux.org/index.php/SSD#Partition_Alignment), то разница в количестве операций записи с журналом и без него не существенна, т.е. на время жизни диска особо влиять не будет (если только вы не используете его в режиме только для чтения, и хотите чтобы он жил вечно).
В интернетах часто советуют проверить включен ли TRIM таким способом:
1. dd if=/dev/urandom of=tempfile count=10 bs=512k oflag=direct //запись 5Мб рандомных данных
2. hdparm —fibmap tempfile //Ищем любой стартовый LBA адрес у файла
3. hdparm —read-sector [ADDRESS] /dev/sdX //Читаем данные со стартового LBA адреса файла, замените [ADDRESS] на свой Starting LBA address из вывода предыдущей команды
4. rm tempfile //Теперь удалим временный файл и синхронизируем ФС:
5. sync
Повторяем пункт 3 — и смотрим на вывод консоли. Если выведутся нули — то трим работает. Если вы исправили fstab, перезагрузились, но трим не активировался — ищите ошибки в неверном отключении журналирования.
Так вот у меня не выдал нули. Но у меня из 60Гиг харда занято всего 20 (точнее занято всего 8, а 20 это размер раздела.) Я подозреваю, что диск не триммит данные пока не приспичит, или пока не появится много свободного времени.
Вот тут: sites.google.com/site/lightrush/random-1/checkiftrimonext4isenabledandworking по этому поводу написано, что если при таком тестировании, после шага 3, вы видите нули, значит TRIM однозначно работает. Если же вы нулей не увидели, то это еще не значит, что TRIM не работает. Возможно диск обнулит блок позже.
Для ускорения работы системы, за одно с перенастройкой под SSD я под шумок перенес /run и /tmp на tmpfs.
Скорость работы системы ЗНАЧИТЕЛЬНО ускорилась, точнее быстрее стали загружаться приложения, и быстрее загружается сама система.
Источник
Выбор ФС для SSD
Вскором времени появится у меня Thinkpad T430 с SSD Intel 520 256 Gb. Собственно какая фс будет оптимальной?
Если хочется острых ощущений, можно попробовать F2FS
ext4 самая штабильная и вменяемая.
Смотря как функции будет выполнять. У меня — btrfs.
NTFS почему-то ещё не советуют.
Использую btrfs, снапшоты переношу хорошо, самочувствие отличное! 😉
Обычный комп программиста: компиляции, виртуалки .
Слишком много ошибок в буквах NTFS.
Да у нтфс не только в буквах))
Под линукс драйвера нормального нет.
Не путайте этот свой ошибочный fail-3g с Ъ NTFS.
Это та самая, которая в XXI веке до сих пор кейс инсенситив?
Взял такой не смог открыть файл с именам \?%*:|«<> CON, PRN, AUX, CLOCK$, NUL COM1, COM2, COM3, COM4 LPT1, LPT2, LPT3, LPT4 и приуныл. Пришлось накатывать убанту.
Это та самая, которая в XXI веке поддерживает 255 символов в имени файла независимо от языка, в отличие от.
Знал бы про UNC — не пришлось бы.
Взял такой не смог открыть файл с именам \?%*:|«<> CON, PRN, AUX, CLOCK$, NUL COM1, COM2, COM3, COM4 LPT1, LPT2, LPT3, LPT4 и приуныл. Пришлось накатывать убанту.
Такого вот я не слышал. Но об обратном на линуксе — «не могу скачать порренты с японскими порномультиками с длинными названиями» — бывает.
Зачем нужно это говно? Есть почти нормальная ReFS. Хотя и ей до современных ФС пока нужно дорасти.
И тебя с 1 апреля.
1 апреля
Уговорили, NTFS говно.
ext4 ofc, с нужными флагами п.с. есть контроллеры с 512/4к зависимостью, be careful!
ZFS (На самом деле btrfs тоже норм).
ZFS, NTFS, UFS2+SU (без журналирования).
От тебя я других вариантов не ожидал!
ZFS — излишне, какой смысл?
NTFS — без вариантов, под виндой.
UFS — эталонное ненужно.
fat12 хватит всем.
если это её единственный недостаток, то она лучшая.
Это потому что ты о них ничего не знаешь и так сказал?
Как раз наоборот!
Что не так с ними на SSD?
Зачем тогда спрашиваешь, если всё знаешь?
Зачем мне нужен на рабочем компьютере zfs? Смысл какой? В его наличии?
UFS кроме бзди ненужно, а я бздю юзать не собираюсь.
ZFS нужна для более гибкого управления пространством на носителе (в одном пуле могут сосуществовать несколько разных ФС и блочных устройств). Она обеспечивает проверяемую в онлайн надёжность хранения данных и метаданных. Автоматически борется за живучесть данных (по возможности восстановит во время чтения, но не даст прочитать испорченные данные — только если сильно попросишь). Плюшки снапшотинга, сжатия на лету, кэширования в памяти часто запрашиваемой информации. Это распространяется на всё, что содержит пул.
Те, кто пользуется, почему-то молчат о её выдающихся способностях.
Если хочется острых ощущений, можно попробовать F2FS
f2fs. btrfs, если бесстрашный.
Выдающаяся (по-настоящему крутая, а не эти снапшоты, шустрость, сжатие и программные рейды) способность btrfs — это способность похерить данные, если закончится место (а место там заканчивается ВНЕЗАПНО).
ZFS нужна для более гибкого управления пространством на носителе (в одном пуле могут сосуществовать несколько разных ФС и блочных устройств). Она обеспечивает проверяемую в онлайн надёжность хранения данных и метаданных. Автоматически борется за живучесть данных (по возможности восстановит во время чтения, но не даст прочитать испорченные данные — только если сильно попросишь).
Объясни мне, чего ты хочешь добиться? ТС не будет юзать *BSD, те, кто поняли преимущества этих систем давно их используют и не пытаются заниматься рекламой. Насчёт файловых систем:
1) Реализация ZFS под linux убогая, и до уровня FreeBSD хз когда дорастёт. FreeBSD ТС себе ставить не собирался.
2) Какая надёжность, КАРЛ? У него наверняка обычная десктопная система. Без ECC памяти. О ZFS можно забыть если у тебя нет ECC. Или ты делаешь бекапы раз в день?
3) NTFS вне вантуза неюзабелен
4) UFS2 вне FreeBSD неюзабелен. Да и перформанс там немного ниже в сравнении с ext4.
Те, кто пользуется, почему-то молчат о её выдающихся способностях.
Они либо делали бекапы, либо уже делают бекапы (но уже с других ФС, лол).
Делаю бекапы с тех времен когда ни ext4, ни btrfs не пахло. Перехал на btrfs года 2 назад. Бекапы так и не пригодились, ЧЯДНТ?!
NTFS — еще как case sensitive, но Win32API так не считает. Так что дело не в ФС.
Делаю бекапы с тех времен когда ни ext4, ни btrfs не пахло. Перехал на btrfs года 2 назад. Бекапы так и не пригодились, ЧЯДНТ?!
Закон Мерфи и везение в действии.
Думаю закон инертности мышления и массового мракобесия. Бекапы ценных данных надо делать вообще всегда, без исключений, это раз. Инфа о ненадежности btrfs устарела, два.
При этом бэкапы надо проверять на целостность и полноту.
FreeBSD ТС себе ставить не собирался.
Про ОС речи нет. Но все остальные ФС для SSD не очень.
Источник