LINUX.ORG.RU

Periodic TRIM в arch linux

 , ,


0

3

Случайно обратил внимание, что почему-то для раздела /home на ssd в arch linux не срабатывает еженедельный trim через fstrim.service
при запуске вручную всё норм

[root@newpc ~]# /sbin/fstrim --fstab --verbose
/boot/efi: 98.3 MiB (103102976 bytes) trimmed on /dev/sda1
/boot: 0 B (0 bytes) trimmed on /dev/sda2
/home: 764.4 MiB (801562624 bytes) trimmed on /dev/mapper/newpc-home
/: 0 B (0 bytes) trimmed on /dev/mapper/newpc-root

при запуске через сервис получаю для home «the discard operation is not supported»

[root@newpc ~]# systemctl start fstrim.service 
[root@newpc ~]# systemctl status fstrim.service 
● fstrim.service - Discard unused blocks on filesystems from /etc/fstab
   Loaded: loaded (/usr/lib/systemd/system/fstrim.service; static; vendor preset: disabled)
   Active: inactive (dead) since Sat 2019-10-26 20:58:14 MSK; 3s ago
     Docs: man:fstrim(8)
  Process: 167580 ExecStart=/sbin/fstrim --fstab --verbose (code=exited, status=0/SUCCESS)
 Main PID: 167580 (code=exited, status=0/SUCCESS)

Oct 26 20:58:13 newpc systemd[1]: Starting Discard unused blocks on filesystems from /etc/fstab...
Oct 26 20:58:14 newpc fstrim[167580]: fstrim: /home: the discard operation is not supported
Oct 26 20:58:14 newpc fstrim[167580]: /boot/efi: 98.3 MiB (103102976 bytes) trimmed on /dev/sda1
Oct 26 20:58:14 newpc fstrim[167580]: /boot: 0 B (0 bytes) trimmed on /dev/sda2
Oct 26 20:58:14 newpc fstrim[167580]: /: 54.7 MiB (57360384 bytes) trimmed on /dev/mapper/newpc-root
Oct 26 20:58:14 newpc systemd[1]: fstrim.service: Succeeded.
Oct 26 20:58:14 newpc systemd[1]: Started Discard unused blocks on filesystems from /etc/fstab.

оказалось, что это из-за директивы «ProtectHome=yes» в unit-файле, после её отключения всё стало нормально

[root@newpc ~]# cat /usr/lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks on filesystems from /etc/fstab
Documentation=man:fstrim(8)

[Service]
Type=oneshot
#ExecStart=/sbin/fstrim --fstab --verbose --quiet
ExecStart=/sbin/fstrim --fstab --verbose
ProtectSystem=strict
#ProtectHome=yes
PrivateDevices=no
PrivateNetwork=yes
PrivateUsers=no
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
MemoryDenyWriteExecute=yes
SystemCallFilter=@default @file-system @basic-io @system-service

[root@newpc ~]# systemctl start fstrim.service 
[root@newpc ~]# systemctl status fstrim.service 
● fstrim.service - Discard unused blocks on filesystems from /etc/fstab
   Loaded: loaded (/usr/lib/systemd/system/fstrim.service; static; vendor preset: disabled)
   Active: inactive (dead) since Sat 2019-10-26 21:00:56 MSK; 1s ago
     Docs: man:fstrim(8)
  Process: 167668 ExecStart=/sbin/fstrim --fstab --verbose (code=exited, status=0/SUCCESS)
 Main PID: 167668 (code=exited, status=0/SUCCESS)

Oct 26 21:00:54 newpc systemd[1]: Starting Discard unused blocks on filesystems from /etc/fstab...
Oct 26 21:00:56 newpc fstrim[167668]: /boot/efi: 98.3 MiB (103102976 bytes) trimmed on /dev/sda1
Oct 26 21:00:56 newpc fstrim[167668]: /boot: 0 B (0 bytes) trimmed on /dev/sda2
Oct 26 21:00:56 newpc fstrim[167668]: /home: 956.3 MiB (1002754048 bytes) trimmed on /dev/mapper/newpc-home
Oct 26 21:00:56 newpc fstrim[167668]: /: 118.2 MiB (123887616 bytes) trimmed on /dev/mapper/newpc-root
Oct 26 21:00:56 newpc systemd[1]: fstrim.service: Succeeded.
Oct 26 21:00:56 newpc systemd[1]: Started Discard unused blocks on filesystems from /etc/fstab.

Вот не пойму, зачем мейнтейнеры дистра так сделали, учитывая что arch это десктопный дистрибутив и у большинства основную часть диска занимает как правило именно home



Последнее исправление: tm4ig (всего исправлений: 1)

Вот не пойму, зачем мейнтейнеры дистра так сделали, учитывая что arch это десктопный дистрибутив и у большинства основную часть диска занимает как правило именно home

Это сделали авторы util-linux. Напишите им в багрепорте.

Rootlexx ★★★★★
()

Опция discard в /etc/fstab решает проблему кардинально. Никакие сервисы не нужны.

Как-то так: UUID /home ext4 defaults,discard 0 0

LongLiveUbuntu ★★★★★
()

не срабатывает еженедельный trim через fstrim.service

рискну предположить что за запуски отвечает не сервис, а fstrim.timer

macroc
()
24 февраля 2020 г.

охренеть, через 4 месяца я случайно узнаю, что теперь для всех разделов трим не работает, а что бы заработал надо теперь две строчки закоментить:

[code] #ProtectSystem=strict #ProtectHome=read-only [/code]

tm4ig
() автор топика
Ответ на: комментарий от greenman

а 21 февраля они зачем-то закрыли баг который ты скидывал ). Попросил переоткрыть, потому что теперь не работает не только хоямк, но и системные разделы (у меня /, /boot, boot/efi)

tm4ig
() автор топика

Прочитал как Perdolic TRIM.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.