Frage Nullen von SSD-Laufwerken


Wir hosten VPS für Kunden. Jeder Kunden-VPS erhält ein LVM LV auf einer Standard-Spindel-Festplatte. Wenn der Kunde verlässt, wird dieser LV auf Null gesetzt, um sicherzustellen, dass seine Daten nicht an andere Kunden weitergegeben werden.

Wir denken über SSDs für unser Hosting-Geschäft nach. Angesichts der Tatsache, dass SSDs die "Wear Leveling" -Technologie haben, macht das Nullsetzen sinnlos? Macht dies diese SSD-Idee undurchführbar, da wir nicht zulassen können, dass Kundendaten an einen anderen Kunden weitergegeben werden?


18
2018-06-21 12:08


Ursprung




Antworten:


Angenommen, Sie möchten verhindern, dass der nächste Kunde die Festplatte liest, um die Daten des alten Kunden zu sehen. Dann würde das Schreiben aller Nullen tatsächlich noch funktionieren. Das Schreiben von Nullen in den Sektor 'n' bedeutet, dass beim Lesen des Sektors 'n' nur Nullen zurückgegeben werden. Tatsache ist, dass die zugrunde liegenden tatsächlichen Daten immer noch auf den Flash-Chips liegen, aber da Sie kein normales Lesen machen können, um es zu erreichen, ist das kein Problem für Ihre Situation.

Es ist ein Problem, wenn jemand die Platte physisch ergreift und auseinander nimmt (weil sie dann direkt die Flash-Chips lesen könnte), aber wenn der einzige Zugang, den sie haben, der SATA-Bus ist, dann ein Schreiben aller Nullen auf das Ganze Festplatte wird gut tun.


22
2018-06-21 12:25



Genau die Antwort, die ich suchte, und als ich darüber nachdachte, kam ich zum selben Schluss :) - jtnire
Ich könnte mir vorstellen (aber ich weiß es nicht sicher, und es würde sicherlich von dem Controller-Chipsatz abhängen, der in der SSD verwendet wird), dass das Schreiben eines Sektors von Nullen auf eine SSD nicht einmal die tatsächlichen Flash-Chips treffen würde. Der Controller sollte beachten, dass es nur Nullen gibt, und diesen Sektor einfach als "genullt" markieren (oder ihn einfach auf einen Sektor richten, der nur Nullen enthält). Einen Sektor von Nullen zu schreiben ist eine ziemlich übliche Sache, und spezielle Gehäuse wären eine billige und einfache Möglichkeit, den Verschleiß des Blitzes zu reduzieren, also wäre ich schockiert, wenn zumindest Intel und Sandforce es nicht getan hätten. - kindall


Füllen Sie niemals eine SSD, nie. Zumindest wird dies die Schreiblebensdauer der SSD für wenig oder keinen Nutzen verschleißen. In einem extremen Worst-Case-Szenario könnten Sie den Controller der SSD in ein (vorübergehend) reduzierter Leistungszustand.

Von diese Quelle:

Wiederholtes Überschreiben der gesamten Festplatte mit mehreren Wiederholungen kann Daten erfolgreich zerstören, aber aufgrund des Firmware Translation Layer (FTL) ist dies erheblich komplizierter und zeitaufwendiger als bei herkömmlichen Festplattenlaufwerken. Aufgrund ihrer Ergebnisse ist es eine unattraktive Option

Ihre beste Option, sichere Löschung über vollständige Festplattenverschlüsselung:

Einige moderne SSDs können die Festplattenverschlüsselung verwenden - Beispiele sind die neuen 320 Laufwerke von Intel und einige Laufwerke der Sandforce 2200-Serie. Diese Laufwerke können auf einfache und schnelle Weise ohne jeglichen Laufwerksverschleiß sicher gelöscht werden. Das Laufwerk verwendet die AES-Verschlüsselung für alle geschriebenen Daten. Ein sicheres Löschen bedeutet also, den alten AES-Schlüssel zu löschen und durch einen neuen zu ersetzen. Dadurch werden alle "alten" Daten auf dem Laufwerk effektiv wiederhergestellt.

Intels sicheres Löschen ist jedoch nicht einfach zu automatisieren. AFAIK muss von Intels Windows-GUI-App gemacht werden, es kann nur auf einem leeren Nicht-Boot-Laufwerk usw. ausgeführt werden. Sehen Seite 21 und höher in Intels Dokumenten.

Ihre andere Option, ATA Secure Erase:

Eine andere Möglichkeit ist es einen ATA Secure Erase-Befehl ausgeben über fx HDPARM unter Linux. Dies wird viel einfacher per Skripting zu automatisieren sein.

