Ich möchte meinen PC demnächst komplett neu aufsetzen und plane aktuell diesen auch entsprechend zu verschlüsseln. Gibt es hier Erfahrungen, mit welchen Performance-Einbußen man damit zu rechnen hat? Vor allem im Bezug auf eine NVMe. Ich finde hierzu gemischte Aussagen irgendwo zwischen "Merkt man nicht mit aktueller Hardwareunterstützung" bis hin zu "Meine NVMe hat die Hälfte ihrer Geschwindigkeiten". Kann ich davon ausgehen, den Unterschied mit aktueller Hardware nicht zu merken? Vielleicht kann hier jemand seine Erfahrungen oder auch bestenfalls ein paar Zahlen teilen.
Wenn du gerade schon ein laufendes System hast (oder mal eben ein Live System startest) kannst du mit (sudo) cryptsetup benchmark dir anschauen, wie die Werte bei dir sind. Der gängige Wert ist unten aes-xts bei 512er Schlüssel. Du solltest eine PCI-e 3 voll Auslasten und eine PCI-e 4 zumindest teilweise
Edit: Mit
Wenn man NVMe verschlüsseln willst, und die Performance gut sein soll, denn würde ich OPAL, also Selbstverschlüsslung mal in Betracht ziehen, soweit es dein Risikoszenario zulässt.
Ich finde hierzu gemischte Aussagen irgendwo zwischen "Merkt man nicht mit aktueller Hardwareunterstützung" bis hin zu "Meine NVMe hat die Hälfte ihrer Geschwindigkeiten"
Die beiden Aussagen schließen einander ja nicht aus. Die allermeisten Nutzer werden nicht merken ob sie eine sata sdd oder pcie3 oder pcie4 nvme ssd haben. Liegt daher eher an deinem Nutzungszenario. Powernutzer die regelmäßig hunderte GB schreiben und ausreichend schnelle Quell-/Ziellaufwerke haben merken da vll. schon etwas. Prinzipiell sind aktuelle CPUs aber schnell genug um mehrere GB/s mit AES zu encodieren, siehe: https://images.anandtech.com/graphs/graph17047/127232.png
Wenn du gerade schon ein laufendes System hast (oder mal eben ein Live System startest) kannst du mit (sudo) cryptsetup benchmark dir anschauen, wie die Werte bei dir sind.
Wenn man NVMe verschlüsseln willst, und die Performance gut sein soll, denn würde ich OPAL, also Selbstverschlüsslung mal in Betracht ziehen, soweit es dein Risikoszenario zulässt.
Wäre eventuell auch eine Option, wobei ich gelesen habe, dass die Implementierung in der Firmware ab und zu nicht so optimal ist und sich auch mal Bugs einschleichen. Aber muss ich mir noch mal anschauen.
Wäre eventuell auch eine Option, wobei ich gelesen habe, dass die Implementierung in der Firmware ab und zu nicht so optimal ist und sich auch mal Bugs einschleichen. Aber muss ich mir noch mal anschauen.
Kenne das Tool jetzt nicht, aber liest sich denke ich ganz in Ordnung (?). Waren jetzt keine Writes dabei oder?
fio ist das Standard-Tool für Linux. Ich habe oben den Zugriff auf die "selbe" Partition einmal verschlüsselt (-filename=/dev/mapper/nvme0n1p5_crypt) und auf die drunter liegenden Partition (--filename=/dev/nvme0n1p5) mit random read und mit unterschiedlichen Blockgrößen verglichen.
DatAres schrieb:
Gibt es eventuell auch noch einen Unterschied, ob man FDE macht oder nur einzelne Verzeichnisse verschlüsselt?
Am besten immer die ganze Platte verschlüsseln, das ist am schnellsten und am sichersten.
Ergänzung ()
Kaito Kariheddo schrieb:
Wenn du gerade schon ein laufendes System hast (oder mal eben ein Live System startest) kannst du mit (sudo) cryptsetup benchmark dir anschauen, wie die Werte bei dir sind. Der gängige Wert ist unten aes-xts bei 512er Schlüssel. Du solltest eine PCI-e 3 voll Auslasten und eine PCI-e 4 zumindest teilweise
"cryptsetup benchmark" testet nur auf einem Core, dm-crypt kann sich auf mehrere Cores verteilen, und die Implementierung ist so gut das man davon auch beim linearen lesen mit "--numjobs=1" profitiert: (Und die IO-Queue gut gefüllt ist)
Run status group 0 (all jobs):
READ: bw=3013MiB/s (3159MB/s), 3013MiB/s-3013MiB/s (3159MB/s-3159MB/s), io=16.0GiB (17.2GB), run=5438-5438msec
#
Ergänzung ()
0x7c9aa894 schrieb:
Wenn man NVMe verschlüsseln willst, und die Performance gut sein soll, denn würde ich OPAL, also Selbstverschlüsslung mal in Betracht ziehen, soweit es dein Risikoszenario zulässt.
dm-crypt bzw. luks ist gut genug um auf solchen fragwürdigen Kram locker verzichten zu können.
Schau dir die Vergleichswerte an die ich ich gepostet habe. Und es wäre auch zu zeigen die Verschllüsselung in der SSD wirklich besser als dm-crypt bzw. luks ist, hast du das mal verglichen?
Bei den schönen Werten mit euren CPUs, sollte man aber auch dazu schreiben, zu welchem Anteil die CPU an der Stelle ausgelastet ist. Der Durchsatz kommt ja nur zustande, wenn die CPU wirklich was tut, genauso wie Speicherbandbreite dafür zu veranschlagen ist. Seit AES-Ni und dicken CPUs in allen Geräten ist das weniger relevant, aber kostenlos gibt es das immer noch nicht.
Naja und es kommen zwangsweise Latenzen hinzu, was bei vielen kleinen I/O Zugriffen durchaus Auswirkungen haben kann.
Was bei Verschlüsselung und LUKS noch am ehesten Performance kostet ist, dass TRIM deaktiviert ist. Das ist der richtige, paranoide Standard und man sollte sich bewusst sein, ob man etwa Unsicherheit gegen langfristig bessere Performance tauscht.
Meine Gentoo Installation ist aus 2006.
Bei einem i7-3610QM mit einer SATA SSD hatte ich eher nicht viel Unterschied gemerkt in meinem Anwendungsgebiet mit einem Gaming Notebook.
Seit Circa 1 Jahr habe ich einen 5800x mit 2 PCIE4.0 NVME.
Für meine Desktop Dinge ist es schnell genug. Ich komme aber von einem Gaming Notebook.
Ich würde mir eher mehr Sorgen machen bezüglich Lebensdauer der Laufwerke. 2 von 5 SATA SSD Laufwerke (CRUCIAL / ADATA) hatte nach 3 Jahren Verwendung gewisse Alterserscheinungen aufgrund dessen ich diese entsorgen musste.
Windows 10 Pro / Gentoo
Model Number: CT1000P5PSSD8
Datengrab Pcie 4.0 auf Pcie 3.0 angeschlossen - B550
Model Number: Corsair MP600 PRO
Die Übertragungsrate war unterirdisch für mich. Einerseits wird nie berücksichtigt welches große Daten und viele kleinere Daten unterschiedlich schnell kopiert werden. Anderseits ist es immer bis zu einer möglichen Mondpreis-Übertragungsrate. Welche sowohl in Windows als auch in Gnu Linux nie zu sehen ist!
Für mich ist PCIE 4.0 und PCIE 3.0 eher Marketing.
Einflussfaktoren auf die schlechte Performance sind das Mainboard, die NVME-Laufwerke, Das Dateisystem und LVM2 mit LUKS.
DatAres schrieb:
Ich finde hierzu gemischte Aussagen irgendwo zwischen "Merkt man nicht mit aktueller Hardwareunterstützung" bis hin zu "Meine NVMe hat die Hälfte ihrer Geschwindigkeiten". Kann ich davon ausgehen, den Unterschied mit aktueller Hardware nicht zu merken? Vielleicht kann hier jemand seine Erfahrungen oder auch bestenfalls ein paar Zahlen teilen.
Der Unterschied ist sehr deutlich merkbar wenn man Daten verschiebt vom LVM2/LUKS/EXT4 auf den neuen Treiber im Linux Kernel mit Windows formatierte NTFS NVME Disk. (nicht der ntfs-3g treiber)
Neuerdings habe ich eine merkbare Verzögerung wenn ich gewisse Ordner öffne. Diese enthalten z.b. ~115.000 Dateien mit einer Größe bis zu 10 MB. Irgendetwas braucht circa 3-5 Sekunden Nachdenkpause.
--
Man muss sich fragen warum man eine Vollverschlüsselung möchte?
Der Sinn einer Verschlüsselung ist nicht Geschwindigkeit.
Arbeiten konnte ich schon länger mit Vollverschlüsselung. Es reicht z.B. ein T9500 mit 4GIB RAM und 128GB SSD.
Ergänzung ()
Piktogramm schrieb:
Was bei Verschlüsselung und LUKS noch am ehesten Performance kostet ist, dass TRIM deaktiviert ist. Das ist der richtige, paranoide Standard und man sollte sich bewusst sein, ob man etwa Unsicherheit gegen langfristig bessere Performance tauscht.
TRIM ist nicht deaktiviert. Dies ist im Grunde eine falsche Aussage. Falsch Nachgesagt weil es irgendeiner Behauptet hat. Grundlagen, siehe fstab, und mountoptions.
Letztstand, wenn man discard option setzt in der fstab, sollte es sein wie trim, wenn der kernel und rest richtig konfiguriert ist. Will man dies haben mit einer LUKS-Verschlüsselung? Nein, weil man im Grunde verrät was alte Daten sind usw.
Ich habe regelmaessig meine Daten frisch auf eine neu aufgesetzte LVM2 / LUKS / EXT4 kopiert aufgrund meiner Backup Strategie. Ich habe da keinen Unterschied gesehen im REAL LIFE SZENARIO. vom Frisch kopiert auf bis zu 2 Monate alten System in Verwendung. Und da ich 5 verschiedene SATA SSDS mit 128GB in Verwendung hatte, kann man sagen dies ist herstellerunabhaengig der SATA SSDs. Ich gehe davon aus wenn man ein Laufwerk frisch aufsetzt, siehe Gentoo Handbuch als Referenz Startpunkt, ein SATA SSD sich neu initialisiert und deshalb TRIM im Grunde nutzloses feature ist. Was die Firmware dieser SATA SSDs macht, weis im Grunde keiner. Das neu anlegen einer Disk ist schneller als bestehende Daten zu löschen - neue Partitionstabelle, LVM2, LUKS, Filesystem
Im Grunde ist es in meiner persönlichen Meinung, ein großer Schwachsinn, herumzumotzen wegen TRIM, wenn ich auf einem Gaming Notebook mit SATA 6.0 mit einem i7 keinen Unterschied gesehen haben über mehrere Jahre. Der Performance impact vom fehlenden TRIM haette bemerkbar sein muessen wenn man auf so einem low performance System wie einem alten Gaming Notebook LVM2 und LUKS Layer hinzufuegt.
Das eine sind Theoretiker welches irgendetwas lesen und dann irgendetwas dann behaupten.
Das andere sind Personen welches so ein Setup über mehrere Jahre selbst verwenden als Hauptsystem.
Es ist ein alter HUT, Dateisysteme neu zu initialisieren und neu zu beschreiben nach einer gewissen Zeit. Deshalb muss man auch die Partitionstabelle und das File System neu anlegen.
Es macht auch Sinn dies mit einer regelmaessig neu aktualisiertem Wiederherstellungssystem durchzuführen, da es auch Änderungen an den Programme gibt welche diese Schritte durchführen. Sprich man hat kein altes Dateisystem mit "bugs" welche spaeter gefixt wurden.
Ergänzung ()
DatAres schrieb:
Gibt es eventuell auch noch einen Unterschied, ob man FDE macht oder nur einzelne Verzeichnisse verschlüsselt?
TRIM ist nicht deaktiviert. Dies ist im Grunde eine falsche Aussage. Falsch Nachgesagt weil es irgendeiner Behauptet hat. Grundlagen, siehe fstab, und mountoptions.
Solang im /etc/crypttab kein discard konfiguriert ist bzw. kein "allow-discard" Flag bei der Partition gesetzt ist sollte recht egal sein, was in /etc/fstab steht. Da mag der Dateisystemtreiber discards auf dem /dev/cryptdev durchführen, dmCrypt reicht es in Konsequenz jedoch nicht an die Hardware durch. Dmcrypt default ist dabei, kein Trim zu unterstützen, wobei die defaults in jeder Distribution natürlich abweichen können.
Ansonsten ist es so wie schon in Post #6 erwähnt wurde. Halbierte Performance einer schnellen SSD und immer noch sehr schnelles Systemverhalten müssen sich nicht ausschließen. Bei Anwendungen, wo I/O der begrenzende Faktor wird, kann der Overhead und fehlendes TRIM jedoch wirklich nervig sein.
Ich benutze eine komplette Laufwerksverschlüsselung mit LUKS, mit Linux Mint 20.3 und bis auf die Bootzeit, kann ich im Alltag nichts Negatives feststellen. Wobei ich nur Surfe und ein bisschen Office mache. Falls ich mal etwas kopiere, begrenzt eher das externe Medium bzw. USB 3.0.
Meine Hardware ist auch schon etwas betagter: i7-4770, Samsung 860 EVO, 16 GB Ram. TRIM ist bei mir übrigens aktiviert, ohne dass ich etwas gemacht habe.
Der Unterschied ist sehr deutlich merkbar wenn man Daten verschiebt vom LVM2/LUKS/EXT4 auf den neuen Treiber im Linux Kernel mit Windows formatierte NTFS NVME Disk. (nicht der ntfs-3g treiber)