Csync2 : synchronisation de fichiers pour cluster

Boris HUISGEN
|
Csync2 is a cluster synchronization tool. It can be used to keep files on multiple hosts in a cluster in sync. Csync2 can handle complex setups with much more than just 2 hosts, handle file deletions and can detect conflicts. It is expedient for HA-clusters, HPC-clusters, COWs and server farms.
Installation
root@node1:~# apt-get install csync2
root@node1:~# openssl genrsa -out csync2_ssl_key.pem 2048
root@node1:~# openssl req -new -x509 -days 365 -key csync2_ssl_key.pem -out csync2_ssl_cert.pem
root@node2:~# apt-get install csync2
root@node2:~# openssl genrsa -out csync2_ssl_key.pem 2048
root@node2:~# openssl req -new -x509 -days 365 -key csync2_ssl_key.pem -out csync2_ssl_cert.pem
root@node3:~# apt-get install csync2
root@node3:~# openssl genrsa -out csync2_ssl_key.pem 2048
root@node3:~# openssl req -new -x509 -days 365 -key csync2_ssl_key.pem -out csync2_ssl_cert.pem
Configuration
root@node1:~# more /etc/csync2.cfg
#nossl * *;
group web
{
host node1;
host node2;
host node3;
key /etc/csync2_web.key;
include /etc/csync2.cfg;
include /etc/nginx/sites-enabled/;
include %wwwdir%;
exclude %wwwdir%/.*/awstats/.*;
exclude %wwwdir%/.*/logs/.*;
exclude %wwwdir%/.*/tmp/.*;
action
{
pattern /etc/nginx/sites-enabled/*;
exec "/etc/init.d/nginx reload";
logfile "/var/log/csync2/action.log";
do-local;
}
#backup-directory /var/backups/csync2;
#backup-generations 2;
auto first;
}
prefix wwwdir
{
on node1: /var/www;
on node2: /var/www;
on node3: /home/www;
}
root@node1:~# csync2 -k /etc/csync2_web.key
root@node1:~# scp /etc/csync2.cfg /etc/csync2_web.key node2:/etc node3:/etc
Lancement de la synchronisation
root@node1:~# csync2 -rxv
root@node1:~# csync2 -xv