Vorausgesetzt das Laufwerk implementiert "ATA Secure Erase" auf "gute" Weise, sollte man erwarten, dass es mindestens die "Flash Translation Layer" (FTL) löscht. Die FTL-Tabelle enthält die Zuordnung zwischen den logischen Sektoren (die das Betriebssystem "sieht") und den physischen Seiten des NVRAM auf dem Laufwerk selbst. Wenn diese Zuordnungstabelle zerstört ist, sollte es sehr schwierig sein - aber wahrscheinlich nicht unmöglich -, Daten von dem Laufwerk wiederherzustellen.

Mir sind jedoch keine Studien bekannt, die gezeigt haben, dass ATA Secure Erase auf allen Festplatten des Herstellers konsistent und gut implementiert ist. Daher zögere ich zu sagen, dass es immer funktionieren wird - Sie sollten die technische Dokumentation des Herstellers lesen.

Für eine einzelne Partition:

Wenn ich die Kommentare zu anderen Antworten lese, scheint OP nur einzelne Partitionen sicher zu löschen. Eine gute Möglichkeit wäre, nur zu erstellen verschlüsselt Volumen, f.x. verwenden L.U.K.S. oder TrueCrypt. Auf diese Weise können Sie das Volume sicher löschen, indem Sie den Verschlüsselungsschlüssel wegbewegen, ähnlich wie bei der Festplattenverschlüsselung auf Festplatte.

Fazit:

Wenn du wirklich, wirklich wissen willst, dann die Zeitung lesen Verknüpft mit dem Blog von Sophos und lies die technischen Hinweise der Laufwerkhersteller zum sicheren Löschen. Wenn Sie jedoch "gutes" sicheres Löschen wünschen, dann ist eine SSD mit vollständiger Festplattenverschlüsselung und einem sicheren Löschen und Ersetzen der Verschlüsselungsschlüssel wahrscheinlich die beste Wahl. Verwenden Sie als Alternative die Verschlüsselung auf Betriebssystemebene, und werfen Sie den Schlüssel weg, wenn Sie Daten sicher löschen möchten.


19
2018-06-21 13:03



Vorsicht ist gut, aber ich bin mir nicht sicher, ob das Erwähnen einer 2 Jahre alten Notiz auf einem Controller-Bug, der nur bei stark künstlich ausgelasteten Workloads in einer bestimmten SSD auftrat, die längst behoben wurde, viel Gewicht erhalten sollte. - Daniel Lawson
@Daniel Lawson: Fairer Punkt. :-) Ich habe diesen Abschnitt neu formuliert und zu einer vorübergehenden Leistungsverschlechterung geändert - und den Link auf eine Rezension von Crucials M4 / C400-Laufwerk (ein derzeit laufendes Laufwerk) geändert, das nach schweren Schreibvorgängen starke Verlangsamungen aufweist. - Jesper Mortensen


Wear Leveling hat überhaupt nichts damit zu tun, Daten auf Null zu setzen.

Sie löschen Daten aus, um andere Personen / Anwendungen, die diese Daten lesen, zu stoppen. SSDs "verschleißen" ihre Daten, um sicherzustellen, dass sie aufgrund des "Schadens", den das Schreiben an SSDs verursacht, länger verwendbar bleiben. Auch Festplatten tun dies normalerweise, wenn sie nicht beschäftigt sind, in Server-Situationen sind nicht immer ruhige Zeiten verfügbar, so dass diese Arbeit oft nicht erledigt wird.

Beaufschlagen Sie Ihre Kunden für ihre IO-Operationen? Wenn nicht, was hält sie davon ab, ihren Teil einer SSD in Stunden / Tagen zu töten, indem sie ständig die ganze Zeit schreiben? SSDs sind ein bisschen einfacher zu töten, als die meisten Leute denken würden, besonders in schreibintensiven Umgebungen.


6
2018-06-21 12:22



