Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 FB4Beta1 Asynchronous replication  [new]
dedRasta
Member

Откуда:
Сообщений: 129
Test setup:

replication.conf на мастере:
# (for the origin side)
database = d:\baza4\test.fdb
{
# (for asynchronous replication)
log_directory = d:\baza4\RepLog
log_archive_directory = f:\ArchLog
log_archive_timeout = 60
# log_archive_command = "copy $(logpathname) $(archpathname)"

}

Здесь f: - расшаренная папка f:\idk на машинке с репликой.

На реплике:
# (for the replica side)
database = e:\baza4\test_rep.fdb
{
apply_idle_timeout = 60
apply_error_timeout = 300
log_source_directory = f:\idk\ArchLog
# source_guid = {624A5D6C-8A9C-4B6D-82B3-93F5C32EAC0D}
}



RN
Archiving consists of copying the segment
in preparation for transferring it to the replica host and applying it there. Copying can be done by the Firebird
server itself or, alternatively, by a user-specified custom command.


Как я понял, если не задан штучный механизм копирования сегментов на сторону реплики,
Firebird должен сам этим озаботится. Но у него не получается:

firebird.log на мастере
WSSP670 Wed Apr 3 11:26:13 2019
Database: d:\Baza4\test.FDB
Replication is stopped due to critical error(s)
Replication error
I/O error during "open" operation for file "d:\baza4\RepLog\TEST.FDB.chlog-000000001"
Error while trying to open file


Если задаю штучную команду копирования файла

log_archive_command = "copy $(logpathname) $(archpathname)"

то получаю:

replication.log на мастере после коммита

WSSP670 (origin) Wed Apr 3 14:13:57 2019
Database: d:\Baza4\test.FDB
ERROR: Unexpected result (1) while executing log archive command: copy d:\baza4\RepLog\TEST.FDB.chlog-000000001 f:\ArchLog\TEST.FDB.chlog-000000001


Выполняю эту команду из командной строки:

copy d:\baza4\RepLog\TEST.FDB.chlog-000000001 f:\ArchLog\TEST.FDB.chlog-000000001

Получаю:

Скопировано файлов: 1.


После этого файлы исчезают и репликация завершается.


В replication.conf написано:

# This program MUST return zero ONLY if archiving has been performed successfully.
# In particular, it MUST return non-zero if the target archive already exists.


Но как это сделать в данном случае - не понял.
3 апр 19, 14:56    [21851371]     Ответить | Цитировать Сообщить модератору
 Re: FB4Beta1 Asynchronous replication  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
dedRasta,

сервис Firebird твою шару не видит скорее всего. В винде вообще с сетевыми дисками проблемы для процессов работающих сервисами
3 апр 19, 15:06    [21851381]     Ответить | Цитировать Сообщить модератору
 Re: FB4Beta1 Asynchronous replication  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 6847
если сервис работает от LocalSystem, то к шарам он доступа в принципе не имеет. Если от конкретного юзера, то надо ему давать соответствующие права. ФБ тут не причем, это виндовые правила игры.
3 апр 19, 15:32    [21851415]     Ответить | Цитировать Сообщить модератору
 Re: FB4Beta1 Asynchronous replication  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
dedRasta,

Подключение сетевого диска для службы
3 апр 19, 15:35    [21851421]     Ответить | Цитировать Сообщить модератору
 Re: FB4Beta1 Asynchronous replication  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9073
dedRasta
Здесь f: - расшаренная папка f:\idk на машинке с репликой.
Дальше можно не продолжать.
1. Требуется специальная настройка, чтобы сервис получил доступ к сетевому ресурсу.
Самый простой, но не всегда работающий вариант - использовать "сетевую службу". Она же "network service", она же "NT Authority\NetworkService"

2. Некому монтировать сетевые ресурсы на буквы дисков, поэтому только UNC-пути.
3 апр 19, 18:57    [21851639]     Ответить | Цитировать Сообщить модератору
 Re: FB4Beta1 Asynchronous replication  [new]
dedRasta
Member

Откуда:
Сообщений: 129
Большое спасибо!
UIN для шары и запуск сервиса Firebird от имени конкретного пользователя с допуском к шаре сделали это!
replication.conf для мастера
# Database-specific settings belong here, e.g.
########################
# (for the origin side)#
########################
database = d:\baza4\test.fdb
{
#################################
# (for asynchronous replication)#
#################################
log_directory = d:\baza4\RepLog
log_archive_directory = \\wssp675\IDK\ArchLog
log_archive_timeout = 60
log_archive_command = "copy $(logpathname) $(archpathname)"
}

replication.log для реплики
+
WSSP675 (replica) Thu Apr 4 09:54:40 2019
Database: E:\BAZA4\TEST_REP.FDB
VERBOSE: Scanning directory (f:\idk\ArchLog\)

WSSP675 (replica) Thu Apr 4 09:54:40 2019
Database: E:\BAZA4\TEST_REP.FDB
VERBOSE: Added 1 segments to the processing queue

WSSP675 (replica) Thu Apr 4 09:54:40 2019
Database: E:\BAZA4\TEST_REP.FDB
VERBOSE: Connecting to database (E:\BAZA4\TEST_REP.FDB)

WSSP675 (replica) Thu Apr 4 09:54:40 2019
Database: E:\BAZA4\TEST_REP.FDB
VERBOSE: Replicating file (f:\idk\ArchLog\TEST.FDB.chlog-000000001), segment 1

WSSP675 (replica) Thu Apr 4 09:54:41 2019
Database: E:\BAZA4\TEST_REP.FDB
VERBOSE: Successfully replicated 1431265 bytes in segment 1

WSSP675 (replica) Thu Apr 4 09:54:41 2019
Database: E:\BAZA4\TEST_REP.FDB
VERBOSE: Last segment:offset 1:0, oldest segment 0

WSSP675 (replica) Thu Apr 4 09:54:41 2019
Database: E:\BAZA4\TEST_REP.FDB
VERBOSE: Deleting file (f:\idk\ArchLog\TEST.FDB.chlog-000000001) as already replicated
4 апр 19, 10:28    [21852182]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить