Отказоустойчивость:
Синхронизация файлов#
Данная статья описывает настройку rsync для синхронизации файлов между основным и резервным серверами.
На основном сервере необходимо создать пользователя, который будет отправлять файлы на резервный сервер.
Создайте группу для пользователя
rider:Создайте пользователя
rider:Задайте произвольный пароль для пользователя
rider, сохраните его:На резервном сервере также требуется создать пользователя, который будет отправлять файлы на основной сервер.
Создайте группу для пользователя
rider:Создайте пользователя
rider:Задайте произвольный пароль для пользователя
rider, сохраните его:На основном сервере необходимо настроить доступ пользователя к резервному серверу.
На основном сервере выполните команду от лица пользователя
rider:Следующей командой сгенерируйте ключ доступа:
Скопируйте публичный ключ с основного сервера на резервный (потребуется пароль, созданный с помощью команды
passwd riderна резервном сервере).
Для этого выполните на основном сервере:На резервном сервере также требуется настроить доступ пользователя к основному серверу:
На резервном сервере выполните команду от лица пользователя
rider:Следующей командой сгенерируйте ключ доступа:
Скопируйте публичный ключ с резервного сервера на основной (потребуется пароль, созданный с помощью команды
passwd riderна основном сервере).
Для этого на резервном сервере выполните:Затем на основном и резервном серверах следует выйти из-под пользователя
rider:После этого на основном и резервном серверах установите приложение
rsync, которое выполняет синхронизацию новых файлов и отправляет их на другой сервер.На обоих серверах выполните команды для установки
rsync:Теперь требуется настроить
rsync:На обоих серверах создайте директорию, в которой будут располагаться логи
rsync:На обоих серверах создайте директорию, куда будут добавляться временные файлы при копировании на сервер:
На обоих серверах создайте директорию, в которой будет располагаться конфигурация
rsync:На обоих серверах создайте файл конфигурации:
Предупреждение
Для дальнейшей настройки понадобится файл
configs/global.yaml, который был создан ранее в разделе «Конфигурация портов и доменов приложения»Получите значение поля
root_mount_pathвашего приложения — оно понадобится для заполнения конфигурационного файла дляrsync:В шаблон ниже подставьте свои значения, затем добавьте содержимое в конфигурационный файл
/etc/rsync-replication/sync_files.yamlс помощью любого текстового редактора и сохраните изменения:Примечание
Обратите внимание, что при настройке на основном сервере в конфигурационном файле в поле
target_hostнеобходимо указать IP-адрес резервного сервера.
И наоборот: если конфигурация настраивается на резервном — в конфигурационном файле в полеtarget_hostнеобходимо указать IP-адрес основного сервера.
Заполните поляsource_root_mount_path,source_installer_path,target_root_mount_path,target_installer_path.Действия выше также необходимо выполнить на резервном сервере.
Для того чтобы
riderсохранял файлы с тем же владельцем и группой — выполните на обоих серверах следующую команду:Настройте ротацию логов для
rsyncна основном и резервном серверах.Установите
logrotate, если ранее ещё не был установлен:Создайте конфигурационный файл для ротации логов
rsync:Откройте
/etc/logrotate.d/rsync-replicationлюбым удобным текстовым редактором и добавьте в него следующее содержимое:Запустите
logrotate:Для проверки работы синхронизации на основном сервере создайте файл в папке, куда установлено приложение
<значение поля root_mount_path>/files/:На основном сервере запустите скрипт для проверки работы синхронизации файлов:
Примечание
В команду ниже необходимо подставить полный путь к инсталлятору Compass.
На резервном сервере проверьте, что созданный файл появился в той же папке:
На основном сервере проверьте логи
rsyncна наличие ошибок:
Примечание