LINUX.ORG.RU

SSD, TRIM, LVM + LUKS


1

1

Как проверить что trim работает? У меня в lvm.conf стоит issue_discards=1, luks открывается с --allow-discards, вместо файловой системы ext4, которая монтируется так же с опцией discard, но lsblk -D выводит следующее:

> lsblk -D
NAME                DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda                      0      512B       2G         0
├─sda1                   0      512B       2G         0
└─sda4                   0      512B       2G         0
  └─crypt                0      512B       2G         0
    ├─vg-volroot         0      512B       2G         0
    ├─vg-volusr          0      512B       2G         0
    ├─vg-volhome         0      512B       2G         0
    ├─vg-volmusic        0      512B       2G         0
    └─vg-voli686         0      512B       2G         0

Насколько я понимаю, при работающем TRIM последняя колонка должна быть ненулевой.

Насколько я понимаю, при работающем TRIM последняя колонка должна быть ненулевой.

Почему?

Gotf ★★★
()
Ответ на: комментарий от Gotf

Почему?

Так в archwiki было написано. Не то, чтобы я им слепо верил, но в документации lsblk мало что написано по этому поводу.

Плюс, вывод по томам lvm и sda1 должен отличаться, т.к. в случае с sda1 используется ext2, которая не поддерживает discard.

hateyoufeel ★★★★★
() автор топика

Я бы сделал маленький тестовый раздел, создал, удалил файл и посмотрел раздел hex-редактором. Если я правильно понял, что такое trim, то на шифрованном разделе должны образоваться нули.

crowbar
()
Ответ на: комментарий от crowbar

Спасибо. Как выяснилось, trim не работает - файл остался после отмонтирования.

hateyoufeel ★★★★★
() автор топика

А какой смысл использовть TRIM с шифрованным разделом? Если он сработает и при чтении данных в них будут нули (или FFы), то у dm-crypt может при расшифровке в другом месте (рядом) получиться мусор.

Ну и теоретически от этого страдает безопасность, так как будет ясно где есть данные, а где их нету.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

fstrim завершается с ошибкой?

Плюс, вывод по томам lvm и sda1 должен отличаться, т.к. в случае с sda1 используется ext2, которая не поддерживает discard.

В ядре давно нет ext2, это ext4.

Gotf ★★★
()
Ответ на: комментарий от Deleted

у dm-crypt может при расшифровке в другом месте (рядом) получиться мусор.

Нет, не может. Там ведется учет в каких секторах есть данные. Единственной проблемой может быть то, что «злоумышленнику» будет проще отличить зашифрованные данные от мусора, но в данном случае это не так важно.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Gotf
> sudo fstrim -v /mnt/test           
/mnt/test: 237.9 MiB (249463808 bytes) trimmed

Но если открыть раздел в hexedit, данные из удаленного файла там всё равно присутствуют.

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

А кто их знает эти проприетарные контроллеры, как у них trim работает.

crowbar
()
Ответ на: комментарий от hateyoufeel

Но если открыть раздел в hexedit, данные из удаленного файла там всё равно присутствуют.

Они, похоже, и не обязаны отсутствовать. Как я понимаю, нулевое значение DISC-ZERO означает, что ячейки не перезаписываются '\0', но это никак принципиально не влияет на сборку мусора и write amplification.

http://gotf.point.im/tuaqy Если бы у меня TRIM не работал на самом деле, скорость записи, учитывая срок службы и количество записанного, давно упала бы ниже плинтуса, а не оставалась на уровне «только что из магазина» (а ещё у меня SandForce, лол).

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