Установите раздел, на котором установлен Ubuntu, и запустите эту команду:
file /media/ubuntu-disk/sbin/init
Где / media / ubuntu-disk - это путь к установке Ubuntu ...
У меня еще нет dm-crypt с настройкой TRIM, но я также заинтересован в проверке этого. Сначала следует сказать, что это может быть невозможно, в зависимости от вашего SSD (см. Https://serverfault.com/a/401506/60525).
Предполагая, что у вас есть правильный тип SSD, Я вижу пару различных вариантов:
Проверьте это на очень маленьком блочном устройстве. Создайте зашифрованный раздел размером 20 МБ так же, как и для всей системы. Обязательно сначала заполните раздел случайными байтами. Затем создайте, напишите, очистите и удалите файл 10 Мб на зашифрованном fs. Запустите fstrim на установленном fs. Если все работает, вы должны увидеть около половины раздела 20Mb, заполненного нулевыми байтами. В качестве альтернативы вы можете убедиться, что через подсистему scsi выдается либо команда UNMAP, либо WRITE SAME scsi. Единственный способ, которым я нашел, чтобы увидеть пакеты scsi без использования аппаратного устройства или взломать ядро, - включить ведение журнала пакетов scsi: echo $ BITMASK> / sys / module / scsi_mod / parameters / scsi_logging_level Использование 9216, поскольку BITMASK было достаточно для меня, чтобы WRITE SAME cdbs отправлялись после fstrim ext4 fs, находящегося непосредственно на диске (без шифрования). Вы можете использовать либо fstrim на уровне fs, либо sg_unmap / sg_write_same на уровне устройства, чтобы вызвать TRIM. Когда вы найдете либо UNMAP, либо WRITE SAME, используйте scsi docs на t10.org, чтобы декодировать пакет и выяснить, на каком диске он ссылается. Затем проверьте, что диск имеет все нули в этом секторе (секторах).Последний подход более сложный, но он имеет преимущество в работе над уже существующими установками и намного проще при работе с файловыми системами с нестандартным размером. Вам может показаться достаточно, чтобы послать команду UNMAP или WRITE SAME (вам все равно, есть ли нули или нет?) Обратите внимание, что последний подход, скорее всего, не будет работать, если TRIM выполняется с помощью команды ata DATA SET MANAGEMENT, он не должен появляться в журнале scsi, и я не вижу способ получить ata cdbs. Но я бы сказал, что это менее 0,01% случаев.
Последнее решение может быть каким-то автоматическим, поэтому нам не пришлось бы декодировать пакет вручную. Любые получатели?
И насколько я сейчас не могу получить сопоставление зашифрованного блочного адреса с адресом блока устройства без взлома dm-crypt.c Итак, если вы хотите увидеть, что блоки удаленный файл на обрезанной fs на карте зашифрованного блочного устройства на нулевые сектора на устройстве, вы находитесь в мире боли.
На вопрос был задан вопрос.
Если вы используете LVM, вам нужно добавить discard к параметрам в /etc/fstab
Открыть /etc/fstab с любым редактором
# Command line
sudo -e /etc/fstab
# Graphical
gksu gedit /etc/fstab
Добавьте «disard» к параметрам в 4-м столбце.
/dev/mapper/volumegroup-root / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
Затем вы добавляете ту же опцию (отбрасываете) на /etc/crypttab
Предполагая, что ваш раздел LUKS /dev/sda1 (отрегулируйте соответственно)
# Command line
sudo -e /etc/crypttab
# Graphical
gksu gedit /etc/crypttab
Опять добавьте сброс:
sda1_crypt UUID=[... series of numbers ...] none luks,discard
Обновите свои initramfs
sudo update-initramfs -c -k all
Перезагрузка
Подтверждение TRIM работает ...
sudo dmsetup table /dev/mapper/sda1_crypt --showkeys
Вы должны увидеть «allow_discards» на выходе
Для дополнительную информацию см .: http://worldsmostsecret.blogspot.com/2012/04/how-to-activate-trim-on-luks-encrypted.html
Я не вижу, как TRIM может работать вообще для зашифрованного тома; громкость по определению полна случайных (то есть - ненулевых) данных. TRIM обнуляет блоки, когда файловая система больше не имеет активных данных, хранящихся на них. В зашифрованном томе то, что хранится на аппаратном блочном устройстве, не является файловой системой, а виртуальным блочным устройством.