Hallo Leute,
vor kurzem hatte ich eine Idee die ich gerne umsetzen würde.
Nehmen wir mal an wir haben drei 1 Terabyte Festplatten. Es sollen nun Daten drauf gespeichert werden. Der eine Ansatz wäre einfach auf jede Festplatte Separat zuzugreifen und Dateien zu speichern/lesen. Der andere wäre sie mit irgendeinem RAID Level zu verbinden.
Verwenden wir RAID 0 hat man das Problem das bei Ausfall einer Festplatte alle Daten kaputt sind.
Verwenden wir RAID 1, 3, 4 oder 5 haben wir das Problem das wir Datenspeicher für Redundanz her schenken (z.B. RAID 5, 3x 1 TB Festplatten = 2 TB effektiver Datenspeicher).
Nun habe ich mir gedacht man könnte doch parallel zu den 3 Festplatten eine weitere Virtuelle Festplatte erstellen. Diese Festplatte hat die Summe der Größen der einzelnen Festplatten also 3 TB.
Bei Schreibvorgängen von Dateien wird zufällig eine der Festplatten ausgewählt. Bei Lese Vorgängen die Daten einer der Festplatten durchgereicht. Die Verzeichnisbäume der einzelnen Festplatten werden quasi und (AND) verknüpft.
Beispiel:
Code:
Festplatte 1:
-------------
C:\datei1.txt
Festplatte 2:
-------------
D:\datei2.txt
Festplatte 3:
-------------
E:\datei3.txt
Virtuelle Festplatte:
---------------------
F:\datei1.txt
F:\datei2.txt
F:\datei3.txt
Natürlich ist mir bekannt das diese Art von Redundanz nicht auf Byteebene wie die klassischen RAID Level möglich ist. Ich denke eher von Dateisystemebene.
Nun ist mein erstes Problem wie erstelle ich ein Virtuelles Laufwerk. Wie z.B. TrueCrypt das macht. TrueCrypt hat es in diesem Fall sogar leicht gesagt einfacher. Wenn Windows ein Datenblock (Bytearray) haben will muss TrueCrypt das nur diesen Bereich entschlüsseln die Bytes zurückgeben. Meine Idee fungiert auf einer, Logisch gesehen, eine anderen/höhren ebene.
Gibt es da irgendwelche Ansätze in den tiefen von der Microsoft MSDN oder ähnliches.
mfg
HyP3r
FoWL: Unterstützungserklärung für...
Heute, 12:14 in gulli:news