Hallo zusammen...
dies ist die Fortsetzung von Storage Server RAID5 & TrueCrypt
nach dem regen Interesse und stetigen PNs von Usern mache ich hier mal noch einen neuen Thread auf mit meinen Erkentnissen zu diesem Thema, denn ich lese auch immer wieder dass die User es in ihrer "Bedarfs"- oder "Wunsch"-Liste stehen haben.
Ich werde nicht zu tief in die Themen einsteigen, denn ich hoffe, dass man sich schon mit dem Thema RAID und etwas mit TrueCrypt auseinandergesetzt hat.
Ich berichte hier von Erfahrungswerten und werde auch am Ende jedes Themas mein Szenario darstellen, also wofür ich mich entschieden habe (evtl. mit Begründung, falls mir eine Einfällt).
Ich arbeite seit etwa 7 Jahren mit TrueCrypt und ich hatte nie auch nur ein Problem damit... zumindest keines das ich nicht selbst verursacht habe (Wenn TC frägt ob man sich sicher ist, sollte man es auch wirklich sein, ich habe mich in der Harddisk Nummer vertan und somit 1,5TB in den Wind geschossen)
Meine Hardware: Intel Xeon E3 1220L, Adaptec 51645, TestHDDs (gemischt) 16x Seagate 3TB st3000dm001, TrueCrypt 7.0 TrueCrypt 7.1a (erforderlich, nicht 7.1+), extcv.exe 0.6 Quelle extcv.exe 0.7 (fuer TC 7.1a erforderlich)
Ich möchte auf folgende Punkte eingehen:
- TrueCrypt auf RAID-Volumen (Hardware)
- Partiton Ja/Nein?
- Erweiterbarkeit
- Mounting
- Sicherheitsaspekt
- Performance
- Troubleshooting
- ToDo - Liste
TrueCrypt auf RAID-Volumen (Hardware)
Grundsätzlich ist es kein Problem, da es Windows egal ist was sich z.B. hinter "Harddisk2" verbirgt und ob es ein RAID0,1,5,6 ist ist Windows auch Jacke wie Hose.
Ohnehin würde ich empfehlen auf eine CPU zu setzen die entsprechenden AES Befehlssatz bereits unterstützt, denn in einem RAID kommen hier gleich mal mehrere 100MB/s auf die CPU zu und da sollte sie nicht der Falschenhals sein, das aber nur als Empfehlung.
Ich habe damals einen AMD HexaCore genutzt um dieses Problem in den Griff zu bekommen, dieser schafft etwa 800MB/s, jedoch ist es nichts im Vergleich zu 2,5GB/s von einem i5, i7 oder einer kleinen Xeon CPU.
Es sollte eigentlich keine Rolle spielen (werde ich aber noch testen) ob nun Software-RAID (Windows) oder Hardware-RAID
Mein Setup: Ensprechende Hardware wie oben
Partition Ja/Nein?
Ich würde nun sagen JA! ... damals hab ich das etwas anders gesehen, doch später wurde ich von meinem Kollegen G0bi überzeugt.
Der Vorteil einer Partition: Man kann unten stehnde Mountscripts mittels mountvol basteln, was das Volumen eindeutig adressieren lässt.
[daten]Wenn ihr euch für eine Partition entscheidet, Konvertiert diese zu einem GPT Datenträger, sonst bekommt ihr später Probleme beim Erweitern[/daten]
Weiterer Vorteil, wenn man keine Partition auf der HDD hat, wird man von Windows gefragt ob man die Harddisk "initialisieren" bzw.
wer hier den falschen Datenträger auswählt ist hoffnungslos verloren
Erweiterbarkeit
Je nach Größe eures TrueCrypt Volumen solltet ihr euch entscheiden, ob ich ein Containerfile erstellen wollt oder die komplette HDD (inkl. Partition oder ohne) verschlüsseln möchtet.
Da NTFS eine Dateigrößenbeschränkung hat von 17,2TB, sollte das im Vorfeld bedacht werden. Ich habe mich hier immer zu der kompletten HDD entschieden.
Hier eine kurze Zusammenfassung für einen gemeinsamen Nenner:
[expander]Also erstellen wir uns ein RAID Volumen:
Hierfür kommen 3x250GB HDDs zum Einsatz und die Logical Volume wird 25GB groß (für diese Tests hier unentscheident)
In der Windows Datenträgerverwaltung bekommen wir nun folgendes
Also machen wir uns darauf ein Einfaches Volumen ohne Laufwerksbuchstaben (bzw. löschen diesen im Nachhinein) da dieser nur für Verwirrung sorgen würde und verschlüsseln das ganze mit TC
Ende vom Lied... wir haben ein TrueCryptVolumen auf einem RAID-Verbund
[/expander]
[warnbox]Dieser Vorgang geht nur mit Volumen die mit einer TrueCrypt Version Pre-7.1 (empfohlen 7.0a) erstellt worden sind[/warnbox]
Warum ? da das Programm extcv mit einem neueren TC Volumen nicht klar kommt, wurde eben nicht weiterentwickelt.
Ich erweitere das Logical Volumen um 10GB und eine zusätzliche HDD via RAID Controller
anschließend die Datenträgerverwaltung von Windows aktualisieren.
mittels Rechtsklich "erweitern" den neuen Speicher der Parition zuweisen
Jetzt extcv starten und wie bei TrueCrypt entsprechende HDD auswählen
Für den weiteren Vorgang darf das TC Volumen nicht gemountet sein, andernfalls gibts eben ne Fehlermeldung.
auf [Start] klicken, nun werden wir gefragt ob ein hidden volume existiert (hier habe ich noch keine Erfahrung), nun entsprechend das Kennwort eingeben für das TC-Volumen
Nun wird der neu hinzugekommene Speicherplatz verschlüsselt und dem Volumen hinzugefügt
Ende vom Lied:
Selbstverständlich funktioniert es auch wenn Daten auf dem Volumen vorhanden sind...
Habe diesen Vorgang nun etwa 20-25 mal getestet, in vielen Variationen und bin nie in einen Fehler gelaufen.
Mein Setup:
Ich werde dieses Szenario bis zum Exzess treiben, später mit 16x3TB HDDs... selbstverständlich werde ich euch Performancewerte liefern
Mounting von TC-Volumen
Hier bietet es sich an ein Script zu basteln mit z.B. einer Abhängigkeit.
Man kann TrueCrypt Volumen auch mittels CMD mounten, hier wäre der einfachste Weg folgender
Syntax: Pfad zur TC.exe /v $Volumen /l $Laufwerksbuchstabe /k $Pfad_zur_Keyfile
/c ist um das Kennwort und Keyfile im Cache zu behalten, falls weitere Volumen folgen
/q für quiet
/w für wipe Cache... sollte am letzten Mountbefehl hängen damit Passwörter & Sicherheitsdateien aus dem Cache wieder entfernt werden
weitere Parameter
USB-Stick mit Sicherheitsdatei:
"C:\Programme\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk0\Partition2 /l Z /k D:\Sicherheitsdatei /c /q
oder im internen Speicher des Routers?
"C:\Programme\TrueCrypt\TrueCrypt.exe" /v \Device\Harddisk0\Partition2 /l Z /k \\Fritz.nas\fritz.nas\USBMass-StorageDevice-01\Sicherheitsdatei /c /q
Das Problem hier kann werden, dass wenn die Laufwerke nicht immer die selbe Harddisk# haben, können sie falschen Laufwerksbuchstaben zugewiesen werden.
Hierfür kann man das Windows-tool "mountvol" verwenden:
Ich mounte das Test-Volumen unter Z und tippe "mountvol" direkt in die CMD:
nun sehen wir eine Gemeinsamkeit (e840f206bee3)
was zur Verwirrung führt, man nimmt nicht den unteren Eintrag, sondern sucht sich den passenden von oben bei ***Keine bereistellungspunkte*** raus
ergo geht auf Folgendes
"C:\Programme\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{3fe4f8f7-96b0-11e2-941f-e840f206bee3}\ /l Z
Entsprechendes werde ich noch weiter prüfen bzgl. Hidden Volumes in Mountvol
Anschließend kann auch z.B. das Volumen mittels Folgendem freigegeben werden:
[infobox]Wie man erkennt bietet es sich an, kein Kennwort sonder lediglich eine Datei als Kennwort zu verwenden, andernfalls muss bei jedem Mounting ein Kennwort eingegeben werden[/infobox]
Mein Setup: Ich gebe bei jedem Starten des Servers ein Kennwort ein! (Noch), werde auf die Sicherheitsdatei umsteigen.
[infobox]Kennwörter und Schlüsseldateien können im Nachhinein verändert werden, jedoch kann das Volumen nicht "entschlüsselt" werden[/infobox]
[u][b]