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