mdadm, Raid6, luks und Zugriffszeiten

tobby88

Enthusiast
Thread Starter
Mitglied seit
11.08.2011
Beiträge
41
Ort
Hannover
Hi.

Nach einem Crash will/muss ich meinen Homeserver eh neu installieren. Nun habe ich über eine Neustrukturierung nachgedacht. Bisher hatte ich das System (Ubuntu 11.04) auf zwei 160GB Platten im Raid1 mit mdadm und dann die Daten auf 8x2TB im mdadm-raid-6. Das war mit luks dann noch vollverschlüsselt.

Neuer Plan ist, die zwei 160er rauszuschmeißen und das System mit ins Raid6 zu legen und mit zu verschlüsseln. Theoretisch müsste das wohl gehen. grub2 kann ja angeblich auch von Raid5 und 6 booten und ein verschlüsseltes System ist auch kein Problem so lange ine unverschlüsselte /boot-Partition vorhanden ist.

ich habe tatsächlich noch mit einem ganzen Stapel kleinerer und großer Probleme zu kämpfen.

hauptproblem sind dagegen derzeit die Zugriffszeiten - die Transferraten sind kein Problem. Im Raid6 mit mdadm erreiche ich mehrere hundert MB/s und auch mit Verschlüsselung bleiben ca 90 MB/s übrig. Sobald kleine Dateien kommen, bricht die Rate auf xxx kb/s ein. Beim Löschen liegt die Rate bei unter 40 Objekten pro Sekunde. Ubuntu braucht 2 Std. zur Installation. Konfiguration wie folgt: 8x2 TB HDD, eine große Partiton drauf jeweils, diese mit mdadm im Raid6, das raid in 2 Partitionen aufgeteilt, Nummer 1 mit ext4 als boot, auf Nummer 2 luks, in luks dann mit lvm eine Aufteilung in swap und root.

Wenn ich das ganze Array statt mit mdadm mit meinem Areca ARC-1201 Controller "berechnen lasse", und sonst ab "das raid in 2 Partitionen aufgeteilt" alles gleich lasse, habe ich plötzlich super Zugriffszeiten. Ubuntu installiert in unter 20 min. usw.

Doch was mache ich falsch? Habt ihr Ideen wie ich die Config besser lösen könnte? Ich würde ungern auf das Hardwareraid setzen. Bei einem defekt der Hardware/des Controllers brauche ich genau den gleichen Controller wieder (und der ist verdammt schwer zu bekommen) um wieder an die Daten zu kommen. Mit mdadm ist das flexibler und bei defekt des Servers können die Platten einfach eben in einen anderen gesetzt werden und mdadm kümmert sich um den Rest. Doch die Zugriffszeiten sind so für mich nicht hinnehmbar...
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
wenn du mir eine zuverlaessige loesung nennst die zugriffszeit zu messen/benchmarken, dann kann ich nachsehen ob mein setup da besser performt.
ich hab naemlich alle 6 datenplatten zuerst verschluesselt, und dann erst das raid6 drueber gezogen.
damit hab ich 6 crypto-threads und um die 300mb/s am verschluesselten raid6 beim lesen.
 
Zuletzt bearbeitet:
Hi

stimmt, so rum ist auch eine Idee. Aber musst du dann nicht für jede Disk einzeln das Passwort eintippen? Oder wie hast du das gelöst?
Verschlüsselst du nur die "Daten" oder das ganze System so?

Benchmarken von Zugriffszeiten geht wohl am ehesten über eine Messung der IOPS. Aber das ist auch schon schwer genug. Habe es letztens mit IOMeter probiert. Das hat aber leider am Dateisystem vorbei schreibend auf die Platten zugegriffen - der Crash, von dem eingangs die Rede war, war die Folge... Wenn man aufpasst beim Konfigurieren des Tools könnte man mit dem Tool das vielleicht nochmal probieren. Allerdings läuft unter Linux nur der "worker". Die GUI, die die einzige Möglichkeit ist, dem worker per LAN Aufgaben zu geben, gibt es nur für Windows.
 
Deine Bonnie++ Ergebnisse würden mich mal interessieren
In irgendein Verzeichnis deines luks-raids wechseln und
bonnie++ | tail -n 1 | bon_csv2html > report.html
ausführen.
Das Ergebnis würde mich sehr interessieren :)
 
hui... Ja ich bin schon froh, wenn ich auf 10% deiner Create/Delete-Werte komme.

Mich würde also mal sehr im Detail interessieren, wie genau das ganze konfiguriert ist.

Und wie du das Problem mit den 6 Keyeingaben zum Öffnen der Luks gelöst hast.
 
