Обрезка SSD на Linux - PullRequest
       26

Обрезка SSD на Linux

0 голосов
/ 25 апреля 2020

Я слышал много разных мнений о SSD Trim, и обычно не очень важно знать, как это обрабатывается, потому что вы знаете, как это обрабатывается, если я не использую системы, в которых большинство этапов установки выполняются вручную, как Arch Linux.

Документация Arch Linux объясняет несколько способов настройки SSD Trimming, непрерывный, periodi c ... et c. но в нем не говорится, выполняет ли ядро ​​обрезку по умолчанию в поддерживаемой файловой системе без каких-либо дополнительных шагов настройки.

Можно ли безопасно пропустить ручную настройку непрерывной или периодической c обрезки, найденной в документации? Как я могу контролировать такие операции? Буду ли я в безопасности при чистой установке с использованием ядра 5+ и ext4 в качестве fs без использования какого-либо из этих подходов, описанных в документации?

(https://wiki.archlinux.org/index.php/Solid_state_drive)?

Должен ли я волноваться в долгосрочной перспективе, потому что я никогда не обрезал SSD диск, когда Arch Linux молча делал вид, что так долго здоров?

1 Ответ

0 голосов
/ 27 апреля 2020

- На этот ответ любезно ответил @ user1686 https://superuser.com -

Ядро выполняет операцию сброса только в двух случаях:

  • Периодически: когда инструмент fstrim запрашивает его.

  • Непрерывно: всякий раз, когда файлы удаляются, если файловая система была смонтирована с опцией сброса. Эта опция по умолчанию отключена.

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

(Тем более, вы можете увидеть уведомление в вашей связанной статье, что несколько старых SSD на основе SATA не поддерживали TRIM «в очереди», что означало, что все операции - даже чтение - должны ждать, пока запрос TRIM не завершит свою работу.)

По этой причине, большинство систем вместо этого выбирают первый вариант и планируют fstrim -Av каждую неделю или около того. Это часто делается с помощью системного модуля "fstrim.timer". Служба fstrim будет писать в системный журнал каждый раз, когда она вызывается:

$ journalctl -u fstrim

Feb 07 19:18:23 fstrim[401]: /: 484.5 GiB (520173604864 bytes) trimmed on /dev/sdb3

Ваш SSD не загорится, если вы решите вообще не использовать TRIM (даже если он изготовлен Samsung); Прием записи будет происходить несколько медленнее, если он решит, что 100% диска используется.

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

Обратите внимание, что если вы используете LVM или cryptsetup, все такие уровни должны быть настроены для пройти операцию сброса на нижний уровень. По умолчанию cryptsetup игнорирует операции удаления, так как он отдает приоритет конфиденциальности над производительностью - TRIM по своей природе показывает, какие области диска используются, а какие свободны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...