Obsługa TRIM przez dm-crypt / device-mapper

9

Kupię jutro nowy laptop z dyskiem SSD. Muszę wiedzieć o bieżącym stanie dm-crypt i TRIM. Widziałem kilka sprzecznych raportów, a większość działań wokół tego pytania wydaje się mieć> 1 rok. Niektórzy twierdzą, że przekazywanie TRIM dm-crypt zostało uwzględnione w wielu najnowszych wersjach jądra (co nie jest dla mnie problemem, ponieważ używam Arch). Niektórzy twierdzą, że wsparcie wciąż nie istnieje. Czy mogę uzyskać jasną, rzetelną odpowiedź na temat statusu obsługi TRIM DM-Crypt? git commits lub ogłoszenia na liście mailingowej, które wspominają o tej funkcji, byłyby idealne.

Odpowiedź na to pytanie ma duży wpływ na sposób, w jaki tworzę dyski mojego nowego laptopa. Mamy nadzieję, że niektórym innym przyda się przyzwoita, aktualna odpowiedź.

jeffcook2150
źródło

Odpowiedzi:

9

Dla przypomnienia, ta funkcja NIE istniała, kiedy po raz pierwszy opublikowałem to pytanie. Zapytałem na liście mailingowej i zostałem poinformowany przez Milan Broz, że odrzucanie przekazywania dla celów dm-crypt wciąż nie zostało zaimplementowane. Milan wskazał, że zamierza to wdrożyć w pewnym momencie, ale nie stwierdził, kiedy.

Po przeszukaniu w dm-crypt.c i powiązanych plikach przez jakiś czas okazało się, że dodanie TRIM byłoby dość proste. Napisałem listę, prosząc o ogólne porady na temat zadania, zanim wskoczyłem. Następnego dnia Milan przesłał łatkę, która implementuje przekazywanie TRIM na dm-crypt, i zostało to ustawione w systemie Linux-next. Powinien być zawarty w jądrze Linux 3.1.

Przekazywanie TRIM musi być jawnie włączone. Istnieją potencjalne problemy z bezpieczeństwem podczas korzystania z TRIM na urządzeniu z szyfrowaniem dm, ponieważ TRIM wysyła informacje o użyciu bloku do oprogramowania układowego na urządzeniu, które następnie oznacza ostatnio zwolnione obszary jako użyteczne (w każdym razie tak rozumiem). Oznacza to, że zainteresowana strona może uzyskać informacje o wzorcach użycia dysku. Na przykład postulowano, że osoba atakująca może prawie na pewno dowiedzieć się, jaki system plików był używany na zaszyfrowanym nośniku za pośrednictwem tych danych. Osoba atakująca może również uzyskać więcej przydatnych informacji, na przykład, że do niedawna zapisano wiele dużych plików (duże ciągłe bloki TRIM'd).

Zobacz te wątki w celach informacyjnych:

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: Obsługa przekazywania TRIM dla celów dm-crypt będzie istniała w Linuksie> = 3.1, ale musi być włączona ręcznie przez cryptsetup i / lub dmsetup z powodu wycieku danych, który może umożliwić profilowanie w oparciu o wzorce wykorzystania dysku.

jeffcook2150
źródło
0

Zgodnie z tym postem ...

Moje pytanie brzmi: co się stanie, jeśli warstwa dm-crypt znajduje się między systemem plików a rzeczywistym urządzeniem blokowym? Czy wykończenie zostanie przepuszczone, czy zostanie odrzucone?

Chyba przejdzie. Używam btrfs na dysku SSD, który jest szyfrowany za pomocą LUKS / dmcrypt i działa świetnie. Btrfs dość długo używa ata trim.

Możesz także potrzebować discardopcji montowania systemu plików.

użytkownik1686
źródło
Dzięki, ale ta odpowiedź wciąż nie jest ostateczna i ma ponad rok. Chciałbym ostateczną, ostatnią odpowiedź. Chyba będę musiał wysłać listę, mając tylko nadzieję, że SU będzie szybkim skrótem: p
jeffcook2150
Cóż, jeśli zadziałało już rok temu ...
user1686
„Myślę, że to działa, ponieważ mój dysk SSD nie jest wolny” nie jest tak naprawdę wiarygodnym wskaźnikiem tego, czy obsługa TRIM jest rzeczywiście funkcjonalna.
jeffcook2150
Dokładnie tego nigdy nie powiedziałem.
user1686
Tak mówi cytowany post.
jeffcook2150,
0

cóż, jest ten wątek

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

i to narzędzie

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

Jeszcze go nie użyłem, ale interesuje mnie również ten problem.

honig
źródło
Dzięki, kochanie, już to znalazłem. Proszę zobaczyć odpowiedź, którą właśnie dodałem, zawiera szczegółowe informacje na temat rzeczywistej obsługi odrzutów dla celów dm-crypt.
jeffcook2150,