This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
пакет_csync2 [2016/04/21 12:04] val [FreeBSD] |
пакет_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]] | ||
| ===== Установка ===== | ===== Установка ===== | ||
| - | ==== Ubuntu ==== | + | ==== Debian/Ubuntu ==== |
| <code> | <code> | ||
| - | root@nodeN# apt-get 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:~] # rehash | + | |
| - | + | ||
| - | [nodeN:~] # cat /etc/rc.conf | + | |
| - | </code><code> | + | |
| - | ... | + | |
| - | csync2_enable=yes | + | |
| - | ifconfig_em0_ipv6="fe80::N" | + | |
| - | </code><code> | + | |
| - | [nodeN:~] # cat /etc/hosts | + | |
| - | </code><code> | + | |
| - | ... | + | |
| - | fe80::1%em0 node1.corpX.un node1 | + | |
| - | fe80::2%em0 node2.corpX.un node2 | + | |
| - | 192.168.X.1 node1.corpX.un node1 | + | |
| - | 192.168.X.2 node2.corpX.un node2 | + | |
| - | ... | + | |
| - | </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> | ||
| ===== Настройка ===== | ===== Настройка ===== | ||
| - | ==== 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 61: | Line 30: | ||
| auto younger; | auto younger; | ||
| - | ##### 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 | ||
| { | { | ||
| - | ##### 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 85: | 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 223: | Line 186: | ||
| 7. Запустить вручную синхронизацию: | 7. Запустить вручную синхронизацию: | ||
| - | # csync2 -xvv | + | # csync2 -xv |
| ПРИМЕЧАНИЕ! | ПРИМЕЧАНИЕ! | ||