Installation eines Web, E-Mail & MySQL Datenbank Clusters unter Debian 6.0 mit ISPConfig 3 - Seite 4

Als nächstes installieren Sie Unison. Unison wird benutzt, um die /var/www und /var/vmail Verzeichnisse zwischen Master und Slave zu synchronisieren:

apt-get install unison

Installieren Sie nun eine Unison Konfigurationsdatei auf dem ersten Server.

Auf Server 1:

Erstellen Sie die neue Datei /root/.unison/default.prf auf server1...

mkdir /root/.unison
vi /root/.unison/default.prf

... und fügen Sie dieser folgenden Inhalt hinzu:
# Roots of the synchronization
root = /var root = ssh:// # Paths to synchronize path = www path = vmail # Some regexps specifying names and paths to ignore #ignore = Path stats ## ignores /var/www/stats #ignore = Path stats/* ## ignores /var/www/stats/* #ignore = Path */stats ## ignores /var/www/somedir/stats, but not /var/www/a/b/c/stats #ignore = Name *stats ## ignores all files/directories that end with "stats" #ignore = Name stats* ## ignores all files/directories that begin with "stats" #ignore = Name *.tmp ## ignores all files with the extension .tmp # When set to true, this flag causes the user interface to skip # asking for confirmations on non-conflicting changes. (More # precisely, when the user interface is done setting the # propagation direction for one entry and is about to move to the # next, it will skip over all non-conflicting entries and go # directly to the next conflict.) auto=true # When this is set to true, the user interface will ask no # questions at all. Non-conflicting changes will be propagated; # conflicts will be skipped. batch=true # !When this is set to true, Unison will request an extra # confirmation if it appears that the entire replica has been # deleted, before propagating the change. If the batch flag is # also set, synchronization will be aborted. When the path # preference is used, the same confirmation will be requested for # top-level paths. (At the moment, this flag only affects the # text user interface.) See also the mountpoint preference. confirmbigdel=true # When this preference is set to true, Unison will use the # modification time and length of a file as a `pseudo inode # number' when scanning replicas for updates, instead of reading # the full contents of every file. Under Windows, this may cause # Unison to miss propagating an update if the modification time # and length of the file are both unchanged by the update. # However, Unison will never overwrite such an update with a # change from the other replica, since it always does a safe # check for updates just before propagating a change. Thus, it is # reasonable to use this switch under Windows most of the time # and occasionally run Unison once with fastcheck set to false, # if you are worried that Unison may have overlooked an update. # The default value of the preference is auto, which causes # Unison to use fast checking on Unix replicas (where it is safe) # and slow checking on Windows replicas. For backward # compatibility, yes, no, and default can be used in place of # true, false, and auto. See the section "Fast Checking" for more # information. fastcheck=true # When this flag is set to true, the group attributes of the # files are synchronized. Whether the group names or the group # identifiers are synchronizeddepends on the preference numerids. group=true # When this flag is set to true, the owner attributes of the # files are synchronized. Whether the owner names or the owner # identifiers are synchronizeddepends on the preference # extttnumerids. owner=true # Including the preference -prefer root causes Unison always to # resolve conflicts in favor of root, rather than asking for # guidance from the user. (The syntax of root is the same as for # the root preference, plus the special values newer and older.) # This preference is overridden by the preferpartial preference. # This preference should be used only if you are sure you know # what you are doing! prefer=newer # When this preference is set to true, the textual user interface # will print nothing at all, except in the case of errors. # Setting silent to true automatically sets the batch preference # to true. silent=true # When this flag is set to true, file modification times (but not # directory modtimes) are propagated. times=true
Wir wollen die Synchronisation automatisieren, deshalb erstellen wir einen Cron Job dafür auf server1.example.tld:

crontab -e

*/5 * * * * /usr/bin/unison &> /dev/null

1 Kommentar(e)

Zum Posten von Kommentaren bitte


Von: g0rbi

Das HowTo ist wirklich klasse. Ich habe das Ding für 3 Server mit MySQL-Circle-Replication durchgespielt und bin fast zufrieden.
Was aber, wenn der Master-Server ausfällt? Fängt ISPconfig das ab? Meiner Meinung nach würde der Einsatz von virtuellen Adressen / DNS Einträgen zusammen mit Heartbeat oder Pacemaker erst vollends Sinn ergeben.
Das wre eine prima Erweiterung um dieses Tutorial abzurunden.