Ich sprach mit Chris, das sind zwei verschiedene Dinge - Chopper3
if (time < 9am) chriss_try_again() - Chris S
haha - mach dir keine Sorgen dude :) - Chopper3
Obwohl die Daten wahr sind, trifft das weniger auf das Töten zu. "Enterprise Flash Drives" haben eine bessere Lebensdauer und Größe als Consumer-SSDs, aber genau wie Enterprise HDDs zahlen Sie die Premium-Leistung. Laut seagate hat ihre "Pulsar" ESD eine Lebensdauer von 5 Jahren, was etwa 6 Petabytes an Schreibvorgängen entspricht. anandtech.com/show/2739/2 - Am Pulsar Drive virtualgeek.typepad.com/virtual_geek/2009/02/... - Auf EFDs - Daniel B.
Ich kenne Daniel, ich kaufe viele Enterprise SSDs, die ich in eine + 99% Leseumgebung stelle, aber als wir sie getestet haben, fanden wir es immer noch überraschend einfach, sie zu "töten", zum Beispiel setzen wir zwei HP als gespiegeltes Paar ein die Logdisk für eine ziemlich ausgelastete Oracle 10 Box und die Dinge liefen innerhalb von 4 Wochen schief. Das war vor ungefähr 10 Monaten, also war HPs Rebad-Version dieses Pulsar-Laufwerks nicht. 6PB entspricht ~ 38MB / s über 5 Jahre oder ~ 180MB / s über ein Jahr - Sie können also keinen Pulsar verwenden, um einen einzelnen HD-Video-Kanal zu erfassen, ohne dass er unter einem Jahr einbricht. - Chopper3


Es lohnt sich also Artikel wie diese. Wenn jemand physischen Zugriff auf die Disc hat, ist das Abrufen von Informationen einfacher. Haben Sie in Betracht gezogen, die Daten auf der SSD zu verschlüsseln und dann alles, was Sie tun müssen, vergessen Sie sicher den privaten Schlüssel, der ein einfacheres Problem sein sollte. Ich kann sehen, SSD ist ein großer Gewinn auf vps wegen der viel besseren Direktzugriffsleistung.


3
2018-06-21 12:17





Sie möchten auf keinen Fall traditionelle Methoden zum Löschen von SSDs verwenden, wie z dd um Daten oder andere Methoden, die zufällige Daten auf die Festplatte schreiben, auf Null zu setzen. Diese Methoden sind besser für Plattenteller geeignet. Es ist effektiv beim Löschen der SSD, aber es wird auch unnötigerweise viele der begrenzten Schreiboperationen der SSD verbrauchen, wodurch die erwartete Lebensdauer der SSD verringert wird. Das würde schnell teuer werden. Es kann auch die Leistung der SSD im Laufe der Zeit verringern.

SSDs haben unterschiedliche Methoden zum sicheren Löschen. Ich werde sagen, dass es sehr umständlich zu tun scheint, weil Sie normalerweise eine bestimmte Art von SATA-Controller benötigen, der IDE-Emulation ausführen kann, und die Prozedur kann kompliziert sein. Einige Hersteller bieten Tools zum sicheren Löschen ihrer eigenen SSDs, aber Sie können es auch mit hdparm unter Linux machen: https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase. Sie werden jedoch in diesen Anweisungen feststellen, dass Sie sicherstellen müssen, dass das Laufwerk nicht "eingefroren" ist, bevor Sie fortfahren können. Dies ist einer der schwierigsten Schritte, da Sie ein Motherboard und einen SATA-Controller benötigen, mit denen Sie das Laufwerk beim Systemstart "entfrieren" können. Dazu müssen Sie es normalerweise vom SATA-Kabel trennen und dann wieder einstecken.

Wie auch immer, meine Empfehlung ist, Ihre Forschung zu tun und wählen Sie eine SSD, die mit einem sicheren Lösch-Dienstprogramm kommt, das auf einem System verwendet werden kann, das für Sie bequem ist.


2
2018-06-21 12:48



Wenn Sie dd verwenden, um die Festplatte auf Null zu setzen, solange Sie eine entsprechend große Blockgröße und nicht den Standardwert von 512 Byte verwenden, werden nicht viele Schreib- / Löschzyklen verbraucht. Es wird ungefähr 1 verwenden. Ich sage ungefähr, weil ich einräume, dass, wenn Ihre Dateisystemausrichtung falsch ist, Sie in einigen Fällen zweimal auf den gleichen Flash-Block schreiben. Verwenden dd bs=1M führt zu minimalem Verschleiß. - Daniel Lawson


Obwohl eine Antwort bereits akzeptiert ist, denke ich das Kommando blkdiscard /dev/sdX ist hier noch erwähnenswert.

Gemäß Arch Wiki: SSD, das blkdiscard Befehl wird Verwerfe alle Blöcke und alle Daten werden verloren gehen. Es wird empfohlen, vor "Sie möchten Ihre SSD verkaufen" zu verwenden.

Ich weiß nicht, wie TRIM funktioniert, daher weiß ich nicht, ob es eine Garantie dafür gibt, dass die Daten gelöscht werden. Aber ich denke, es ist besser als nichts zu tun.

Übrigens, ich befürchte, dass dieser Befehl nur auf einem ganzen Gerät funktioniert, nicht auf einer einzelnen Partition.

Hoffe das hilft. :)


2
2017-07-04 02:46



