Поддержка TRIM через dm-crypt / device-mapper

7061
jeffcook2150

Завтра получим новый ноутбук с SSD. Мне нужно знать о текущем состоянии dm-crypt и TRIM. Я видел несколько противоречивых сообщений, и большая часть активности вокруг этого вопроса, кажется, старше 1 года. Некоторые говорят, что TRIM-пропуск dm-crypt был включен в несколько последних версий ядра (для меня это не проблема, так как я использую Arch). Некоторые говорят, что поддержки до сих пор не существует. Могу ли я получить четкий, точный ответ о состоянии поддержки TRIM в dm-crypt? Git коммитов или рассылки объявлений, которые упоминают эту функцию, было бы идеально.

Ответ на этот вопрос имеет большой потенциал, чтобы повлиять на то, как я создаю диски для моего нового ноутбука. Надеюсь, кому-то будет полезно получить достойный, актуальный ответ.

9

4 ответа на вопрос

9
jeffcook2150

Для записи, эта функциональность НЕ существовала, когда я впервые опубликовал этот вопрос. Я спросил в списке рассылки, и Милан Броз сообщил мне, что отмена передачи для целей dm-crypt до сих пор не реализована. Милан указал, что намерен реализовать это в какой-то момент, но не уточнил, когда.

После недолгого поиска в dm-crypt.c и связанных с ним файлах оказалось, что добавить поддержку TRIM будет довольно тривиально. Я написал список с просьбой дать им общие рекомендации по этой задаче, прежде чем приступить к работе. На следующий день Милан представил патч, в котором реализована сквозная передача TRIM для dm-crypt, и он был встроен в linux-next. Он должен быть включен в ядро ​​Linux 3.1.

TRIM passthrough должен быть включен явно. Существуют потенциальные проблемы безопасности при использовании TRIM на устройстве dm-crypt'd, потому что TRIM отправляет информацию об использовании блока в прошивку устройства, которая затем помечает недавно освобожденные области как пригодные для использования (в любом случае, как я понимаю). Это означает, что заинтересованная сторона может получить информацию о моделях использования диска. Например, постулировалось, что злоумышленник может почти точно узнать, какая файловая система использовалась на зашифрованном носителе, используя эти данные. Злоумышленник также может узнать больше полезной информации, например, что до недавнего времени у вас было сохранено много больших файлов (большие смежные блоки TRIM).

Пожалуйста, смотрите эти темы для справки:

http://www.redhat.com/archives/dm-devel/2011-June/msg00093.html

http://www.redhat.com/archives/dm-devel/2011-July/msg00042.html

http://www.redhat.com/archives/dm-devel/2011-July/msg00088.html

tl; dr: TRIM сквозная поддержка для целей dm-crypt будет существовать в Linux> = 3.1, но должна быть включена вручную через cryptsetup и / или dmsetup из-за утечки данных, которая может позволить профилирование на основе шаблонов использования диска.

4
Marc

Начиная с ядра 3.2.x, dm-crypt + brtfs считается безопасным. Смотрите ответ на мой вопрос от Криса Мейсона:

http://permalink.gmane.org/gmane.comp.file-systems.btrfs/15554 и http://permalink.gmane.org/gmane.comp.file-systems.btrfs/15564

0
grawity

Согласно этому посту ...

Мой вопрос: что произойдет, если между файловой системой и реальным блочным устройством находится слой dm-crypt? Будет ли отделка пропущена, или она будет отброшена?

Думаю, это будет пройдено. Я использую btrfs на SSD, который зашифрован с помощью LUKS / dmcrypt, и он прекрасно работает. Btrfs довольно долго использует ata trim.

Вам также могут понадобиться discardопции монтирования файловой системы.

Спасибо, но этот ответ все еще не окончательный и ему больше года. Я хотел бы получить окончательный, недавний ответ. Я думаю, мне придется отправить список по почте, просто надеясь, что SU будет быстрым ярлыком: p jeffcook2150 12 лет назад 0
Хорошо, если это уже работало год назад ... grawity 12 лет назад 0
«Я думаю, что это работает, потому что мой SSD не медленный», на самом деле не является надежным индикатором того, действительно ли поддержка TRIM функциональна. jeffcook2150 12 лет назад 0
Это именно то, что я * никогда не говорил. * grawity 12 лет назад 0
Об этом говорится в сообщении, которое вы цитировали. jeffcook2150 12 лет назад 0
0
honig

ну есть эта тема

https://bbs.archlinux.org/viewtopic.php?id=114924

и этот инструмент

http://sourceforge.net/tracker/index.php?func=detail&aid=2997551&group_id=136732&atid=736684

Я еще не использовал это, но я также заинтересован в этой проблеме.

Спасибо, Хониг, я нашел это раньше. Пожалуйста, посмотрите ответ, который я только что добавил, он предоставляет подробные сведения о реальной поддержке отбрасывания для целей dm-crypt. jeffcook2150 12 лет назад 0