Как стать автором
Обновить

Самый актуальный гайд по установке Linux на SSD-накопители в 2021 году

Время на прочтение7 мин
Количество просмотров75K
Всего голосов 22: ↑14 и ↓8+6
Комментарии34

Комментарии 34

Лет 8-9 собирал я себе домой новый файловый сервак и думал — что же купить под ОС? Тогда у энтузиастов ещё были модны WD Raptor на 10к оборотов, а SSD только входили в нашу жизнь и цены на них начинали падать. Т.к. я в своих серверах на тот момент уже дважды через год выбрасывал WD Raptor — решил попробовать SSD и взял самый дешёвый на тот момент Intel X25-V 40Гб. В общем избавился я от него только прошлым летом, когда собирал новый файловый сервак. Диски под данные один раз по кругу я там точно заменил, а вот SSD как жил, так и жил. При этом никакого журналирования я не отключал и с «оптимизациями» вообще не заморачивался. В общем прожил он себе счастливо 7-8 лет с CentOS сверху.
У нас тоже осталось негативное впечатление от WD Raptor на 10 тыщ оборотов.
Работал быстро, хорошо, но недолго. Умер вместе с данными сразу по окончании гарантии, года через 2.
Сейчас под БД используем SSD, износ моральный гораздо быстрее физического. Лет за 5 использовано 3% ресурса. Смотрим периодически через SMART.
Заложив изначально 25-30% хранилища свободными от данных, вы внесете максимальный вклад в срок безотказной и верной службы диска, а потому вольны свободно размечать до 4-х разделов в рамках Ext4

chivo_blt.gif


во первых емнип "незанятое" и "неразмеченное" пространства это сильно разные вещи, размечать можно всё, вопрос в том чтобы не забивать разделы до отказа, а 20% свободного пространства НА РАЗДЕЛЕ это бестр практис для любой ФС.
во вторых причём тут вообще кол-во разделов?


по моему текст выше это история о том что "чем больше свободного пространства вы оставите тем быстрее купите второй накопитель"


слава бг хотя бы не написали про "откажитесь от swap", за такое вообще пальцы ломать надо.

слава бг хотя бы не написали про «откажитесь от swap», за такое вообще пальцы ломать надо.


Я в этом деле профан, а можешь объяснить почему?
У меня на Win10 swap отключён, 32 гига оперативки хватает, чтобы обходиться без свапа.

Статью почему хотя бы минимальный своп необходимо иметь можно найти тут же на хабре, но мне лень
А ещё без свопа не работает гибернация


Может быть оба пункта не актуальны для винды, не уверен, лет 10 уже держусь от неё в стороне…

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

Гибернация может работать в файл. Но соглашусь, что жить без своп раздела — "такая себе" идея.

Некоторый софт может просто не работать без свапа

размечать можно всё
Можно, но даже имея 20% неразмеченного пространства «про запас» иногда руки чешутся «на недельку» расширить раздел на эти 20%, а то «места вот чуть-чуть не хватает!». Соседний диск, где этого неразмеченного пространства нет, регулярно забиваю почти до 100%, даже не вспоминая про бест практис.
Так что кому-то может и поможет такое «потерявшееся» пространство соблюдать эти самые практис.
>>> во первых емнип «незанятое» и «неразмеченное» пространства это сильно разные вещи

именно. В современных ссд часть пространства в принципе не доступна для разметки (причем в бюджетных решениях обычно она до 10%, в то время как на решениях типа «для ЦОД» может доходить до 30%!). Если вы сами разметите на 10% меньше, чем есть — контроллер будет все равно использовать ВСЮ имеющуюся память для циклической перезаписи, просто у него будет больше пространства для маневра. Кроме того — это важно для массированной ПЕРЕЗАПИСИ больших объемов данных (если у вас по каким-то причинам есть многогигабайтные файлы, которые вы перезаписываете — контроллер кладет новые версии сначала «рядом», и только потом помечает старые ячейки как более неиспользуемые и доступные для записи). Опять же — если у вас несколько разделов на ссд — важно сколько свободного пространства на ссд всего, а не в конкретном разделе. Поэтому вполне логично разметить на 10% меньше чем есть и забыть о том, что надо держать место свободным (хотя конечно для ссд все равно — чем больше свободного места тем лучше).
Если же планируете подключать диск по SATA, гнаться за скоростями выше 560 МБит/с не имеет смысла — упретесь в лимит по шине.


