Автор Тема: Trim NVME на альт К10.2 .  (Прочитано 1571 раз)

Оффлайн Алексей!

  • Начинающий
  • *
  • Сообщений: 6
Trim NVME на альт К10.2 .
« : 03.10.2023 18:00:33 »
Добрый день. Система- Ryzen 5 5600X,NH-D15S, Gigabyte b550 aorus master, Crucial CT8G4DFS8266  4*8 32g@3200 16,19,16,16, GIGABYTE AMD Radeon RX 5700 XT GAMING OC, GIGABYTE GP-G750H  ATX Gold +2 NVME WD SN550 и CCD SPCC Solid State (силикон пауер MLC). Файловая система BTRFS. Wayland.
Вопрос 1) Хочу установить основной системой на NVME (сейчас там виндоус), но не нашел как включить информации о том ,как включить трим, проверить трим. НА оф. сайте сказано , что на BTRFs на CCD что-то само включается. Что включается, на любом ССD, к NVME это тоже относится? Оставлять не размеченными 20 процентов дисков не хочу , т.к. это будет 1.5 террабайта. Буду благодарен за помощь.
2) Чем проверять здоровье дисков? GSmartControl не поддерживает мои NVME.

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 557
Re: Trim NVME на альт К10.2 .
« Ответ #1 : 03.10.2023 19:50:53 »
1) что бы работал discard (trim) нужно прописать в fstab для btrfs discard=async в опцмм монтирования, для swap и ext4 - просто discard. Если используется шифрование luks то опцию discard нужно также прописать в crypttab.
мои опции монтирования для корня на btrfs:  relatime,nodiratime,subvol=/@,ssd,discard=async,compress=lzo,commit=120

2) smartctl из командной строки

Оставлять не размеченными 20 процентов дисков не хочу
это не нужно и бесполезно

Если будете устанавливать на btrfs то советую сразу ставить с timeshift.
https://www.altlinux.org/Btrfs

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 117
Re: Trim NVME на альт К10.2 .
« Ответ #2 : 03.10.2023 20:55:17 »
Добрый день. Система- Ryzen 5 5600X,NH-D15S, Gigabyte b550 aorus master, Crucial CT8G4DFS8266  4*8 32g@3200 16,19,16,16, GIGABYTE AMD Radeon RX 5700 XT GAMING OC, GIGABYTE GP-G750H  ATX Gold +2 NVME WD SN550 и CCD SPCC Solid State (силикон пауер MLC).
Зачем это всё, если вопрос про файловые системы?

TRIM включается в параметрах ФС в файлике /etc/fstab. Но есть нюанс в том, что есть два подхода. Первый - включить TRIM в свойствах ФС, второй - запускать периодически fstrim. В Workstation K, если не ошибаюсь, подразумевается второй вариант.

Оффлайн Nicom

  • Завсегдатай
  • *
  • Сообщений: 673
Re: Trim NVME на альт К10.2 .
« Ответ #3 : 03.10.2023 21:52:18 »
Но есть нюанс в том, что есть два подхода. Первый - включить TRIM в свойствах ФС, второй - запускать периодически fstrim.
А разве эти два метода друг-другу мешают жить вместе?

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 175
Re: Trim NVME на альт К10.2 .
« Ответ #4 : 03.10.2023 22:06:52 »
Но есть нюанс в том, что есть два подхода. Первый - включить TRIM в свойствах ФС, второй - запускать периодически fstrim.
А разве эти два метода друг-другу мешают жить вместе?
Не мешают. Но при включенном первом варианте второй - бесполезен.
И если диск более-менее интенсивно используется на запись, то частый trim в первом варианте может притормаживать устройство.
А при втором варианте, малом свободном месте на диске и частой перезаписи может оказаться, что fstrim желательно запускать чаще, чем назначено по умолчанию (вроде как это раз в неделю)

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 557
Re: Trim NVME на альт К10.2 .
« Ответ #5 : 03.10.2023 22:12:39 »
И если диск более-менее интенсивно используется на запись, то частый trim в первом варианте может притормаживать устройство.
Я так понимаю что discard=async на btrfs как раз эту проблему должен решать

Оффлайн Nicom

  • Завсегдатай
  • *
  • Сообщений: 673
Re: Trim NVME на альт К10.2 .
« Ответ #6 : 03.10.2023 22:24:52 »
Я так понимаю что discard=async на btrfs как раз эту проблему должен решать
А в каком состоянии при этом fstrim.timer, или он не действует на разделы с btrfs?

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 557
Re: Trim NVME на альт К10.2 .
« Ответ #7 : 04.10.2023 07:27:41 »
# systemctl status fstrim.timer
● fstrim.timer - Discard unused filesystem blocks once a week
     Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled)
     Active: active (waiting) since Tue 2023-09-26 07:59:12 MSK; 1 week 0 days ago
    Trigger: Mon 2023-10-09 01:12:56 MSK; 4 days left
   Triggers: ● fstrim.service
       Docs: man:fstrim
ну выполнит он fstrim раз в несколько дней... оно ничему не мешает
« Последнее редактирование: 04.10.2023 07:36:06 от ASte »

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 055
  • ITS
Re: Trim NVME на альт К10.2 .
« Ответ #8 : 04.10.2023 08:59:20 »
недавно начитался тут на форуме и тоже заметки сделал:
Цитировать
...
шаг 4. Подготовка разделов. Возможные варианты:
 -а) использовать не размеченное пространство;
 -б) удалить все разделы и создать разделы автоматически;
 -в) подготовить разделы вручную: смотрим параметры в пункте 2
