fstrim, похоже, не обрезает раздел, который использует lvm и dm-crypt

Я пытаюсь настроить Fedora 25 с dm-crypt и LVM, но изо всех сил пытаюсь заставить TRIM работать.

$ sudo fstrim -av /boot: 28.6 MiB (30003200 bytes) trimmed /: 56.5 GiB (60672704512 bytes) trimmed $ sudo fstrim -av /boot: 0 B (0 bytes) trimmed /: 56.5 GiB (60671877120 bytes) trimmed 

Как видно из вышеприведенного вывода, многократное выполнение fstrim работает с незашифрованным ext4 /boot , но, похоже, не влияет на / (который находится на одном диске).

Настройка SSD -> dm-crypt -> LVM -> XFS

 $ lsblk -D NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO sda 0 512B 2G 0 ├─sda2 0 512B 2G 0 │ └─luks-dd5ce54a-34c9-540c-a4cf-2a712b8a3a5e 0 512B 2G 0 │ └─fedora-root 0 512B 2G 0 └─sda1 0 512B 2G 0 

Согласно этому вопросу, DISC-ZERO == 0 не должна быть проблемой

 # cat /etc/crypttab luks-dd... UUID=dd.. none discard # cat /etc/lvm/lvm.conf devices { ... issue_discards = 1 ... } 

Я также добавил параметр rd.luks.options=discard в /etc/default/grub и обновил initramfs и grub.cfg:

 # grub2-mkconfig -o /boot/grub2/grub.cfg # dracut -f 

Опция сброса правильно распространялась:

 # dmsetup table luks-d... 0 233385984 crypt aes-xts-plain64 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 8:2 4096 1 allow_discards 

Я пробовал варианты вышеупомянутой настройки, которые можно найти в Интернете, но это, похоже, следует за страницами руководства. Я не пытался использовать другую файловую систему, но XFS следует поддерживать.

One Solution collect form web for “fstrim, похоже, не обрезает раздел, который использует lvm и dm-crypt”

Я думаю, что ваше тестирование не соответствует документации ( man fstrim ).

-v, –verbose

Подробное исполнение. С помощью этой опции fstrim выведет количество байтов, переданных из файловой системы в стек блока, на устройство для потенциального сброса. Это число является максимальной суммой сброса с точки зрения устройства хранения, так как FITRIM ioctl, называемый повторным, будет продолжать отправлять одни и те же сектора для отбрасывания повторно.

fstrim будет сообщать о том же потенциальном отбросе байтов каждый раз , но только сектора, которые были записаны между сбросами, будут фактически отброшены устройством хранения. Кроме того, слой блока ядра оставляет за собой право регулировать диапазоны отбрасывания, чтобы соответствовать геометрии полосы рейда, устройствам без обрезки в настройке LVM и т. Д. Эти сокращения не отражались бы в fstrim_range.len (опция -length).

Я предлагаю искать запросы сбрасывания, используя blktrace а именно, в то же время, когда вы запускаете fstrim. Надеюсь, он покажет, отправляются ли запросы сбрасывания на блок-устройство в нижней части стека. Вы можете сравнить результаты между sda1 и sda2 (после новой загрузки, чтобы избежать недокументированного поведения на sda1).

 blktrace -d $DEV -a discard -o - | blkparse -i - 
  • mkfs.xfs / dev / custom_dev
  • DD-WRT на WZR-HP-AG300H: хотите поддержку XFS; какая прошивка имеет ядро ​​3.8.13-1?
  • Разделить домашний раздел на 2 (xfs на LVM)
  • Не удалось установить том XFS после перезагрузки - неизвестная файловая система типа «xfs»
  • XFS Volume имеет неправильный размер блока после установки
  • Как рассчитываются дельта XFS для xfsdump -ln?
  • Режим обслуживания xfs в redhat 7
  • Ошибка при создании новой файловой системы xfs: unknow fs type
  • Изменение метки корневой файловой системы xfs
  • Является ли xfs_fsr безопасным для прерывания?
  • Быстрая файловая система для виртуальных сред резервного копирования
  • Возможно изменение размера XFS?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.