Может все-таки мегабайт? 560МБит/с — это 70МБайт/с, даже шпиндели могут больше.
> Заложив изначально 25-30% хранилища свободными от данных, вы внесете максимальный вклад в срок безотказной и верной службы диска

Какой лютый бред
Почему?
habr.com/ru/company/ocz/blog/393131

В случае с новомодным QLC там все еще хуже:
As shown in the preceeding formulas and tables, while sacrificing user-addressable capacity, over-provisioning provides a positive effect on NAND-based SSD endurance, WAF, and random write performance. In general, over-provisioning allows flexibility in an SSD’s endurance and capacity where the user can go from a 1 DWPD-rated SSD to 3 DWPD, or from 3 DWPD to 5, or even up to 10 DWPD.
www.intel.ru/content/dam/www/public/us/en/documents/white-papers/over-provisioning-nand-based-ssds-better-endurance-whitepaper.pdf
Хозяйке на заметку: в современных линуксах из коробки есть lvm, а в частности lvm_cache.
Положим, у вас есть небольшой бюджетный SSD гигов на 128 и «spinning rust» терабайта на 2.

Типичный layout будет выглядеть так.
SSD:
  • vfat 512M — /boot
  • swap {2xRAM}M
  • lvm2 pv cache {оставшееся место}

HDD:
  • lvm2 pv data {всё свободное место}

Средствами lvm_cache из физических разделов cache и data собирается логический раздел.

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

Потом из логического раздела нарезаются подразделы для /, /home — ну и дальше кому что надо.

В итоге теперь мы не ограничены размером SSD для корня ФС — и у нас почти 2 терабайта почти SSD :-)

N.B. lvm_cache может работать в 2 режимах: writethrough — данные сразу пишутся на hdd и это не наш случай, и writeback — данные накапливаются на ssd а потом в фоне переносятся на hdd и это как раз то что нужно.
НЛО прилетело и опубликовало эту надпись здесь

Вот только зачем? Два раза прочитал комментарий, так и не понял выгоды от сего действа.

я что-то тоже не понял сути совета. что мешает просто на уровне планирования разметить систему с учетом имеющихся дисков?
намного более важный вопрос - а что именно человек размещает в /home?

я например до сего дня имел привычку кидать на хомяк все, что не требуют установки. сегодня впервые купил ssd ну и понимаю, что это не верная стратегия.
и вот об этом-то и не хватило инфы в этой рекламной статье.

TLC применяются во флагманских решениях

В актуальных флагманских решениях некоторых производителей пока еще можно найти MLC, не требующий извращений с SLC-кэшированием.

Вот только цена таких решений весьма конская (хотя это не помешало мне поставить жЫрный серверный MLC SSD от одного популярного производителя памяти и смартфонов в ноутбук, ибо ресурс и скорость).

Конская в сравнении с чем, с TLC/QLC? Если сравнивать цену за гигабайт например относительно 5-6 лет назад (когда MLC был практически везде и 3000 перезаписей считалось обрезком относительно 5000) с текущими теми же 860 Pro, где заявляется 1200 перезаписей, то текущий ценник процентов на 10-20 ниже. Так что цена гигабайта MLC практически осталась какой и была, появились бОльшие объемы.

Кoнская по сравнению с текущими TLC/QLC.
Скорость ССД вообще не важна для большинства Linux-приминений. Важна прежде всего запись мелкими блоками(4-8к в зависимости от настроек)
И вместо всей статьи было бы полезно написать про настройки форматирования под конкретную длину блока.
Но Кингстон не славится вменяемой скоростью на случайных блоках, даже массовый Самсунг лучше. Потому, видимо, и не включено в статью.

По поводу ресурса — даже на серверах ресурс ССД не выбирается полностью, при 24х7 нагрузках в базах данных.

