TRIM на зашифрованном устройстве с Precise

TRIM на зашифрованном устройстве с Precise

Я перенес основные данные на новый SSD. (Samsung 840 EVO, 120 ГБ.) Мой ~раздел зашифрован и смонтирован автоматически . То есть, для этого раздела 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) в mnoptions.

<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 | grep ~
/dev/sdb{NUMBER} on /home/{USERNAME} type crypt (rw,nosuid,nodev,noatime,discard)

решение1

Компиляция новой версии pam-mountиз исходников помогла. Мне пришлось установить .debиз libhx28и libhx-devиз Trusty (что вообще-то рискованно), чтобы получить более новую версию этой библиотеки.

Вероятно, у вас будет более новая версия в новой Ubuntu из коробки, так что вы можете пропустить компиляцию. Если можете, вы можете обновиться до Trusty. Я хочу остаться с Precise некоторое время.

Теперь включение allow_discardsбез этого discard— это уродливый хак.пластырьпросто проверяет наличие флага "discard". Поэтому я решил поставить и "discard", и "nodiscard" (в этом порядке) и надеяться, что это сработает.

Теперь fstrimна этом устройстве работает, но я надеюсь, что флаг discard mount неэффективен. Не уверен, смогу ли я это проверить.

В качестве альтернативы можно попробовать выполнить повторную установку, но у меня этот подход не удался.

Связанный контент