blkdiscard scheint nicht in allen Fällen sicher zu sein, weil TRIM selbst ist nur eine Anfrage und nicht alle SSD-Controller ehren es. Sie können mehr darüber lesen Hier und Hier. Aber wie dort erklärt, führt der Linux-Kernel eine Whitelist, von der bekannt ist, dass Geräte TRIM respektieren. - nh2
Also, wenn hdparm -I /dev/theSSD enthält Deterministic read ZEROs after TRIM, blkdiscard sollte schnell sein und garantiert, dass Nullen danach gelesen werden. Ansonsten a Sicher löschen scheint die bessere Lösung zu sein. Da es sich jedoch um die Sicherheit der Kunden handelt, Sicher löschen könnte die bessere Lösung sein, weil es für solche Anwendungsfälle konzipiert scheint. - nh2


Die beste Methode zum Löschen von Daten aus einem virtuellen Computerbild besteht in der Verwendung der TRIM-Funktion. Viele neuere Betriebssysteme unterstützen dies. Fast alle aktuellen SSDs unterstützen es auch.

Und was diese Option noch besser macht ist, dass mAlle SANs unterstützen diese Funktion auch unter ihrem SCSI-Namen UNMAP. Es ist ein großartiger Befehl für SANs, die Sparse Provisioning implementieren. Dies ist eine großartige Funktion für virtuelle Maschinen, insbesondere in Kombination mit Block-Deduplizierung.

Wenn der Befehl TRIM an eine SSD gegeben wird, markiert die Firmware diese Blöcke sofort zur Wiederverwendung. Einige SSDs geben immer Nullen für TRIM-Blöcke zurück. Andere Laufwerke geben implementierungsdefinierte (dh zufällige) Daten zurück.

Auf Betriebssystemen, die TRIM unterstützen, markiert ein einfaches Löschen der Datei die Blöcke für TRIM. Die eigentliche TRIM-Operation kann sofort erfolgen oder zu einem späteren Zeitpunkt zusammengeführt werden. Manchmal gibt es Werkzeuge, die eine Datei TRIMT oder eine Partition für alle unbenutzten Blöcke scannen.

TRIM-Leistung unter Linux ist immer noch unzuverlässig. Wenn Sie das verwenden, sollten Sie Ihre Optionen untersuchen. Unter Windows scheint es ziemlich solide zu sein.


1
2018-06-21 16:00



Tut mir leid, aber das macht überhaupt keinen Sinn. TRIM hat, soweit mir bekannt ist, nichts mit Thin Provisioning zu tun, es teilt einfach einer SSD mit, dass sie keine Wear-Leveling-Sektoren belästigt, von denen es nicht weiß, dass sie vom Dateisystem gelöscht wurden, ganz besonders nicht Null-Blöcke. - Chopper3
@ Chopper3: Sie können nicht sehen, dass ATA TRIM und SCSI UNMAP der gleiche Befehl sind? UNMAP wird definitiv in Thin Provisioning verwendet. TRIM löscht Blöcke auf mindestens einigen SSD-Laufwerken. Nach TRIM sind die Daten Weg: Es gibt keine unterstützte Methode zum Abrufen, das Laufwerk könnte auch Nullen zurückgeben und einige tun. - Zan Lynx
"Das Laufwerk kann auch Nullen zurückgeben" und "die Daten sind nicht wiederherstellbar" sind zwei sehr unterschiedliche Dinge. In jedem Fall möchte der Benutzer die SSD überhaupt nicht löschen, er möchte nur nicht, dass der nächste Kunde die alten Kundendaten erhält, was auch nicht dasselbe ist. - Chris S


Sie benötigen ein "SSD Secure Erase Utility". Wenn Sie etwas wie verwenden dd Der Wear-Leveling kann einsetzen und Sie werden mit Reservesektoren enden, die noch alte Kundendaten enthalten. Ein Dienstprogramm zum sicheren Löschen löscht alle Sektoren auf dem Gerät (nicht nur die, die dem Betriebssystem als Festplatte angezeigt werden).

Einige dieser Dienstprogramme sind spezifisch für einen bestimmten Hersteller, fragen Sie den Hersteller Ihrer Laufwerke nach ihrer Empfehlung, sie werden es besser wissen als wir.


0
2018-06-21 12:34



Entschuldigung, das ist nicht das, wonach ich suche, da ich nicht die gesamte Platte löschen möchte. Ich sorge mich nicht darum, dass Kundendaten noch auf der physischen SDD-Platte verfügbar sind - ich möchte einfach nicht, dass ein anderer Kunde auf Datenverlust seiner LV zugreifen kann. - jtnire