URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92119
[ Назад ]

Исходное сообщение
"csync2 не обновляе файлы на удалееном хосте"

Отправлено ghost404 , 17-Авг-11 16:06 
задача:
нужно с помощью программы csync2 настроить синхронизацию некоторых файлов на нескольких серверах(в моем случае 2)

выполнение:
пролистал больше десятка разных статей по установке и визде написано примерно одинаковое
можно даже хабр процитировать
http://habrahabr.ru/blogs/sysadm/120702/

система CentOS
качаю rpm пакет, ставлю
создаю сертификат. создаю ключ
прописываю в конфиге на обоих серверах запись

group test {
   host cl1;
   host cl2;
   key /etc/csync2/csync2.cluster.key;
   include /test;
   auto younger;
}

создаю файл test в корне и выдаю на него права 777 на всякий случай
и дальше выполняю синхронизацию

csync2 -xv

и тут самое интересное
при первом запуске он мне выдает

Marking file as dirty: /test

а дальше вот что о мне выдает

Connecting to host cl2.choco (SSL) ...

вроде как коннект пошел, но результат не последовал
файл не обновился
вот собственно вопрос что с этим делать и в какую сторону копать


Содержание

Сообщения в этом обсуждении
"csync2 не обновляе файлы на удалееном хосте"
Отправлено Zl0 , 17-Авг-11 16:35 
csync очень капризна особенно с именами хостов, в конфиге у вас cl2 ,а соединяетесь с cl2.choco, какой вывод  дает комманда hostname, то и нужно писать в конфиге, сам на эти грабли наступал.

"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 17-Авг-11 17:17 
> csync очень капризна особенно с именами хостов, в конфиге у вас cl2
> ,а соединяетесь с cl2.choco, какой вывод  дает комманда hostname, то
> и нужно писать в конфиге, сам на эти грабли наступал.

ой да это я здесь неправильно написал
хосты называются cl1.choco и cl2.choco


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 17-Авг-11 17:52 
> csync очень капризна особенно с именами хостов, в конфиге у вас cl2
> ,а соединяетесь с cl2.choco, какой вывод  дает комманда hostname, то
> и нужно писать в конфиге, сам на эти грабли наступал.

в фаерволе порт 30865 открыл и с ssh тоже все нормально
и от root спокойно коннекчусь, но csync2 почему-то не работает


"csync2 не обновляе файлы на удалееном хосте"
Отправлено Zl0 , 17-Авг-11 18:52 
>> csync очень капризна особенно с именами хостов, в конфиге у вас cl2
>> ,а соединяетесь с cl2.choco, какой вывод  дает комманда hostname, то
>> и нужно писать в конфиге, сам на эти грабли наступал.
> в фаерволе порт 30865 открыл и с ssh тоже все нормально
> и от root спокойно коннекчусь, но csync2 почему-то не работает

добавте в конфиг logfile посмотрите что происходит.


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 17-Авг-11 19:21 
>>> csync очень капризна особенно с именами хостов, в конфиге у вас cl2
>>> ,а соединяетесь с cl2.choco, какой вывод  дает комманда hostname, то
>>> и нужно писать в конфиге, сам на эти грабли наступал.
>> в фаерволе порт 30865 открыл и с ssh тоже все нормально
>> и от root спокойно коннекчусь, но csync2 почему-то не работает
> добавте в конфиг logfile посмотрите что происходит.

logfile вставляется в блоке action, а если самого действия нет то и лог писаться не будит
на всяк случай проверил. действительно так


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 17-Авг-11 19:28 
>>> csync очень капризна особенно с именами хостов, в конфиге у вас cl2
>>> ,а соединяетесь с cl2.choco, какой вывод  дает комманда hostname, то
>>> и нужно писать в конфиге, сам на эти грабли наступал.
>> в фаерволе порт 30865 открыл и с ssh тоже все нормально
>> и от root спокойно коннекчусь, но csync2 почему-то не работает
> добавте в конфиг logfile посмотрите что происходит.