Для "самого актуального" гайда здесь не хватает примерно всего:


  • как настроить TRIM вручную, не полагаясь на установщик убунты (а вдруг я переношу систему с помощью dd или ставлю ее руками и debootstrap'ом?)
  • как настраивать TRIM для LUKS и LVM в разных сценариях, и чем это грозит
  • историй о несовместимости NVME (и заодно прорекламировать, что вы не WD, и ваши NVME нормальные)
  • почему на самом деле предпочтительнее EXT4 и почему особенно не стоит BTRFS

нда, совершенно согласен. я-то ожидал конкретного гайда (только что стал счастливым обладателем не кингстон). В итоге что-то типа "народ, вы не парьтесь, купите у нас, все уже давно за вас продумано". ну не знаю. Те, про кого за ранее продумано, обычно винду ставят (без обид)...

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

1. Можно ли установить Linux (или Windows) на внешний накопитель с интерфейсом USB и настроить так, чтобы он работал на любом ПК?
2. Если рекомендуемый размер swap = 2xRAM, имеет ли смысл устанавливать на флэшку или лучше на SSD M.2 в корпусе-адаптере? Кстати, во втором варианте (SSD to USB) система будет знать, что установлена на именно на SSD?
3. Вариант с SSD M.2 в корпусе-адаптере будет работать на USB 2.0?
1. Есть live-образы, которые как раз предназначены для загрузки системы с внешнего накопителя. Однако для этого необходимо выставление соответствующего разрешения в BIOS компьютера и манипуляции при его включении.
2. Точного ответа не знаю, но обычно флешки предназначены для хранения и переноса данных, а не активной записи. У них заметно ниже ресурс, высокоскоростные флешки стоят дороговато. Думаю SSD целесообразнее. Лично я одну флешку убил, используя в нулевых как устройство для файла подкачки.
3. Работать будет, но зачем своими руками создавать бутылочное горлышко?
1. Есть live-образы, которые как раз предназначены для загрузки системы с внешнего накопителя.
А наработанные изменения остаются? Можно ли, например, загрузиться в такую систему, обновить её — и чтоб изменения сохранились при следующих загрузках?

3. Работать будет, но зачем своими руками создавать бутылочное горлышко?
Чтоб и на стареньких ПК хоть как-то работало.
Для usb 2.0 максимальная скорость 480 Мбит/с, Даже для самой медленной ревизии sata, по которым подключаются hdd, скорость будет до 1,5 Гбит/с т.е. в 3 раза выше.
Не остаются. Live обычно разворачивается из рид-онли образа, живёт на рам-диске и умирает при выключении.
Винду точно можно настроить, погуглите гайды по переезду на другую материнку. Не знаю, как в десятке (хотя слышал краем уха, как кто-то поменял материнку и у него всё само запустилось), а в семёрке нужно было все возможные драйверы контроллера диска включить вручную.
Как вариант попробуйте держать на USB-диске плеер виртуальных машин и саму виртуальную машину со своей рабочей системой. Или, как ультра-костыльный вариант, загрузочный live с плеером виртуальных машин.
(Хотел было предложить установить на USB-диск гипервизор, но ведь к нему тоже будут вопросы по миграции...)
А как сейчас живет связка SSD+MDADM?
Допустим RAID 5 из 4-5 SATA-SSD терабайтников, например самсунг EVO?
Насколько такая связка будет корректно работать с точки зрения TRIM и прочих полезных функций SSD на обычной мамке или простеньком HBA.
Вопрос цены и быстродействия SATA вопросы вторичные, значения в моем случае не имеют.

Статья на тему: Все хорошо, прекрасная маркиза. Да, спасибо, твердотельные диски, стали надежны. Про swap, zswap, trim, файловые
системы btrfs, zfs,ext4 и др, применительно к скорости передачи данных и дискам разных технологий, нет ничего. Кстати, на Arch Manjaro, trim. еженедельный, без настройки. Автор — раскройте темы! :)

Почему в самом актуальном гайде нет информации о том, что ваши NVME диски в линуксе отваливаются?
bugzilla.kernel.org/show_bug.cgi?id=195039
Проблема касается A2000 серии и решается отключением энергосбережения, прописыванием в параметры загрузки ядра:
nvme_core.default_ps_max_latency_us=0 pcie_aspm.policy=performance
Хотел уже нести по гарантии свежекупленный диск, пока не начал усиленно гуглить.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий