Назад | Перейти на главную страницу

csync2 ОШИБКА: не удалось подключиться к удаленному хосту.

Мне не удалось найти никаких статей, чтобы ответить на этот вопрос, поэтому лучше всего было разместить это здесь:

Сценарий У нас есть 2 сервера приложений на производстве, на которых размещен веб-сайт PHP, и я хотел бы, чтобы некоторые папки были синхронизированы между двумя, то же самое было настроено для среды разработки без проблем, я выполнил все инструкции из URL-адреса "http://www.cloudedify.com/synchronising-files-in-cloud-with-csync2/", У меня все еще такой же результат, брандмауэр был отключен на обоих компьютерах в целях устранения неполадок:

Файлы конфигурации: cysnc2.cfg

nossl * *;

group production {
   host server1;
   host server2;

   key /etc/csync-production-group.key;

 include /etc/httpd/sites-available;
 include /xxxxxx/public_html/files

 include /xxxxxxx/magento/media/catalog/product
 include /xxxxxxx/magento/media/brands

   exclude *.log;
   exclude /xxxx/public_html/file/cache;
   exclude /xxxxx/public_html/magento/var/cache;
   exclude /xxxx/public_html/logs;
   exclude /xxxxx/public_html/magento/var/log;

   backup-directory /data/sync-conflicts/;
   backup-generations 2;

   auto younger;
}

/etc/xinetd.d/csync2 csync2.cfg

service csync2
{
   disable         = no
   flags           = REUSE
   socket_type     = stream
   wait            = no
   user            = root
   group           = root
   server          = /usr/sbin/csync2
   server_args     = -i -D /data/sync-db/
   port            = 30865
   type            = UNLISTED
   log_type        = FILE /data/logs/csync2/csync2-xinetd.log
   log_on_failure  += USERID
}

Я убедился, что демон прослушивает оба сервера на порту 30865 и ключи совпадают на обоих серверах.

Я запустил tcpdump на каждом сервере и получил следующий результат:

12:20:31.366771 IP server1.49919 > server2.csync2: Flags [S], seq 445156159, win 14600, options [mss 1460,sackOK,TS val 794864936 ecr 0,nop,wscale 7], length 0
12:20:31.366810 IP server2.csync2 > server1.49919: Flags [S.], seq 450593575, ack 445156160, win 14480, options [mss 1460,sackOK,TS val 794798911 ecr 794864936,nop,wscale 7], length 0
12:20:31.367101 IP server1.49919 > server2.csync2: Flags [.], ack 1, win 115, options [nop,nop,TS val 794864937 ecr 794798911], length 0
12:20:31.367138 IP server1.49919 > server2.csync2: Flags [P.], seq 1:9, ack 1, win 115, options [nop,nop,TS val 794864937 ecr 794798911], length 8
12:20:31.367147 IP server2.csync2 > server1.49919: Flags [.], ack 9, win 114, options [nop,nop,TS val 794798912 ecr 794864937], length 0
12:20:31.368625 IP server2.csync2 > server1.49919: Flags [R.], seq 1, ack 9, win 114, options [nop,nop,TS val 794798913 ecr 794864937], length 0

Что еще мне не хватает или что я должен делать?

Мне пришлось удалить запись 127.0.0.1 для хоста -N, который я предоставил csync2. Запись 127.0.0.1 для "app1" вынуждала клиента csync2 подключаться к 127.0.0.1 вместо использования внутренней сети.

И наоборот, с демоном я использую оболочку вместо прямого вызова csync2, чтобы обеспечить предпочтение моего имени хоста -N.

#!/bin/sh
# cluster-csync2.sh
CSYNC2_SYSTEM_DIR=/etc /opt/cluster/bin/csync2 -i -D /var/lib/csync2 -N `hostname -s`

Моя запись в /etc/inetd.conf (порт определен в / etc / services):

csync2      stream  tcp nowait  root    /opt/cluster/bin/cluster-csync2.sh  cluster-csync2.sh