next up previous contents
Nächste Seite: Spezielle Dateien von storeBackup Aufwärts: Replikation von Backups Vorherige Seite: Wie storeBackups Replikation funktioniert   Inhalt


Verwendung von Wildcards für die Replikation

Falls Du Wildcards für die Konfiguration der Replikation verwenden willst, solltest Du deren zugrundeliegenden Prinzipien verstanden haben, bevor Du mit diesem Kapitel fortfährst.

Konfiguration der Hardlink Option otherBackupSeries mittels Wildcards

Um die Ergebnisse der Verwendung von Wildcards einfach und transparent darzustellen, schreibt storeBackup.pl die Ergebnisse der Wildcard-Expansion in die Log-Dateien.

Stell dir vor, Du willst alle Serien, die im zweiten Schritt repliziert werden sollen per Hard Link verknüpfen. Um dieses einfach konfigurieren zu können, sollen alle Serien außer die, deren Name mit .norepl endet, repliziert werden. Ich nehme dabei an, dass der Name jeder Serie dem Namen des Servers entspricht (hier: server1 und server2). Die Namen der Serien sind daher einfach server1 und server2, die Namen der Serien, die nicht repliziert werden sollen sind server1.norepl und server2.norepl. Du willst, dass alle Serien miteinander verlinkt werden, aber natürlich nicht, dass eine zu replizierende Serie in eine nicht zu replizierende Serie verlinkt wird. Das würde in der Replikation zu einer Fehlermeldung führen. Du kannst für den beschriebenen Anwendungsfall die folgende Konfiguration in den Konfigurationsdateien verwenden:

für server1 $\rightarrow$ otherBackupSeries = 0:$*$ -:$*$.norepl
für server2 $\rightarrow$ otherBackupSeries = 0:$*$ -:$*$.norepl

für server1.norepl $\rightarrow$ otherBackupSeries = 0:$*$
für server2.norepl $\rightarrow$ otherBackupSeries = 0:$*$

Alternativ kannst du die folgende Syntax verwenden:

für server1 $\rightarrow$ otherBackupSeries = +0:$*$ -:$*$.norepl
für server2 $\rightarrow$ otherBackupSeries = +0:$*$ -:$*$.norepl

für server1.norepl $\rightarrow$ otherBackupSeries = +0:$*$
für server2.norepl $\rightarrow$ otherBackupSeries = +0:$*$

Das „+`` Zeichen ist optional. Du kannst Plus und Minus Zeichen auch ohne Wildcards verwenden, aber insbesondere das Minus Zeichen macht dann nicht viel Sinn.56

Starten von storeBackup.pl (hier wird beispielhaft die Kommandozeile verwendet) ergibt die folgenden Log-Meldungen:57

$ storeBackup.pl -s s -b b -S server1 '0:*' -- '-:*.norepl'
....
INFO      2014.02.22 10:02:20  6822 consider series <*>:
INFO      2014.02.22 10:02:20  6822     consider series <server1>
INFO      2014.02.22 10:02:20  6822     consider series <server1.norepl>
INFO      2014.02.22 10:02:20  6822     consider series <server2>
INFO      2014.02.22 10:02:20  6822     consider series <server2.norepl>
INFO      2014.02.22 10:02:20  6822 avoid series <*.norepl>:
INFO      2014.02.22 10:02:20  6822     avoid series <server1.norepl>
INFO      2014.02.22 10:02:20  6822     avoid series <server2.norepl>
INFO      2014.02.22 10:02:20  6822 resulting series to hard link
INFO      2014.02.22 10:02:20  6822     series <server1>
INFO      2014.02.22 10:02:20  6822     series <server2>
....

