Сервер: Перенос данных прибора на другой сервер
Материал из ЛОКАРУС
(Различия между версиями)
Eugene (обсуждение | вклад) (Новая страница: «Для того чтобы перенести данные с одного locarus-server на другой нужно воспользоваться трансл…») |
Yura (обсуждение | вклад) |
||
(не показаны 8 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | Для того чтобы перенести данные с одного locarus-server на другой нужно воспользоваться транслятором RawMirror. | + | Для того чтобы перенести данные с одного locarus-server на другой нужно воспользоваться транслятором '''RawMirror'''. |
Алгоритм: | Алгоритм: | ||
− | 1 | + | 1. Создать прибор на сервере 2, Включить драйвер и обратить внимание на флаг оптимизации. Должен совпадать со значением на сервере 1 (Не очень важно). |
− | + | 1.1. Прибор не должен быть выключен (иметь флаг Disabled). | |
− | 3 | + | 2. Проверить что порты ServerControl совпадают, по умолчанию 1333. |
− | 4 | + | 3. Добавить в '''TRUST''' (Настройки -> Обмен данными) сервера 2 адрес сервера 1, или сделать ALL. |
− | 5 | + | 4. Параметр '''MIRROR_DEPTH''' (Настройки -> Обмен данными). |
− | + | 4.1 Если нужно передать все данные по прибору, на сервере 1 следует указать '''MIRROR_DEPTH''' равный 0. | |
− | + | 4.2 Если нужно передать не все данные, а только свежие и историю не старше '''N''' дней, то следует указать MIRROR_DEPTH равное '''N'''. | |
− | + | 5. Поставить Timeout для ServerControl на сервере 2 равный 120000. | |
+ | 6. Создать транслятор '''RawMirror''' на сервере 1. Параметрами для него будет адрес сервера2 и порт '''ServerControl''', например s2.example.com:1333. | ||
+ | 7. Добавить прибор в транслятор. | ||
+ | 8. Дождаться окончания трансляции. | ||
+ | 9. Удалить транслятор на сервер 1 и перезагрузить его для очистки транслятора. | ||
Можно перенести несколько приборов. Для этого нужно выполнить шаги 1 и 6 для всех приборов. | Можно перенести несколько приборов. Для этого нужно выполнить шаги 1 и 6 для всех приборов. | ||
Для постоянной трансляции только определенной группы приборов этот способ тоже можно использовать. | Для постоянной трансляции только определенной группы приборов этот способ тоже можно использовать. | ||
− | Но если нужно иметь актуальную копию базы, то лучше смотреть в сторону потоковой репликации PostgreSQL. | + | |
+ | Но если нужно иметь актуальную копию базы, то лучше смотреть в сторону потоковой репликации '''PostgreSQL'''. |
Текущая версия на 12:30, 1 декабря 2021
Для того чтобы перенести данные с одного locarus-server на другой нужно воспользоваться транслятором RawMirror.
Алгоритм:
1. Создать прибор на сервере 2, Включить драйвер и обратить внимание на флаг оптимизации. Должен совпадать со значением на сервере 1 (Не очень важно). 1.1. Прибор не должен быть выключен (иметь флаг Disabled). 2. Проверить что порты ServerControl совпадают, по умолчанию 1333. 3. Добавить в TRUST (Настройки -> Обмен данными) сервера 2 адрес сервера 1, или сделать ALL. 4. Параметр MIRROR_DEPTH (Настройки -> Обмен данными). 4.1 Если нужно передать все данные по прибору, на сервере 1 следует указать MIRROR_DEPTH равный 0. 4.2 Если нужно передать не все данные, а только свежие и историю не старше N дней, то следует указать MIRROR_DEPTH равное N. 5. Поставить Timeout для ServerControl на сервере 2 равный 120000. 6. Создать транслятор RawMirror на сервере 1. Параметрами для него будет адрес сервера2 и порт ServerControl, например s2.example.com:1333. 7. Добавить прибор в транслятор. 8. Дождаться окончания трансляции. 9. Удалить транслятор на сервер 1 и перезагрузить его для очистки транслятора.
Можно перенести несколько приборов. Для этого нужно выполнить шаги 1 и 6 для всех приборов.
Для постоянной трансляции только определенной группы приборов этот способ тоже можно использовать.
Но если нужно иметь актуальную копию базы, то лучше смотреть в сторону потоковой репликации PostgreSQL.