Supporto TRIM tramite dm-crypt / device-mapper


9

Domani riceverai un nuovo laptop con SSD. Devo sapere lo stato attuale di dm-crypt e TRIM. Ho visto diversi rapporti contrastanti e la maggior parte delle attività intorno a questa domanda sembra avere> 1 anno. Alcuni sostengono che il passthrough TRIM di dm-crypt sia stato incluso in più versioni recenti del kernel (il che non è un problema per me, dal momento che utilizzo Arch). Alcuni sostengono che il supporto non esiste ancora. Posso ottenere una risposta chiara e ben fornita sullo stato del supporto TRIM di dm-crypt? git commette o annunci di mailing list che menzionano questa funzionalità sarebbe l'ideale.

La risposta a questa domanda ha un grande potenziale per influenzare il modo in cui architetto i dischi del mio nuovo laptop. Speriamo che sia utile per alcuni avere una risposta decente e aggiornata.

Risposte:


9

Per la cronaca, questa funzionalità NON esisteva quando ho pubblicato questa domanda per la prima volta. Ho chiesto sulla mailing list e mi è stato comunicato da Milan Broz che il passthrough di scarto per obiettivi dm-cripta non era ancora stato implementato. Milan ha indicato che intendeva implementarlo a un certo punto, ma non ha indicato quando.

Dopo aver scavato per un po 'in dm-crypt.c e file correlati, è sembrato che il supporto TRIM sarebbe stato abbastanza banale da aggiungere. Ho scritto l'elenco chiedendo il loro consiglio generale sull'attività prima di saltare. Il giorno successivo, Milano ha presentato una patch che implementa il pass-through TRIM su dm-crypt e questo è stato messo in scena in Linux-next. Dovrebbe essere incluso nel kernel Linux 3.1.

Il passthrough TRIM deve essere abilitato esplicitamente. Ci sono potenziali problemi di sicurezza nell'uso di TRIM su un dispositivo dm-crypt'd, perché TRIM invia informazioni sull'uso del blocco al firmware sul dispositivo che quindi contrassegna le aree liberate di recente come utilizzabili (come ho capito, comunque). Ciò significa che una parte interessata può ricavare informazioni sui modelli di utilizzo del disco. Ad esempio, è stato ipotizzato che un utente malintenzionato potesse apprendere quasi sicuramente quale file system era in uso sul supporto crittografato attraverso questi dati. Un utente malintenzionato può anche essere in grado di apprendere informazioni più utili, ad esempio se hai salvato molti file di grandi dimensioni fino a poco tempo fa (blocchi TRIM contigui).

Si prega di consultare questi thread per riferimento:

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: il supporto passthrough TRIM per target dm-crypt esiste in Linux> = 3.1 ma deve essere abilitato manualmente tramite cryptsetup e / o dmsetup a causa della perdita di dati che può consentire la creazione di profili in base ai modelli di utilizzo del disco.



0

Secondo questo post ...

La mia domanda è: cosa succede se un livello dm-crypt si trova tra il filesystem e il vero dispositivo a blocchi? Il rivestimento verrà passato o verrà scartato?

Immagina che sarà passato. Sto usando btrfs su un SSD che è crittografato con LUKS / dmcrypt e funziona benissimo. Btrfs usa ata trim per un po '.

Potresti anche aver bisogno delle discardopzioni di mount del filesystem.


Grazie, ma quella risposta è ancora non definitiva e ha più di un anno. Vorrei una risposta definitiva e recente. Immagino che dovrò spedire la lista, sperando solo che SU sarebbe una scorciatoia veloce: p
jeffcook2150,

Bene, se ha già funzionato un anno fa ...
user1686

"Immagino che funzioni perché il mio SSD non è lento" non è un indicatore affidabile del fatto che il supporto TRIM sia effettivamente funzionante.
jeffcook2150,

Questo è esattamente ciò che non ho mai detto.
user1686

Questo è ciò che dice il post che hai citato.
jeffcook2150,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.