Der einzige Unterschied zwischen der Konfiguration (siehe z.B. server1 und server1.norepl) der beiden unterschiedlichen Fälle ist „-:$*$.norepl``. Wenn Du die Konfigurationsdateien generieren willst, musst Du zwischen den Serien, die repliziert werden sollen und denen, die nicht replziert werden sollen, unterscheiden. Aber wenn die Konfigurationsdateien erzeugt werden, muss Du wissen, wozu sind da sind - demzufolge sollte das kein Problem sein. Der Vorteil der Verwendung von Wildcards ist die Möglichkeit, Serien zu gruppieren ohne die Namen der Serien jedesmal bei einer Ergänzung wissen (und komplettieren) zu müssen.

Natürlich kannst Du durch sinnvolle Namensgebung auch mehr als zwei unterschiedliche Gruppen von Serien bilden. Dies ist nur ein einfaches Beispiel, um das Prinzip zu erläutern.

Konfigurierung der Replikationsoptionen seriesToDistribute und backupCopy$*$ mittels Wildcards

Wenn Du die Replikation von Backup Serien dynamisch angepasst konfigurieren willst (und eventuell andere Serien davon ausnehmen willst), kannst Du für die Konfiguration der Replikationen Wildcards verwenden. Im Beispiel werden die folgenden Verzeichnisse in /tmp zur Erläuterung der Verwendung von Wildcards verwendet:

/tmp/a/b
Master Backup Directory
/tmp/a/d
Delta Cache Directory
/tmp/a/c
Replikations ``copy'' Directory
Zuerst musst Du einige Backup-Serien-Verzeichnisse erzeugen und die Konfigurationsdateien für die Replikation erzeugen:

$ cd /tmp/a
$ mkdir server1 server1.norepl server2 server2.norepl
$ storeBackupReplicationWizard.pl -m b -c c -d d -S server1

Im nächsten Schritt so konfigurieren, dass das aufgelistete Resultat erreicht wird:

$ grep -vP '\A\s*\Z|\A[#;]' b/storeBackupBaseTree.conf 
backupTreeName='Master Backup'
backupType=master
seriesToDistribute= +* -*.norepl
deltaCache=/tmp/a/d

$ grep -vP '\A\s*\Z|\A[#;]' d/deltaCache.conf 
backupCopy0='Backup Copy' +*

$ grep -vP '\A\s*\Z|\A[#;]' c/storeBackupBaseTree.conf 
backupTreeName='Backup Copy'
backupType=copy
seriesToDistribute= +*
deltaCache=/tmp/a/d

Wichtig: Erinnere Dich daran, dass Du Backups mit Replikation mit storeBackup.pl mit der Option lateLinks durchführen musst!

Wie Du feststellen kannst, ist die Syntax sehr ähnlich zu der bei otherBackupSeries. Anstelle von „+$*$`` kannst Du auch „$*$`` schreiben.

Die Konfiguration oben bewirkt eventuell die folgende Fehlermeldung wenn das Replikationsprogramm für das Replikationsverzeichnis aufgerufen wird:

$ storeBackupUpdateBackup.pl -b c
....
ERROR     2014.02.22 11:59:48 10007 c/storeBackupBaseTree.conf series <server1> missing in <Backup Copy>, defined in /tmp/a/d/deltaCache.conf
ERROR     2014.02.22 11:59:48 10007 use option --createNewSeries if you want missing series to be created automatically
....

Die einzige Möglichkeit für storeBackup, den deltaCache mit dem Replikationskopie-Verzeichnis zu vergleichen, ist, die Wildcards zu expandieren. Aber wenn die Replikation für eine neue Serie das erste Mal läuft, existiert diese Serie natürlich noch nicht im Replikationsverzeichnis. Du kannst es manuell mit mkdir anlegen (was Du wahrscheinlich nicht willst), oder das tun, was storeBackupUpdateBackup.pl Dir vorschlägt - die neue Serie automatisch erzeugen:

$ storeBackupUpdateBackup.pl -b c --createNewSeries


next up previous contents
Nächste Seite: Spezielle Dateien von storeBackup Aufwärts: Replikation von Backups Vorherige Seite: Wie storeBackups Replikation funktioniert   Inhalt
Heinz-Josef Claes 2014-04-20