This is an old revision of the document!
nodeN# apt install csync2 node1# csync2 -k /etc/csync2.key node1# scp /etc/csync2.key node2:/etc/
nodeN# cat csync2.cfg
nossl * *;
group corpX
{
        host node1.corpX.un node2.corpX.un;
       
        auto younger;  
         key /etc/csync2.key;
         include /etc/bind/;
        action
        {
                pattern /etc/bind/*;
                exec "service bind9 restart";
                do-local;
                logfile "/var/log/csync2_action.log";
        }
}
root@node1# ssh node2 rm /etc/bind/rndc.key
Направление с любого узла
nodeN# csync2 -xv
nodeN# csync2 -Rvv
node1# csync2 -M node2# rm ...
1. Установить
2. Сгенерировать ключи
# openssl genrsa -out /usr/local/etc/csync2_ssl_key.pem 1024
# openssl req -new -key /usr/local/etc/csync2_ssl_key.pem -out /usr/local/etc/csync2_ssl_cert.csr
# openssl x509 -req -days 600 -in /usr/local/etc/csync2_ssl_cert.csr -singkey /usr/local/etc/csync2_ssl_key.pem -out /usr/local/etc/csync2_ssl_cert.pem
# csync2 -k /usr/local/etc/csync2.cluster.key
3. Скопировать на все узлы. Я копировала все 4 файла.
4. Создать конфиг /usr/local/etc/csync2.cfg:
# Csync2 Example Configuration File
# ---------------------------------
#
# Please read the documentation:
# http://oss.linbit.com/csync2/paper.pdf
 group all
 {
        host gate1.corp9.un gate2.corp9.un;
        key /usr/local/etc/csync2.cluster.key;
        include /usr/local/etc/csync2.cfg;
        include /usr/local/etc/csync2.test;
        include /usr/local/etc/vip-up.sh;
        include /usr/local/etc/vip-down.sh;
        include /usr/local/etc/dhcpd.conf;
        include /usr/local/etc/dhcpd.general;
        include /usr/local/etc/smb.conf;
        include /usr/local/etc/apache22;
        include /usr/local/etc/ha.d;
        include /etc/resolv.conf;
        include /etc/pf.conf;
        include /etc/namedb;
        include /etc/crontab;
#       include %homedir%/bob;
#       exclude %homedir%/bob/temp;
#       exclude *~ .*;
#
        action
        {
                pattern /usr/local/etc/apache22/httpd.conf;
                pattern /usr/local/etc/apache22/extra/*;
                exec "/usr/local/sbin/apachectl graceful";
                logfile "/var/log/csync2_action.log";
                do-local;
        }
#
        action
        {
                pattern /etc/pf.conf;
                exec "/etc/rc.d/pf reload";
                logfile "/var/log/csync2_action.log";
                do-local;
        }
        action
        {
                pattern /usr/local/etc/dhcp.conf;
                pattern /usr/local/etc/dhcp.general;
                exec "/usr/local/etc/rc.d/isc-dhcpd restart";
                logfile "/var/log/csync2_action.log";
                do-local;
        }
        action
        {
                pattern /etc/namedb/*;
                exec "/etc/rc.d/named restart";
                logfile "/var/log/csync2_action.log";
                do-local;
        }
        action
        {
                pattern /usr/local/etc/smb.conf;
                exec "/usr/local/etc/rc.d/samba restart";
                logfile "/var/log/csync2_action.log";
                do-local;
        }
#       backup-directory /var/backups/csync2;
#       backup-generations 3;
#
        auto younger;
 }
#
# prefix homedir
# {
#       on host[12]: /export/users;
#       on *:        /home;
# }
5. В rc.conf добавить:
csync2_enable=yes
6. Запустить
# /usr/local/etc/rc.d/csync2 start
7. Запустить вручную синхронизацию:
 # csync2 -xv
ПРИМЕЧАНИЕ!
При параметре auto younger в конфигурационном файле, необходимо учитывать, что при синхронизации приоритет имеет более "молодой" файл. При запуске команды csync2 -xvv будут появляться ошибки. Сменить приоритет можно следующей командой:
# csync2 -f /путь/имя_файла
После запуска этой команды ошибки исчезнут и синхронизация пройдет успешно.
Также надо учитывать, что при изменении хостов в конфигурационном файле, надо удалять файл базы данных csync2, находящийся здесь:
/var/db/csync2/gate1.corp9.un.db.
Возможно это можно сделать и другим путем...
С уважением,
Анна.