4.13. Speicherverteilung über den Storage Balancer

Das intranda TaskManager Storage Balancer Plugin kann dazu verwendet werden, die Daten von Goobi auf verschiedene Netzwerk-Shares zu verteilen. Das Plugin wird dazu in einem automatischen Schritt in Goobi eingebunden und ist üblicherweise am Ende eines Workflows eingeordnet. Das Storage Balancer Plugin bekommt von Goobi aus einen Ordner übergeben, der dann auf den kleinsten passenden Storage aus einer konfigurierbaren Liste kopiert wird.

Die Arbeitsweise des Plugins verläuft so, dass die Daten des Goobi-Vorgangs auf ein Netzlaufwerk kopiert werden, das zuvor automatisch vom Plugin aus einer konfigurierten Liste ausgewählte wurde. Bestehen die kopierten Daten einen Vergleich der Prüfsummen mit den Originaldaten, werden anschließend die Originaldaten gelöscht und ein symbolischer Link angelegt, der vom originalen Goobi-Verzeichnis auf das Verzeichnis der Kopien verweist.

Aufruf des Plugins

Ein Beispiel-Aufruf des TaskClients lautet folgendermaßen:

/usr/bin/java -jar /opt/digiverso/itm/bin/TaskClient.jar
-itm http://localhost:8080/itm/service
-s {processpath}
-d dest
-e
-i {stepid}
-T {processtitle}
-t STORAGEBALANCER
-n template
-gid {processid}

Parameter

Die innerhalb dieses Aufrufs zu übergebenen Parameter haben folgende Bedeutungen:

Parameter

Mögliche Goobi Variable

Bedeutung

-itm

http://localhost/itm/service

URL zur Schnittstelle des intranda TaskManagers

-e --returnError

-

Wenn angegeben, beendet sich der TaskClient mit einem Fehlercode, um das automatische Fortschreiten im Workflow zu unterbinden

-p

0 – 10

Priorität zur Verarbeitung dieses Jobs

-gid

{processid}

ID des Goobi-Vorgangs

-i

{stepid}

Die ID des Arbeitsschrittes, der den Aufruf startet

-T, --title

{processtitle}

Der Vorgangstitel in Goobi, für den der Aufruf gestartet wird

-t, --jobtype

STORAGEBALANCER

Der Typ des Jobs

-n, --templatename

-

Dieser Parameter wird vom Plugin nicht verwendet.

-s, --source

{processpath}

Der Pfad des Vorgangs im Dateisystem

-d, --destination

-

Dieser Parameter wird vom Plugin nicht verwendet, da das Ziel automatisch aus einer Liste von Storages bestimmt wird.

Konfiguration des Plugins

Die Konfiguration der Storage-Mountpoints erfolgt in der folgenden Datei:

/opt/digiverso/itm/plugins/config/storagebalancerconfig.xml

Der Inhalt dieser Konfiguration kann beispielhaft wie folgt aufgebaut sein:

<storages>
<storage>
<path>/mnt/storage1</path>
<buffer>10G</buffer>
</storage>
<storage>
<path>/mnt/storage2</path>
<buffer>20M</buffer>
</storage>
<storage>
<path>/mnt/storage3</path>
<buffer>50G</buffer>
</storage>
</storages>

Das <buffer> Element kann innerhalb der Konfiguration entweder auf M oder auf G enden. Es wird dann entweder in MB oder in GB umgerechnet. Der hierbei konfigurierte Wert wird im Betrieb des Storage Balancers dafür verwendet, einen Speicherbereich in der konfigurierten Höhe nicht mit Daten zu beschreiben.

Sollen weitere Speicherbereiche innerhalb der Konfiguration ergänzt werden, können diese auch im laufenden Betrieb hinzugefügt werden.