This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    пакет_csync2 [2017/10/09 13:52] val  | 
                
                    пакет_csync2 [2024/06/04 13:27] (current) val [Debian/Ubuntu]  | 
            ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Пакет CSYNC2 ====== | ====== Пакет CSYNC2 ====== | ||
| - | * [[http://habrahabr.ru/tag/csync2/|csync2 или как облегчить работу с кластером]] | + | * [[https://habr.com/ru/post/120702/|csync2 или как облегчить работу с кластером]] | 
| + | * [[https://github.com/LINBIT/csync2/blob/master/doc/csync2.adoc|Cluster synchronization with Csync2]] | ||
| ===== Установка ===== | ===== Установка ===== | ||
| Line 7: | Line 8: | ||
| ==== Debian/Ubuntu ==== | ==== Debian/Ubuntu ==== | ||
| <code> | <code> | ||
| - | root@nodeN# apt install csync2 | + | nodeN# apt install csync2 | 
| - | root@node1# csync2 -k /etc/csync2.key | + | node1# csync2 -k /etc/csync2.key | 
| - | или ждем 5-7 минут, размер ключа должен стать не менее 40 байт, потом <Ctrl-C> или, можно не ждать: | + | |
| - | root@node1# echo dfdDDSddsfdfdsaf434365437bfdfbdfBVDF4asdag35654GDFbfbdfgSDvsdvsgbdfbdfb657hdfh > /etc/csync2.key | + | node1# scp /etc/csync2.key node2:/etc/ | 
| - | + | ||
| - | root@node1# scp /etc/csync2.key node2:/etc/ | + | |
| - | + | ||
| - | root@node1# cd /etc | + | |
| - | </code> | + | |
| - | ==== FreeBSD ==== | + | |
| - | <code> | + | |
| - | [nodeN:~] # pkg install csync2 | + | |
| - | + | ||
| - | [nodeN:~] # cat /etc/rc.conf | + | |
| - | </code><code> | + | |
| - | ... | + | |
| - | csync2_enable=yes | + | |
| - | </code><code> | + | |
| - | [node1:~] # csync2 -k /usr/local/etc/csync2.key | + | |
| - | + | ||
| - | [node1:~] # scp /usr/local/etc/csync2.key node2:/usr/local/etc/ | + | |
| - | + | ||
| - | [node1:~] # cd /usr/local/etc/ | + | |
| </code> | </code> | ||
| ===== Настройка ===== | ===== Настройка ===== | ||
| - | ==== Debian/Ubuntu/FreeBSD ==== | + | ==== Debian/Ubuntu==== | 
| <code> | <code> | ||
| - | nodeN# cat csync2.cfg | + | nodeN# cat /etc/csync2.cfg | 
| </code><code> | </code><code> | ||
| nossl * *; | nossl * *; | ||
| - | group corpX | + | #group corpX | 
| + | group dns | ||
| { | { | ||
| host node1.corpX.un node2.corpX.un; | host node1.corpX.un node2.corpX.un; | ||
| Line 48: | Line 30: | ||
| auto younger;  | auto younger;  | ||
| - | ##### Debian/Ubuntu | + | key /etc/csync2.key; | 
| - | # key /etc/csync2.key; | + | include /etc/bind/; | 
| - | # include /etc/bind/; | + | |
| - | + | ||
| - | ##### FreeBSD | + | |
| - | # key /usr/local/etc/csync2.key; | + | |
| - | # include /usr/local/etc/namedb/named.conf; | + | |
| - | # include /usr/local/etc/namedb/master/; | + | |
| action | action | ||
| { | { | ||
| - | ##### Debian/Ubuntu | + | pattern /etc/bind/*; | 
| - | # pattern /etc/bind/*; | + | exec "service bind9 restart"; | 
| - | # exec "service bind9 restart"; | + | |
| - | + | ||
| - | ##### FreeBSD | + | |
| - | # pattern /usr/local/etc/namedb/master/*; | + | |
| - | # exec "service named restart"; | + | |
| do-local; | do-local; | ||
| Line 72: | Line 43: | ||
| } | } | ||
| </code> | </code> | ||
| - | * В linux удаляем различные на узлах файлы ключей | + | * Удаляем различные на узлах файлы ключей утилиты rndc | 
| <code> | <code> | ||
| root@node1# ssh node2 rm /etc/bind/rndc.key | root@node1# ssh node2 rm /etc/bind/rndc.key | ||
| + | |||
| + | еще лучше:) | ||
| + | root@node1# ssn2 rm -r /etc/bind | ||
| </code> | </code> | ||
| - | ===== Запуск ===== | + | ===== Синхронизация ===== | 
| + | |||
| + | ==== Debian/Ubuntu==== | ||
| - | ==== FreeBSD ==== | + | Направление с узла, на котором были изменения | 
| <code> | <code> | ||
| - | [nodeN:~] # service csync2 start | + | nodeM# csync2 -xv | 
| </code> | </code> | ||
| - | ===== Синхронизация ===== | + | ===== Отладка ===== | 
| - | ==== Ubuntu/FreeBSD ==== | + | ==== Переинициализировать базу данных после изменения csync2.cfg ==== | 
| - | Направление с любого узла | ||
| <code> | <code> | ||
| - | nodeN# csync2 -xvv | + | nodeN# csync2 -Rvv | 
| </code> | </code> | ||
| - | ===== Отладка ===== | + | ==== Do not auto-resolve conflict: Lost 'younger/older' test ==== | 
| + | <code> | ||
| + | node1# csync2 -M | ||
| - | Переинициализировать базу данных после изменения csync2.cfg | + | node2# rm ... | 
| - | ==== Ubuntu/FreeBSD ==== | + | В крайнем случае: | 
| - | <code> | + | # rm /var/lib/csync2/node1.corpX.un.db3 | 
| - | nodeN# csync2 -Rvv | + | |
| </code> | </code> | ||
| Line 210: | Line 186: | ||
| 7. Запустить вручную синхронизацию: | 7. Запустить вручную синхронизацию: | ||
| - | # csync2 -xvv | + | # csync2 -xv | 
| ПРИМЕЧАНИЕ! | ПРИМЕЧАНИЕ! | ||