собственно полный список вызовов
если это что-то даст

My hostname is cl1.choco.
Database-File: /var/lib/csync2/cl1.choco.db
Config-File:   /etc/csync2/csync2.cfg
Running recursive check for / ...
SQL: SELECT filename from file where filename = '/' or 1 ORDER BY filename
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
SQL Query finished.
Checking /* ..
Don't check at all: /var
Don't check at all: /usr
Don't check at all: /tmp
Match (+): /test on /test
Checking /test.
SQL: SELECT checktxt FROM file WHERE filename = '/test'
Trying to fetch a row from the database.
Trying to fetch a row from the database.
SQL Query finished.
Don't check at all: /sys
Don't check at all: /srv
Don't check at all: /selinux
Don't check at all: /sbin
Don't check at all: /root
Don't check at all: /proc
Don't check at all: /oradiag_root
Don't check at all: /opt
Don't check at all: /net
Don't check at all: /mnt
Don't check at all: /misc
Don't check at all: /media
Don't check at all: /lost+found
Don't check at all: /lib64
Don't check at all: /lib
Don't check at all: /home
Don't check at all: /etc
Don't check at all: /dev
Don't check at all: /boot
Don't check at all: /bin
Don't check at all: /.autorelabel
Don't check at all: /.autofsck
SQL: SELECT peername FROM dirty GROUP BY peername ORDER BY random()
Trying to fetch a row from the database.
Trying to fetch a row from the database.
SQL Query finished.
SQL: SELECT filename, myname, force FROM dirty WHERE peername = 'cl2.choco' ORDER by filename ASC
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
Trying to fetch a row from the database.
SQL Query finished.
Connecting to host cl2.choco (SSL) ...
Local> SSL\n
Peer> OK (activating_ssl).\n


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 26-Авг-11 17:53 
> SQL Query finished.
> Connecting to host cl2.choco (SSL) ...
> Local> SSL\n
> Peer> OK (activating_ssl).\n

а проблема так никуда и не делась


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 26-Авг-11 18:09 
>> SQL Query finished.
>> Connecting to host cl2.choco (SSL) ...
>> Local> SSL\n
>> Peer> OK (activating_ssl).\n
> а проблема так никуда и не делась

остается два пути
1. пытаться собрать из исходников, что у меня не очень получается
2. ограничиться rsync


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 26-Авг-11 20:35 
>>> SQL Query finished.
>>> Connecting to host cl2.choco (SSL) ...
>>> Local> SSL\n
>>> Peer> OK (activating_ssl).\n
>> а проблема так никуда и не делась
> остается два пути
> 1. пытаться собрать из исходников, что у меня не очень получается
> 2. ограничиться rsync

сборка из исходников не помогла. тот же эффект
а с rsync я обнаружил проблему
как защитить от одновременного запуска нескольких процессов на одной машине понятно
но как защитить от одновременного запуска процессов на разных машинах непонятно
то есть получается встречная синхронизация которая может привести к серьезным последствиям


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 26-Авг-11 22:44 
>[оверквотинг удален]
>>>> Peer> OK (activating_ssl).\n
>>> а проблема так никуда и не делась
>> остается два пути
>> 1. пытаться собрать из исходников, что у меня не очень получается
>> 2. ограничиться rsync
> сборка из исходников не помогла. тот же эффект
> а с rsync я обнаружил проблему
> как защитить от одновременного запуска нескольких процессов на одной машине понятно
> но как защитить от одновременного запуска процессов на разных машинах непонятно
> то есть получается встречная синхронизация которая может привести к серьезным последствиям

пипец. касинк заработал
теперь осталось понять что я сделал XD


"csync2 не обновляе файлы на удалееном хосте"
Отправлено ghost404 , 17-Авг-11 18:55 
даже больше скажу
при вызове
csync2 -xvvvv

он показывает
...
Connecting to host cl2.choco (SSL) ...
Local> SSL\n
Peer> OK (activating_ssl).\n

на сколько я знаю это значит что все ок
на деле это правда не так