einfach die 6 platten einzeln gecrypted, deren gecryptete blockdevices in ein raid6 gesteckt. keine partitionen, kein lvm, rein garnix. aufs raid device kommt direkt xfs drauf.

die 6 platten werden mit einer keyfile decrypted, die liegt auf ner verschluesselten partition einer anderen platte ;)
 
Hmmm.... deine Config läuft bei mir absolut grauenvoll. Da komme ich noch auf gut 10 Creates/Deletes pro Sekunde. Aber auch HDDs -> Partitionen (korrekt "aligned" wg. 4k-Sektoren) -> mdadm -> luks -> XFS schafft bei mir nur 40-50 Creates/Deletes pro Sekunde :-(
 
schon die platten mal einzeln getestet? klingt eher nach einem HW fehler.
 
Wie teste ich sie am besten einzeln? Oder meinst du auch mit bonnie? Das wird schwer - inzwischen habe ich das RAID wieder fertig eingerichtet. Dann müsste ich immer eine Platte raus"kicken" für den Test. Außerdem bezweifel ich das. Im Hardwareraid + Luks komm ich ja auch auf 4000-5000 Creates/Deletes pro Sekunde.
 
was ich hie und da mache ist ein badblocks auf die einzelnen platten
im idealfall sollte da kein output rauskommen, wenn doch hat er lesefehler auf der hdd.
parallel dazu kann man mit smartctl die werte vor, und nach badblocks ansehen. z.b. ob sich smart werte veraendert haben
mit smartctl kannst auch short und long tests auf die einzelnen platten ausführen.

btw. bei dmesg siehst du auch welchen algo er fuer raid6 hernimmt
Code:
[  172.412073] raid6: int64x1    773 MB/s
[  172.480103] raid6: int64x2    784 MB/s
[  172.548116] raid6: int64x4    660 MB/s
[  172.616080] raid6: int64x8    547 MB/s
[  172.684080] raid6: sse2x1    1214 MB/s
[  172.752034] raid6: sse2x2    2055 MB/s
[  172.820041] raid6: sse2x4    2439 MB/s
[  172.820047] raid6: using algorithm sse2x4 (2439 MB/s)
 
Moin

Danke, ich werd mal schauen!

dmesg liefert
Code:
[    6.190018] raid6: int64x1   2347 MB/s
[    6.360010] raid6: int64x2   3100 MB/s
[    6.530012] raid6: int64x4   2285 MB/s
[    6.700016] raid6: int64x8   2034 MB/s
[    6.870022] raid6: sse2x1    5388 MB/s
[    7.040019] raid6: sse2x2    5825 MB/s
[    7.210010] raid6: sse2x4    8846 MB/s
[    7.210012] raid6: using algorithm sse2x4 (8846 MB/s)
 
Moin,

ich versuche auch gerade die einzelnen Festplatten vorher zu verschlüsseln. Ich nutze OpenSuSE 12.1, ich verschlüssele die ganze Festplatte zuerst ohne eine Partition, dann erstelle ich mit mdadm ein Software RAID5 und für die /dev/mapper/crypt[1-3] Devices dem RAID 5 hinzu, dann Assemble ich das RAID. Ich habe dann entweder direkt ein Filesystem angelegt oder zuerst noch eine Partition.

Nun zu meinem Problem:
Wenn ich boote kann ich noch für alle 3 Festplatten das cryptsetup Passwort angeben, dann jedoch bootet der Rechner nicht weiter und kommt dann mit der Rettungskonsole nach ca. 1 min.

Ich vermute dass es mitunter ein Reihenfolgenproblem ist. Ein auf dem gleichen System jeweils laufendes RAID1 ohne Verschlüsselung und ein Cryptolaufwerk ohne RAID werden erkannt und funktionieren.

Irgendwer eine Idee oder einen Tip?

Danke

wenn du mir eine zuverlaessige loesung nennst die zugriffszeit zu messen/benchmarken, dann kann ich nachsehen ob mein setup da besser performt.
ich hab naemlich alle 6 datenplatten zuerst verschluesselt, und dann erst das raid6 drueber gezogen.
damit hab ich 6 crypto-threads und um die 300mb/s am verschluesselten raid6 beim lesen.
 
warum verschlüsselst du die denn einzeln?
das war ja vor nem jahr evtl. noch verständlich, als die parallelisierung von crypto algorithmen noch nicht so ganz ausgereift war...
aber mit nem aktuellen kernel macht das wenig sinn ;)

versuchst du von dem raid zu booten?
wenn du von einer unverschlüsselten hdd bootest sollte es keinen unterschied machen
ob du das pw eingiebst oder nicht
kommen irgendwelche fehlermeldungen? steht was im syslog?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh