none
(Mini) Filter Treiber als RAID0 Ersatz RRS feed

  • Frage

  • Hallo, 

    Vorstellung: Treiber mit eine Art RAID-0 Funktionalität, grob gesagt mehrere physikalische Platten zu einer großen logischen Platte "zusammenmergen". Aufteilen der Daten nicht nach Byte-Chunks, sondern auf Datei-Ebene, sollte eine Platte ausfallen wird also nichts auf den anderen Platten "zerstört".

    Zu meiner Frage: welche Art von (mini) Treiber wäre dafür am besten geeignet? Lässt sich das mit einem Filter Treiber lösen?

    Raid0 ist keine Option da die Platten alt und unterschiedlich groß sind und ich deutlich mehr Flexibiliät brauche.


    Mittwoch, 8. Mai 2019 18:55

Alle Antworten

  • Hi,

    abgesehen davon, dass ich die Idee für ziemlichen Quark halte (vor allem, da Du selbst schreibst, dass die Platten alt sind, du "mehr" [was auch immer "mehr" in deinem Fall ist)] Flexibilität [auch hier die Frage: Was soll das in deinem Fall sein?] brauchst), stellt sich die Frage: Willst Du selbst einen Treiber für sowas schreiben? Oder suchst Du irgendwas fertiges?

    Ohne mehr Details zu deinen Anforderungen kann man da eigentlich nicht viel sagen.

    Wenn es dir nur darum geht, dass die Dateien aus deinen eigenen Anwendungen heraus irgendwie nach irgendeinem Schema verteilt werden, erstell einfach kleines Projekt als Bibliothek, dort eine Methode WriteFile oder ähnliches und entscheide dort anhand deiner Kriterien, auf welche Platte geschrieben wird. Alle Lese und Speicherzugriffe erfolgen dann nur noch über diese Methode(n).

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Mittwoch, 8. Mai 2019 21:02
    Moderator
  • Hi,

    abgesehen davon, dass ich die Idee für ziemlichen Quark halte (vor allem, da Du selbst schreibst, dass die Platten alt sind, du "mehr" [was auch immer "mehr" in deinem Fall ist)] Flexibilität [auch hier die Frage: Was soll das in deinem Fall sein?] brauchst), stellt sich die Frage: Willst Du selbst einen Treiber für sowas schreiben? Oder suchst Du irgendwas fertiges?

    Was daran schwer nachzuvollziehen ist erschließt sich mir nicht. Nichts anderes als ein konfigurierbares JBOD. Platten sind alt => bie RAID-0 hätte man vermutlich öfters mit Ausfällen und dem extrem langwierigem Wiederherstellen zu kämpfen als man den Verbund nutzen kann. Ich kann niemals eine Platte entfernen oder schlicht eine neue hinzufügen ohne das ganze RAID neu initialiseren zu müssen. Bei einem "losen" Treiber der auf Datei-Ebene splittet kümmert das die anderen Platten nicht.

    Flexibilität in dem Sinne, dass es eben völlig egal ist was man schlussendlich zusammenschaltet, wieder trennt oder Erweitert. Ich denke auch an einen konfigurierbaren Daten-Split via Verzeichnistiefe oder Ähnlichem, zB.: ab 2 Verzeichnissen Tiefe werden Ordner nicht mehr aufgesplittet sondern nur noch als eine Einheit behandelt, darüber sind Dateien die "kleineste Einheit." Ich gebe zu, meine Anwendung für die Konfiguration ist sehr speziell, jedenfalls mittels RAID nicht umsetzbar.

    Warum Treiber statt App? Das ganze kommt auf einen File-Server (Windows) auf dem einige Docker-Container laufen die diesen Verbund als eine Einheit ansehen müssen.

    Klar will ich den Treiber selber schreiben, daher auch die Frage. Ich will nur nicht mit einem Mini Filter Treiber starten um mitten im Projekt dann auf Einschränkungen damit zu stoßen. Kann ein Mini Filter Treiber ohne große Umwege zwei physikalische Platten unmounten und als gemeinsames, logisches Volumen remounten? Ist es weiters möglich damit das oben beschriebene Kopier-Verhalten abzubilden oder muss dafür eine andere Art von Treiber her?


    • Bearbeitet uberhalit Donnerstag, 9. Mai 2019 00:12
    Donnerstag, 9. Mai 2019 00:07