company_banner

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

    Привет, Хабр! Долгие годы по сети гуляют байки о тайных умениях спецподготовки твердотельных накопителей к установке Linux-дистрибутивов. Пользователей-новичков это отпугивает — перейти на OpenSource типа Ubuntu. А давно не следящих за новинками железа — оттягивает прокачать скорость работы. В этом посте мы отбросим все мифы и неактуальные советы, прочно засевшие в топе поисковых запросов. А заодно подскажем ряд простых и эффективных советов по установке Linux на SSD-накопители. Поехали!



    Недавно мы уже рассказывали о типичных ошибках использования твердотельных накопителей любителями лайфхаков и прочих улучшений. Тема ошибок при эксплуатации SSD вызвала неподдельный интерес в комментариях, где была затронута популярная байка о тонкостях и секретах настройки Linux при установке на SSD-накопители. Та самая, что активно обсуждалась в холиварах на форумах и породила множество подробных гайдов на просторах Хабра. Если вдруг кто не в курсе, можете загуглить “установку Linux на SSD”.

    С большой долей вероятности, поисковая выдача отправит вас прямиком во времена доллара по 30 рублей и новейших процессоров Intel Core под Socket H2. Эх, ностальгия!



    Тогда вопросы надежности и долговечности первых твердотельных дисков всерьез волновали сторонников Linux-систем. Особенно тех, кто не обращал внимание на журналирование файловых систем поколения Ext3. К примеру, важная для NAND-памяти процедура TRIM выполнялась по умолчанию лишь раз в неделю, нанося серьезный урон ячейкам в масштабах нескольких лет эксплуатации. Но главное, на что мы рекомендуем сейчас обращать внимание при чтении подобных гайдов и секретов: дата публикации. Ладно когда гайду 5-6 лет, но у большинства и вовсе скоро юбилей.

    Насколько готовы современные дистрибутивы Linux к установке на SSD?


    Не пытайтесь изобрести колесо. Современные дистрибутивы Linux хорошо оптимизированы под установку на твердотельные накопители и автоматически выставляют оптимальные параметры журналирования и ежедневного обновления TRIM, а также деликатно относятся к записи кэша на диск. Начиная с Ubuntu версии 14.04 твердотельные диски корректно определялись еще на этапе установки, оставляя пользователю лишь иллюзию выбора неправильной файловой системы вместо рекомендуемой Ext4. Все остальное вторично, а 99% проверяющих через консоль активность TRIM на SATA-дисках, неизменно обнаруживали корректные значения вместо нулей.

    Повторимся — наш совет простой: прежде чем тратить время на чтение гайдов и лайфхаков по установке Linux-систем на SSD-диск, взгляните на дату публикации. На одном из Ubuntu-сообществ от некогда грандиозного Wiki-склада полезных команд остался лишь пяток абзацев, типа проверки активности утилиты TRIM. Все современные версии той же Ubuntu динамически отслеживают параметры работы дисковой подсистемы и по умолчанию стараются минимизировать число паразитных операций с кэшем вне оперативной памяти.

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


    На сегодняшний день можно смело урезать советы по подготовке твердотельного диска для Linux до советов по выбору подходящего носителя по типу и емкости. Вместо поиска альтернатив файловой системе Ext4 (стандарт де-факто) лучше потратить время на изучение отличий между NAND-чипами с QLC, TLC и другими видами компоновки ячеек. Подробнее о выборе накопителей по признаку QLC и их теоретических недостатках мы подробно рассказывали в этом посте. Если вкратце, SSD-накопители с QLC-ячейками дешевле, а TLC применяются во флагманских решениях, обеспечивая лучшую наработку на отказ и более высокую скорость передачи данных. Продукция Kingston построена на базе передовых 3D TLC и 3D NAND ячеек памяти, лишенных недостатков 4-битных QLC.



    Но раскрыть потенциал памяти на ячейках 3D TLC и 3D NAND можно лишь с применением SSD-накопителей формата M.2, подключаемых напрямую к шине PCI-E x4. В линейке накопителей Kingston вы можете выбрать наиболее производительные M.2-накопители линейки KC2500 с предельной скоростью чтения/записи 3500/2500 МБ/с уже для моделей c емкостью от 500 ГБ. Ячейки выполнены по 96-слойной технологии 3D TLC, а производительность контроллера Silicon Motion 2262EN давно стала неким стандартом.



    В сегменте M.2-накопителей с ячейками 3D NAND одним из самых популярных решений Kingston являются SSD из линейки A2000. Модели на 500 и 1000 ГБ демонстрируют скорость чтения/записи на отметке 2200/2000 МБ в секунду, а младшая — 2000/1100 МБ/с.

    Если же планируете подключать диск по SATA, гнаться за скоростями выше 560 МБайт/с не имеет смысла — упретесь в лимит по шине. Выгоду следует искать в емкости доступного пространства. В линейках Kingston A400 и KC600 доступны твердотельные SATA-диски вместимостью до 2 ТБ. Отличия бюджетной линейки A400 от старшей кроется в использовании ячеек памяти TLC вместо 3D TLC, что напрямую влияет на цену и показатель наработки по числу записываемых байтов информации.



    Рекомендовать младшие SATA-диски под систему можно с рядом оговорок, но под отдельные разделы системы и данные эти решения могут оказаться не сильно дороже компактного жесткого диска, превосходя по скорости даже RAID-массивы из винчестеров бытового сегмента.

    Ориентироваться на разницу значений по наработке до отказа у твердотельных SATA-накопителей не столь важно. Как минимум, важнее заложить в бюджет обновления дискового массива качественное питание компьютера, начиная с блока питания и заканчивая сетевым фильтром и бесперебойником. Твердотельные накопители в целом довольно слаботочные решения по сравнению с жесткими дисками, и некачественное питание может свести к нулю всю выгоду от показателя в 1 миллион часов по MTBF.

    О журналировании и бэкапе при выборе файловой системы


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

    Другое дело — бэкап и все резервные копии. В отличие от сомнительной пользы RAID-массивов из твердотельных накопителей вне промышленных систем хранения данных, резервное копирование информации и образов системы напрямую влияет на сохранность ваших данных. Подстраховка жестким дискам в подобных случаях уместна, но только в случаях, когда IOPS не превышает ваш лимит по стоимости.



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

    Как настроить разделы и сколько оставить неразмеченной?


    В вопросах эффективности разделения SSD-накопителей на массив логических разделов мы не рекомендуем пытаться искать связи с продлением срока службы носителя. Заложив изначально 25-30% хранилища свободными от данных, вы внесете максимальный вклад в срок безотказной и верной службы диска, а потому вольны свободно размечать до 4-х разделов в рамках Ext4. Другой вопрос, что современные высокоскоростные носители данных можно подключить как USB-C флешку и перекинуть туда некоторые разделы системы.

    Создавать несколько логических разделов имеет смысл лишь для разнесения каталогов системы с различным характером применения. Например, системные и бинарные каталоги имеет смысл разделить от логов, как и резервные базы. А вот потребности /run лучше покрыть запасом по доступной оперативной памяти. Это наилучшим образом скажется на снижении IOPS на диск в течении длительного периода эксплуатации.

    Как следует настраивать актуальные сборки на базе Linux под SSD?


    На протяжении последних трех лет ответ на данный вопрос звучит до неприличия просто: отдавайте предпочтение настройкам по умолчанию. Постарайтесь отказаться от ручной корректировки параметров с помощью устаревших гайдов, а некорректное выполнение некоторых из них может привести к потере данных. Напомним, что операция удаления на SSD-накопителях гораздо честней жестких дисков и сложней по восстановлению. К тому же современные емкости в сотни недорогих гигабайт и типичная наработка на отказ в 50-70 ТБ потребует десятки лет работы Linux в домашних условиях.

    Даже широко обсуждаемое включение ежедневного запуска TRIM уже несколько лет как потеряло свою актуальность. Данная процедура автоматически запускается всеми современными Linux-дистрибутивами. В этом абзаце речь идет о большей части советов, где упоминается Fstab, пользовательские наработки по которому давно стали базовой частью системы.

    Выходит, что никаких отличий по настройке, при установке Linux системы на SSD и жесткий диск, нет вовсе. Можете смело доверить заботу о твердотельном накопителе системе, позаботившись запасом доступной оперативной памяти под нагрузкой. 32 ГБ гарантированно покроют этот вопрос у 99% пользователей, а проверить текущие значения потребления можно простой командой free.

    Как измерить скорость работы SSD в Linux?


    Если десять лет назад еще можно было встретить упоминания Phoronix test suite, на сегодняшний день стандартом бенчмарков в бытовых, рабочих и серверных машинах является утилита Fio. В умелых руках с ее помощью можно оперативно измерить окупаемость масштабирования СХД по стоимости IOPS, но в бытовых целях вас наверняка интересуют те же значения, что выдает на Windows утилита CrystalDiskMark, не так ли?



    Ее аналог доступен на просторах Github под именем KDiskMark. У программы есть графический интерфейс, сводящий проверку скорости накопителей и любых дисков до пары кликов мышкой. За оболочкой скрывается вышеупомянутая Fio, итоговые значения которой наиболее точны в сравнении измерений диска на других ОС.

    Вердикт: смело монтируйте Linux на SSD без заморочек


    Более подробный анализ значений работы SSD-дисков требует более обстоятельного подхода и широко освещен Хабровчанами. Базовую информацию, разметку и проверку дисковых разделов можно выполнить с помощью утилиты Disks, предустановленной в Ubuntu и многих других Linux-дистрибутивах. А 99% всех рекомендаций и твиков давно утратили свою актуальность. Сегодня вы можете наслаждаться быстрой работой Linux-систем на твердотельных накопителях Kingston без дополнительных танцев с бубнами, просто выбрав установку по умолчанию.

    Для получения дополнительной информации о продуктах Kingston Technology обращайтесь на официальный сайт компании.
    Kingston Technology
    Компания

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

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

        chivo_blt.gif


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


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


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

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


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

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


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

              0

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

                0

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

                0

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

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


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

                  Какой лютый бред
                  +3
                  Хозяйке на заметку: в современных линуксах из коробки есть 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 и это как раз то что нужно.
                  • НЛО прилетело и опубликовало эту надпись здесь
                      0

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

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

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

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

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

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

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

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


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

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

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

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

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

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое