通过dm-crypt / device-mapper支持TRIM


9

明天购买带有SSD的新笔记本电脑。我需要了解dm-crypt和TRIM的当前状态。我已经看到了几份相互矛盾的报告,并且围绕该问题的大多数活动似乎都已超过1年。有人说dm-crypt TRIM直通已经包含在多个最新的内核版本中(这对我来说不是问题,因为我使用的是Arch)。有人说这种支持仍然不存在。是否可以就dm-crypt TRIM支持的状态获得清晰,来源明确的答案?提及此功能的git commit或邮件列表公告将是理想的。

这个问题的答案具有很大的潜力来影响我设计新笔记本电脑磁盘的方式。希望对其他人来说,提供一个体面的最新答案将很有用。

Answers:


9

作为记录,当我第一次发布此问题时,此功能不存在。我在邮件列表中询问,米兰·布罗兹(Milan Broz)通知我,尚未实现对dm-crypt目标的丢弃传递。米兰表示,他打算在某个时候实施此操作,但未说明何时实施。

在dm-crypt.c和相关文件中浏览了一段时间之后,似乎添加TRIM支持将变得相当简单。我写了这份清单,询问他们在执行此任务之前的一般建议。第二天,Milan提交了一个补丁,该补丁在dm-crypt上实现了TRIM直通,并且已上演到linux-next下。它应该包含在Linux 3.1内核中。

必须显式启用TRIM直通。在dm加密设备上使用TRIM时,存在潜在的安全问题,因为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:对dm-crypt目标的TRIM直通支持将在Linux> = 3.1中存在,但由于数据泄漏(可能允许基于磁盘使用模式进行概要分析),必须通过cryptsetup和/或dmsetup手动启用。



0

根据这篇文章 ...

我的问题是:如果dm-crypt-layer在文件系统和实际的块设备之间,会发生什么?修剪会通过还是会被丢弃?

它猜测它将通过。我在使用LUKS / dmcrypt加密的SSD上使用btrfs,并且效果很好。Btrfs使用ata trim已有一段时间。

您可能还需要discard文件系统的挂载选项。


谢谢,但是答案仍然不确定,而且已经使用了一年多。我想要一个确定的最新答案。我想我必须邮寄清单,只是希望SU是一个快速的捷径:p
— jeffcook2150 2011年

好吧,如果它已经在一年前工作了……
— user1686 2011年

“我认为它之所以有效是因为我的SSD并不慢”,这并不是TRIM支持是否真正起作用的可靠指标。
— jeffcook2150 2011年

这就是我从未说过的话。
— 2011年

这就是您引用的帖子所说的。
— jeffcook2150 2011年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.