# mcedit -b /etc/fstab
- для SSD корневой раздел, опции монтирования (discard,delalloc,nobarrier,noatime) без пробелов
- для SSD домашний раздел, опции монтирования (discard,delalloc,nobarrier,noatime,nosuid) без пробелов
- параметры для разделов с EFI из fstab
(UUID=...-...   /boot/efi   vfat   umask=0,quiet,showexec,iocharset=utf8,codepage=866   1   2)
- для HDD оставляем по умолчанию;
Примечание (из арч-вики): Continuous TRIM не является наиболее предпочтительным способом подачи команд TRIM в сообществе Linux. Например, Ubuntu включает периодический TRIM по умолчанию, Debian не рекомендует использовать непрерывный TRIM (discard в fstab),  а Red Hat рекомендует использовать периодический TRIM вместо непрерывного TRIM, если это возможно.
Современные накопители данных такие как SSD нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем:
    • discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправлять команду TRIM на устройство, как только об этом сообщит файловая система.
    • fstrim — утилита которая запускается вручную или по расписанию как сервис ОС, отправляет список удаленных блоков с ФС для зачистки их на устройстве.
Для включения fstrim достаточно активировать сервис fstrim.service в systemd, но лучше вместо сервиса, который будет висеть в памяти, использовать таймер fstrim.timer который будет запускать еженедельный TRIM.

# apt-get install auto-fstrim
Включение, старт и вывод статуса сервиса:
# systemctl enable fstrim.timer && systemctl start fstrim.timer && systemctl status fstrim.timer
- проверка поддержки трим # lsblk --discard
Возможно из за непрерывного трима, когда я начал нагружать свой nvme диск, он просто зависал и переставал определяться в биосе пока я полностью не выключал компьютер. Сначала все работало, а после, как повесил систему с веб сервером и дали нагрузку, диск периодически переставал видится. Это конечно предположение, но другие тоже говорят о негативном влиянии непрерывного  трима, по этому повесил  fstrim.timer и пока наблюдаю.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 117
Re: Trim NVME на альт К10.2 .
« Ответ #9 : 04.10.2023 09:06:02 »
discard — устанавливается как опция монтировании файловой системы
Важно - какой файловой системы. У разных типов ФС опция по разному выглядит. Наверное правильно было бы договориться, но...

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 055
  • ITS
Re: Trim NVME на альт К10.2 .
« Ответ #10 : 04.10.2023 09:07:57 »
Важно - какой файловой системы.
в моем случае, ext4 (одновременная работа двух виртулок на диске и под нагрузкой)
« Последнее редактирование: 04.10.2023 09:09:35 от rits »

Оффлайн Алексей!

  • Начинающий
  • *
  • Сообщений: 6
Re: Trim NVME на альт К10.2 .
« Ответ #11 : 04.10.2023 20:21:53 »
Дополню вопрос. Системный диск btrfs (спасибо за подсказку, как подключить). Остальные диски с архивами Ntfs . Я правильно понимаю? Устанавливаем apt-get install auto-fstrim. Запускаем systemctl enable fstrim.timer && systemctl start fstrim.timer && systemctl status fstrim.timer. Получаем
[root@asusic ~]# systemctl enable fstrim.timer && systemctl start fstrim.timer && systemctl status fstrim.timer
● fstrim.timer - Discard unused filesystem blocks once a week
     Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled)
     Active: active (waiting) since Wed 2023-10-04 20:05:29 MSK; 32min ago
    Trigger: Mon 2023-10-09 00:45:40 MSK; 4 days left
   Triggers: ● fstrim.service
       Docs: man:fstrim

окт 04 20:05:29 asusic systemd[1]: Started Discard unused filesystem blocks once a week.
Больше ничего делать не надо, диски раз в неделю будут чиститься?
[root@asusic ~]# lsblk --discard
NAME        DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                0      512B       2G         0
├─sda1             0      512B       2G         0
├─sda2             0      512B       2G         0
└─sda3             0      512B       2G         0
sdb                0        0B       0B         0
└─sdb1             0        0B       0B         0
sdc                0        0B       0B         0
└─sdc1             0        0B       0B         0
sr0                0        0B       0B         0
nvme1n1            0      512B       2T         0
└─nvme1n1p1        0      512B       2T         0
nvme0n1            0      512B       2T         0
├─nvme0n1p1        0      512B       2T         0
├─nvme0n1p2        0      512B       2T         0
├─nvme0n1p3        0      512B       2T         0
└─nvme0n1p4        0      512B       2T         0
« Последнее редактирование: 04.10.2023 20:44:03 от Алексей! »

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 557
Re: Trim NVME на альт К10.2 .
« Ответ #12 : 04.10.2023 20:43:38 »
пишут что
Цитировать
В последних (2015, 2016 годы) версиях драйвера ntfs-3g (драйвер ntfs для линукс) добавлена функция TRIM. Теперь можно "тримизировать" раздел NTFS из Linux. Команда в терминале:

fstrim -v /media/ntfs/
но я бы не рисковал данными...
если dual-boot то пусть windows сам свою файловую систему триммит, а если только linux остается  - то зачем оставлять ntfs?

upd - я dual-boot не люблю, для тех редких моментов когда windows все же нужен - он "живет" в виртуалке
« Последнее редактирование: 04.10.2023 20:46:10 от ASte »

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 055
  • ITS
Re: Trim NVME на альт К10.2 .
« Ответ #13 : 05.10.2023 09:05:37 »
диски раз в неделю будут чиститься?
По идее, да.
# lsblk --discard
из того, что мне известно в теории, там где нули '0B' триминг не работает.

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 557
Re: Trim NVME на альт К10.2 .
« Ответ #14 : 05.10.2023 09:52:58 »
да, для sdb и sdc trim недоступен