使用 Precise 在加密裝置上進行 TRIM

使用 Precise 在加密裝置上進行 TRIM

我已經將主要資料遷移到新的SSD。 (三星 840 EVO,120GB。)My~是由pam_mount.也就是說,/etc/security/pam_mount.conf.xml該分區中有一筆記錄。

我希望它支援 TRIM。我知道它會稍微削弱加密(即建立某種側通道),但我希望這是可以接受的。

我嘗試在 中啟用它pam_mount.conf.xml。一種方法是包含discard掛載選項,據說這會自動允許在加密的區塊裝置上丟棄:

<volume user="{USERNAME}" fstype="crypt" mountpoint="/home/{USERNAME}" path="/dev/sdb{NUMBER}"  options="defaults,noatime,nosuid,nodev,discard" />

discard另一種嘗試是將(以及)包含discards在 mntoptions 中。

<mntoptions allow="discard,discards,nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />

沒有運氣。 fstrim 仍然不起作用:

% sudo fstrim --verbose ~                        
fstrim: /home/{USERNAME}: FITRIM ioctl failed: Operation not supported

我是不是忘了什麼?升級到 14.04 可以解決問題嗎?該man cryptsetup命令告訴我這--allow-discards是受支援的,所以我希望它能夠工作。核心版本是3.13.0-35-generic,這似乎沒問題,因為版本3.1+是必需的。

底層檔案系統是ext4。此fstrim指令適用於未加密的檔案系統(也是 ext4),但不適用於由 dm-crypt (?) 加密封裝的檔案系統。

請注意,discard似乎使用了 mount 選項:

% mount | grep ~
/dev/sdb{NUMBER} on /home/{USERNAME} type crypt (rw,nosuid,nodev,noatime,discard)

答案1

從原始碼編譯新版本pam-mount就成功了。我必須安裝來自 Trusty 的.deboflibhx28libhx-devfrom Trusty (這通常是有風險的)才能獲得該庫的更新版本。

您可能會在開箱即用的較新 Ubuntu 中擁有較新版本,因此您可以跳過編譯。如果可以的話,您可以升級到 Trusty。我想和 Precise 待一段時間。

現在,啟用allow_discards沒有discard是一個醜陋的駭客。這修補只是檢查是否存在“丟棄”標誌。因此,我決定同時添加“discard”和“nodiscard”(按此順序),並希望它能起到作用。

現在fstrim在此設備上可以工作,但我希望丟棄安裝標誌無效。不確定我是否可以測試它。

或者,人們可能會嘗試重新安裝,但我沒有成功使用這種方法。

相關內容