Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
dnbd3_fuse_cow [2022/09/12 11:54 CEST] – [cow_merger_service] verfl. chr | dnbd3_fuse_cow [2022/11/24 15:36 CET] (aktuell) – [cow_merger_service] bißchen verfl. chr | ||
---|---|---|---|
Zeile 173: | Zeile 173: | ||
^Schlüssel | ^Schlüssel | ||
- | |WorkingDirectory | + | |WorkingDirectory |
- | |OriginalImageDirectory | Pfad | Ordner der die Originalen Image Dateien | + | |OriginalImageDirectory | Pfad | Ordner, der die originalen Imagedateien |
|DestinationDirectory | Pfad | In diesen Ordner werden die fertigen Images kopiert.| | |DestinationDirectory | Pfad | In diesen Ordner werden die fertigen Images kopiert.| | ||
- | |Urls | + | |Urls |
Die genannten Werte müssen konfiguriert werden. Sollten sich die Serverprozesse cow_merger_service und der dnbd3-server auf dem selben System befinden, ergibt es Sinn, als OriginalImageDirectory das entsprechende Verzeichnis des dnbd3-Servers (basePath) zu verwenden. | Die genannten Werte müssen konfiguriert werden. Sollten sich die Serverprozesse cow_merger_service und der dnbd3-server auf dem selben System befinden, ergibt es Sinn, als OriginalImageDirectory das entsprechende Verzeichnis des dnbd3-Servers (basePath) zu verwenden. | ||
Zeile 217: | Zeile 217: | ||
Der Random Test führt zufällige Schreibvorgänge und Größenänderungen durch. Diese werden sowohl auf dem gemounteten Image als auch auf einer im Dateisystem befindlichen Kopie desselben durchgeführt. Beide Abbilder werden zum Abschluss auf Gleichheit getestet. | Der Random Test führt zufällige Schreibvorgänge und Größenänderungen durch. Diese werden sowohl auf dem gemounteten Image als auch auf einer im Dateisystem befindlichen Kopie desselben durchgeführt. Beide Abbilder werden zum Abschluss auf Gleichheit getestet. | ||
+ | |||
+ | Folgende Pfade werden bei den Tests verwendet: | ||
+ | |||
+ | * **mountPfad** Beliebiger Pfad an dem das Image gemounted wird, wichtig der Ordner muss leer sein. | ||
+ | * **tmpCowPfad** Beliebiger | ||
+ | * **Pfad im lokalen Dateisystem** Beliebiger | ||
==== Allgemeine Testvorbereitungen ==== | ==== Allgemeine Testvorbereitungen ==== | ||
Zeile 486: | Zeile 492: | ||
Diese Erweiterung verwendet einen neuen Lock cow.l2CreateLock. Er wird verwendet, wenn ein neues L2-Array zugewiesen wird. | Diese Erweiterung verwendet einen neuen Lock cow.l2CreateLock. Er wird verwendet, wenn ein neues L2-Array zugewiesen wird. | ||
- | <note warning> | + | |
===Config Variablen ==== | ===Config Variablen ==== | ||
Die folgenden Konfigurationsvariablen wurden zu config.h hinzugefügt. Eine Änderung wird nur erfahrenen Nutzern empfohlen. | Die folgenden Konfigurationsvariablen wurden zu config.h hinzugefügt. Eine Änderung wird nur erfahrenen Nutzern empfohlen. | ||
Zeile 616: | Zeile 622: | ||
| mergedBlocks | integer | | Yes | | | mergedBlocks | integer | | Yes | | ||
| totalBlocks | integer | | Yes | | | totalBlocks | integer | | Yes | | ||
+ | |||
+ | ==== Tests ==== | ||
+ | |||
+ | ===Standard Test=== | ||
+ | |||
+ | ==TestSingleBit== | ||
+ | Setzt das erste Bit des ersten dnbd3 Blocks auf 1 und das mittlere Bit des zweiten dnbd3 Blocks auf 1. | ||
+ | |||
+ | ==WriteOverTwoBlocks== | ||
+ | Dieser Test schreibt über zwei dnbd3 Blöcke. | ||
+ | |||
+ | ==WriteNotOnBlockBorder== | ||
+ | Dieser Test schreibt über drei Blöcke, jedoch beginnt er nicht an der Block grenze. | ||
+ | |||
+ | ==InterleavedTest== | ||
+ | Dieser Test schreibt mehrere dnbd3 Blöck mit verschiedenen Daten, jedoch lässt er Blöcke zwischendrin unbeschrieben. | ||
+ | |||
+ | ==WriteOverL2== | ||
+ | Dieser Test, testet das schreiben über eine L2 grenze. | ||
+ | |||
+ | ==MultipleWrites== | ||
+ | Dieser Test schreibt mehrmals auf dieselben Blöcke verschiedene Daten. Mit dem --delay Paramter kann die Wartezeit zwischen den Schreibvorgängen definiert werden. Dies ist nützlich, da je nach Delay die Blöcke zwischenzeitlich hochgeladen werden. | ||
+ | |||
+ | ==fileSizeChanges== | ||
+ | Testet Änderungen an der Dateigröße. Zuerst wird die Dateigröße um 2 * l2Capacity mit einem Truncate erhöht. Dann wird geprüft, ob alle Bits in dem neu zugewiesenen Speicherplatz auf 0 gesetzt sind. Dann werden Daten in die Datei geschrieben, | ||
+ | |||
+ | ==LongNonAlignedPattern== | ||
+ | Dieser Test schreibt ein langes Muster über 3 l2-Blöcke. Das Muster wiederholt Zeichen von 0 bis 254, ist also kein Vielfaches von 4096, was dazu führt, dass alle Blöcke mit unterschiedlichen Daten gefüllt werden. Außerdem ist dieser Test nicht blockorientiert. | ||
+ | |||
+ | ===Random Test=== | ||
+ | Dieser Test führt wie oben beschrieben zufällig Größenänderungen und Schreibvorgänge durch. Die Wahrscheinlichkeit für eine Größenänderung wird mit dem Macro RND_TRUNCATE_PROBABILITY definiert und ist standardmäßig 5 %. | ||
+ | Ansonsten wird ein Schreibvorgang ausgeführt. Des Weiteren gibt es noch das Macro RND_UNALIGNED_WRITE_PROBABILITY, | ||