This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
пакет_csync2 [2019/01/30 08:19] val [Ubuntu/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]] | ||
===== Установка ===== | ===== Установка ===== | ||
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> | ||
- | ===== Синхронизация ===== | + | ===== Отладка ===== |
- | ==== Debian/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 |
ПРИМЕЧАНИЕ! | ПРИМЕЧАНИЕ! |