Содержание
- Актуальная схема
- Описание
- Условия эксплуатации
- Технические требования
- 1. Установка и настройка сервиса хранения GlusterFS
- 2. Подготовка к установке почтового сервера (опционально)
- 3. Установка и настройка Базы данных (БД)
- 4. Установка Корпоративного сервера
- 5. Выполните дополнительную настройку Nginx и Сервера документов
- 6. Настройка подключения почтового сервера (*опционально)
- 7. Управление переключением БД при неработоспособности первого сервера
- 8. Резервное копирование и восстановление
Актуальная схема

Описание
Архитектура рассчитана на использование одного сервера в качестве основного, а второго — в качестве резервного (с постоянной репликацией). В случае отказа основного сервера предусмотрена возможность ручного переключения на резервный узел с помощью скрипта и изменения IP-адреса, указывающего на основную ноду.
В архитектуре используются следующие компоненты, входящие в состав стандартной установки Корпоративного сервера 2024:
- PostgreSQL 16.14;
- RabbitMQ-server 4.2.5;
- Redis server 8.6.4;
- GlusterFS 11.1.
Условия эксплуатации
1. Используйте одну доменную A-запись с несколькими IP-адресами (с возможностью включения и отключения IP-адресов) либо изменяйте доменную запись Корпоративного сервера вида *.domain.ru, например:
*.test2.s7-office.site.
Для двух почтовых серверов используются отдельные записи (опционально).
2. В случае если почтовый сервер не нужен, то возможна установка без почтового сервера. Предварительно ознакомьтесь с инструкцией, чтобы исключить почтовый сервер из установки.
Команды, связанные с почтовым сервером, отмечены в статье.
3. При ошибках работы приложений на сервере master потребуется переключение сервера slave в режим master с помощью скрипта.
Технические требования
- 2 виртуальные машины;
- файловое хранилище GlusterFS для синхронизации данных;
- минимальные технические характеристики узлов (для тестирования): от 4 CPU, от 8 ГБ RAM, от 50 ГБ свободного дискового пространства;
- точные требования для промышленной эксплуатации рассчитываются по обращению в техническую поддержку;
- отключение SELinux или перевод его в режим
permissiveдля корректной работы сервисов.
1. Установка и настройка сервиса хранения GlusterFS
Файловое хранилище:
- Для почтового сервера используется каталог
/mail; - Корпоративный сервер:
/var/r7-office/filestorage,/var/r7-office/searchindex; - Сервер документов:
/var/www/r7-office/Data,/var/lib/r7-office/documentserver/App_Data/cache,/opt/r7-office/java-maker/uploaded-files.
Нет необходимости синхронизировать каталоги временных файлов: filestorage_temp, filestorage_temp_proc.
База данных (БД):
Используется PostgreSQL версии 16 в режиме master-slave.
1.1. Установка и настройка GlusterFS
Добавьте запись в /etc/hosts:
192.168.27.186 gluster1 192.168.26.253 gluster2
Рекомендуется использовать запись 127.0.0.1 localhost как стандартную и без использования имени сервера, так как в дальнейшем будут добавлены другие записи для работы почтового сервера.
Укажите соответствующее имя (замените домен и IP-адрес сервера на свои). Вместо mx1 можно использовать другое необходимое имя, например mail:
Следующие инструкции выполняются на сервере №1.
hostnamectl set-hostname mx1.your-domain.ru
Hostname сервера не совпадает с его доменом.
Например, server.example.com — полное имя домена, а server — его hostname.
Данная запись необходима для почтового сервера.
Без использования почтового сервера возможно задать любое имя сервера.
Укажите соответствующее имя на сервере №2 для почтового сервера (заменить на свой домен):
Следующие инструкции выполняются на сервере №2.
hostnamectl set-hostname mx2.your-domain.ru
Добавьте запись в /etc/hosts:
192.168.27.10 mx1.your-domain.ru 192.168.27.36 mx2.your-domain.ru
Укажите имя и IP-адреса ваших серверов.
Для корректной установки Корпоративного сервера требуется наличие перевода строки в конце файла /etc/hosts.
Для применения параметров выполните перезапуск серверов.
Без использования почтового сервера возможно задать любое имя сервера.
1.2. Установка, запуск и добавление GlusterFS в автозагрузку на всех нодах
dnf install -y glusterfs-server systemctl start glusterd.service systemctl enable glusterd.service
Чтобы GlusterFS корректно работал и устанавливал соединения между узлами, проверьте используемые порты:
cat /etc/glusterfs/glusterd.vol

Добавьте исключения в firewall, чтобы разрешить необходимые соединения:
sudo firewall-cmd --permanent --add-port=49152-49251/tcp sudo firewall-cmd --permanent --add-port=24007-24008/tcp sudo firewall-cmd --reload
После этого GlusterFS сможет корректно устанавливать соединения.
Не имеет значения, какой из узлов вы будете использовать, но в следующем примере команда запускается на gluster1:
gluster peer probe gluster2
Фактически эта команда сообщает gluster1 доверять gluster2 и регистрирует его как часть пула хранения данных.
Если зондирование прошло успешно, отобразится вывод:
peer probe: success
Вы можете проверить связь узлов в любое время с помощью команды:
gluster peer status
При запуске команды с gluster2 отобразится следующий статус:
Number of Peers: 1 Hostname: gluster1 Uuid: 7ecfa2d1-3394-4f15-a1f5-bba484f2bbef State: Peer in Cluster (Connected)
Рекомендуется на время установки/настройки отключить firewalld.
На этом этапе два ваших сервера взаимодействуют и готовы к созданию томов хранения друг с другом.
Создание томов выполняется на сервере №1.
Для создания тома вы будете использовать команду gluster volume create с таким общим синтаксисом:
# Для почтового сервера:
sudo gluster volume create mail_volume replica 2 gluster{1,2}:/mail_volume force
sudo gluster volume create cddisk-filestorage replica 2 gluster{1,2}:/cddisk-filestorage force
sudo gluster volume create cddisk-searchindex replica 2 gluster{1,2}:/cddisk-searchindex force
sudo gluster volume create ds-data replica 2 gluster{1,2}:/ds-data force
sudo gluster volume create ds-cache replica 2 gluster{1,2}:/ds-cache force
sudo gluster volume create cddisk-javamaker replica 2 gluster{1,2}:/cddisk-javamaker forceЕсли том был создан успешно, вы увидите следующий вывод:
volume create: mail_volume: success: please start the volume to access data.
На этом этапе ваш том создан, но еще не активирован. Вы можете запустить том и сделать его доступным для использования путем выполнения следующей команды с любого сервера Gluster:
# Для почтового сервера: sudo gluster volume start mail_volume sudo gluster volume start cddisk-filestorage sudo gluster volume start cddisk-searchindex sudo gluster volume start ds-data sudo gluster volume start ds-cache sudo gluster volume start cddisk-javamaker
Вы получите следующий вывод, если том запущен корректно:
volume start: mail_volume: success. volume start: cddisk-filestorage: success. volume start: cddisk-searchindex: success. volume start: ds-data: success. volume start: ds-cache: success. volume start: cddisk-javamaker: success
Затем проверьте, находится ли том в сети. Запустите следующую команду с любого из ваших узлов:
sudo gluster volume status
В результате вы увидите вывод, аналогичный данному:
Status of volume: mail Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick gluster1:/mail 49152 0 Y 4495 Brick gluster2:/mail 49152 0 Y 20192 Self-heal Daemon on localhost N/A N/A Y 4518 Self-heal Daemon on gluster2 N/A N/A Y 20215 Task Status of Volume mail_volume ------------------------------------------------------------------------------ There are no active volume tasks
Создайте каталог и смонтируйте:
Следующие инструкции выполняются на всех серверах (для почтового сервера).
# Для почтового сервера: mkdir /mail mkdir -p /var/r7-office/filestorage mkdir -p /var/r7-office/searchindex mkdir -p /var/www/r7-office/Data mkdir -p /var/lib/r7-office/documentserver/App_Data/cache mkdir -p /opt/r7-office/java-maker/uploaded-files # Для почтового сервера: mount.glusterfs localhost:/mail_volume /mail mount.glusterfs localhost:/cddisk-filestorage /var/r7-office/filestorage mount.glusterfs localhost:/cddisk-searchindex /var/r7-office/searchindex mount.glusterfs localhost:/ds-data /var/www/r7-office/Data mount.glusterfs localhost:/ds-cache /var/lib/r7-office/documentserver/App_Data/cache mount.glusterfs localhost:/cddisk-javamaker /opt/r7-office/java-maker/uploaded-files
Добавьте в автозагрузку (для почтового сервера):
{
# Для почтового сервера:
echo 'localhost:/mail_volume /mail glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0'
echo 'localhost:/cddisk-filestorage /var/r7-office/filestorage glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0'
echo 'localhost:/cddisk-searchindex /var/r7-office/searchindex glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0'
echo 'localhost:/ds-data /var/www/r7-office/Data glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0'
echo 'localhost:/ds-cache /var/lib/r7-office/documentserver/App_Data/cache glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0'
echo 'localhost:/cddisk-javamaker /opt/r7-office/java-maker/uploaded-files glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0'
} | sudo tee -a /etc/fstabДобавьте задание для перезапуска GlusterFS в случае перезагрузки или выключения питания:
Следующие инструкции выполняются на всех серверах.
После перезагрузки сервера могут наблюдаться проблемы с синхронизацией GlusterFS. Данный метод решает эту проблему.
echo "@reboot sleep 30 && systemctl restart glusterd.service" | crontab -
Проверка монтирования:
df -h mount -a
Проверьте корректность синхронизации каталогов между серверами, создавая тестовые файлы или каталоги в монтированных каталогах.
При настройке разрешенных портов рекомендуется проверить все задействованные порты на двух серверах:
ss -tulnp | grep gluster
2. Подготовка к установке почтового сервера (опционально)
2.1. Записи в DNS и необходимые конфигурации
Для почтового сервера необходимо сделать A- и MX-записи в виде:
# MX-записи:
mx1 — 192.168.27.186 mx2 — 192.168.26.253
# А-записи:
smtp — 192.168.27.186, 192.168.26.253 imap — 192.168.27.186, 192.168.26.253
Примеры А-записей:

А также TXT запись:
v=spf1 +mx ~all
TXT-запись v=spf1 +mx ~all указывает, что отправлять почту от имени домена your-domain.ru могут серверы, указанные в MX-записях этого домена. Для остальных серверов применяется мягкий отказ (SoftFail).
SPF-запись не наследуется на поддомены.
Для корректной смены ролей master и slave требуется переключить IP-адреса в настройках DNS (отключить IP-адрес узла, переводимого в режим slave, и включить IP-адрес узла, переводимого в режим master).
3. Установка и настройка Базы данных (БД)
Установите следующие пакеты на оба сервера:
dnf install postgresql-server postgresql
3.1. База данных (БД)
Следующие инструкции выполняются на всех серверах.
Создайте первичный кластер базы данных:
sudo postgresql-setup --initdb sudo systemctl enable --now postgresql
Отредактируйте /var/lib/pgsql/data/postgresql.conf:
listen_addresses = 'localhost,ip_srv1,ip_srv2' # Слушать на адресах port = 5432 # Задать порт БД wal_level = replica # Включить репликацию archive_mode = on # Включить архивирование WAL archive_command = 'cp %p /var/lib/pgsql/archive/%f' # Команда для архивирования WAL max_wal_senders = 5 # Максимальное количество одновременных подключений репликации hot_standby = on # Разрешить подключения в режиме hot standby
Где ip_srv1 и ip_srv2 — IP-адреса внутренней сети первого и второго серверов.
Следующие инструкции выполняются на всех серверах.
В файле postgresql.conf разрешите логическую репликацию, добавляем строку для прослушивания локального интерфейса:
/var/lib/pgsql/data/pg_hba.conf
Приведите файл к следующему виду:
# Разрешить локальные подключения для всех пользователей # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust host all all ip_srv1/32 trust host all all ip_srv2/32 trust
Вместо ip_srv1/32 и ip_srv2/32 укажите IP-адрес двух серверов. Режим trust необходим для установки Корпоративного сервера.
И добавьте строки в конце (для возможности репликации БД):
# Разрешить репликацию с обоих серверов для пользователя replication_user host replication replication_user ip_srv1/32 md5 host replication replication_user ip_srv2/32 md5
Где ip_srv1/32 и ip_srv2/32 — IP-адреса первого и второго серверов соответственно.
Выполните перезапуск сервиса БД:
sudo systemctl restart postgresql
Следующие инструкции выполняются на сервере №1.
После базовой настройки базы данных создайте необходимую структуру БД и пользователей, затем настройте репликацию:
sudo -u postgres psql
В консоли psql выполните следующие команды, подтверждая каждую нажатием Enter:
Вместо паролей password и replication_password, cddisk и ds задайте свои пароли.
Не рекомендуется использовать другие имена для баз данных cddisk и ds.
CREATE USER cddisk WITH password 'cddisk'; CREATE USER ds WITH password 'ds'; CREATE DATABASE cddisk OWNER cddisk; CREATE DATABASE ds OWNER ds; CREATE DATABASE pagesdb OWNER cddisk; GRANT ALL privileges ON DATABASE cddisk TO cddisk; GRANT ALL privileges ON DATABASE ds TO ds; GRANT ALL privileges ON DATABASE pagesdb TO cddisk; ALTER DATABASE cddisk OWNER TO cddisk; ALTER DATABASE ds OWNER TO ds; ALTER DATABASE pagesdb OWNER TO cddisk; CREATE USER replication_user WITH REPLICATION LOGIN PASSWORD 'replication_password'; GRANT CONNECT ON DATABASE cddisk TO replication_user; GRANT CONNECT ON DATABASE ds TO replication_user; \c cddisk GRANT USAGE ON SCHEMA public TO replication_user; GRANT SELECT ON ALL TABLES IN SCHEMA public TO replication_user; GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO replication_user; \c ds GRANT USAGE ON SCHEMA public TO replication_user; GRANT SELECT ON ALL TABLES IN SCHEMA public TO replication_user; GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO replication_user; # Для выхода из БД: \q
Следующие инструкции выполняются на сервере №1.
Создайте директорию для архива:
sudo mkdir /var/lib/pgsql/archive sudo chown -R postgres: /var/lib/pgsql/archive sudo chmod -R 750 /var/lib/pgsql/archive
Следующие инструкции выполняются на сервере №1.
Перезагрузите службу PostgreSQL для применения изменений:
systemctl restart postgresql
3.2. Настройка репликации Базы данных (БД)
Следующие инструкции выполняются на сервере №2.
Удалите существующую директорию данных:
rm -rf /var/lib/pgsql/data
Создайте базовую резервную копию с мастера:
su - postgres -c "pg_basebackup --host=ip_srv1 --username=replication_user --pgdata=/var/lib/pgsql/data --wal-method=stream --write-recovery-conf"
Где ip_srv1 — IP-адрес внутренней сети первого сервера с master БД.
Перезапустите сервис и проверьте его статус:
systemctl restart postgresql.service systemctl status postgresql.service
4. Установка Корпоративного сервера
Выполнение базовой установки производится в соответствии с руководством: «Установка Р7 Офис. Корпоративный сервер на РЕД ОС» ↗.
Следующие инструкции выполняются на сервере №2.
4.1. Предварительная подготовка
Скачайте дистрибутив. Для корректной установки рекомендуется разместить архив в каталоге, отличном от /root, например в /mnt или /tmp.
Настройку двухнодовой архитектуры рекомендуется начать с установки на втором сервере, чтобы избежать последующих ошибок с серверами.
Перейдите в каталог:
cd /mnt
Распакуйте архив:
unzip RedOS_*.zip
Для корректной работы Корпоративного сервера обязательно требуется настройка HTTPS. Перед установкой скопируйте файлы .crt и .key в папку sslcert.
Предоставьте права на скрипт установки:
chmod +x online_installer.sh
Создайте DNS-запись для Корпоративного сервера, например:

Пример DNS A-записи для Корпоративного сервера
4.2. Запуск установки второго сервера
Выполните команду:
sudo bash ./online_installer.sh
Выберите Нет, иначе произойдет удаление PostgreSQL:

Выберите Нет:

Выберите Да:

Задайте secret. Необходимо ввести секрет (набор цифр, букв и спецсимволов длиной от 8 символов) для защищённого доступа Р7 Диска и Сервера документов:

Укажите пароль к БД ds, ранее созданной в пункте 3.1 (из примера: ds):

Выберите Да:

Выберите PostgreSQL:

Выберите Нет:

Укажите БД master и IP-адрес текущего первого сервера:

Укажите по умолчанию порт 5432:

Укажите БД cddisk из пункта 3.1 (из примера: cddisk):

Укажите пароль к БД cddisk из пункта 3.1 (из примера: cddisk):

Если используется Р7 Офис Корпоративный сервер 2019, укажите актуальное значение salt и нажмите ОК:

Выберите Да:

Необходимо указать домен, в котором у вас созданы записи из пункта подготовки:

Далее укажите необходимые префиксы для всех модулей.
Выберите Да (если требуется установка почтового сервера):

Дальнейшие действия выполняются только при установке Корпоративного сервера с почтовым сервером. В противном случае требуется перезагрузка сервера.
Выберите PostgreSQL:

Необходимо указать имя сервера:

Укажите IP-адрес сервера:

Укажите пароль для пользователя postfix:

Если требуется установка SpamAssassin:
- Выберите 1.
Если не требуется установка SpamAssassin:
- Выберите 2.

Если требуется установка:
- Выберите Да.
Если не требуется установка:
- Выберите Нет.

После инсталляции в консоли будет предложено сделать TXT запись:

Перезапустите сервер.
4.3. Установка первого сервера
Перед установкой корпоративного сервера №1 необходимо пересоздать базу данных, чтобы избежать дублирования информации.
На сервере №2:
supervisorctl stop all systemctl stop java-maker.service
На сервере №1 (Мастере):
DROP DATABASE IF EXISTS cddisk; DROP DATABASE IF EXISTS pagesdb;
Далее мы создадим базу данных заново на мастере из пункта 3.1.
Следующие инструкции выполняются на сервере №1.
Скачайте дистрибутив. Для корректной установки рекомендуется разместить архив в каталоге, отличном от /root, например в /mnt или /tmp.
Перейдите в каталог:
cd /mnt
Распакуйте архив:
unzip RedOS_*.zip
Для корректной работы Корпоративного сервера обязательно требуется настройка HTTPS. Перед установкой скопируйте файлы .crt и .key в папку sslcert.
Предоставьте права на скрипт установки:
chmod +x online_installer.sh
4.4. Запуск установки
Выполните команду:
sudo bash ./online_installer.sh
Выберите Нет:

Выберите Нет:

Выберите Да:

Укажите такой же secret, как для первого сервера:

Укажите пароль к БД ds из пункта 3.1 (из примера: ds):

Выберите Да:

Выберите PostgreSQL:

Выберите Нет:

Укажите IP адрес первого сервера master:

Укажите порт 5432:

Укажите БД cddisk из пункта 3.1 (из примера: cddisk):

Укажите пароль к БД cddisk из пункта 3.1 (из примера: cddisk):

Если используется Р7 Офис Корпоративный сервер 2019, укажите актуальное значение salt и нажмите ОК:

Выберите Да:

Необходимо указать домен, в котором у вас созданы записи из пункта подготовки:

Далее укажите необходимые префиксы для всех модулей, одинаковые со вторым сервером.
Выберите Да (если требуется установка почтового сервера):

Дальнейшие действия выполняются только при установке Корпоративного сервера с почтовым сервером. В противном случае требуется перезагрузка сервера.
Выберите PostgreSQL:

Необходимо указать имя для первого сервера:

Укажите IP-адрес сервера:

Укажите пароль для пользователя postfix (нужно указать такой же пароль, как на втором сервере):

Если требуется установка SpamAssassin (выберите тот же вариант, который указали при установке второго сервера):
- Выберите 1.
Если не требуется установка SpamAssassin:
- Выберите 2.

Если требуется установка (выберите тот же вариант, который указали при установке второго сервера):
- Выберите Да.
Если не требуется установка:
- Выберите Нет.

После инсталляции в консоли будет предложено сделать TXT запись:

Перезапустите сервер.
5. Выполните дополнительную настройку Nginx и Сервера документов
5.1. Secret
Выведите значение параметра secure_link_secret на первом сервере:
grep -rn "set \$secure_link_secret" /etc/r7-office/documentserver/nginx/ds.conf
Пример вывода:
13: set $secure_link_secret kCj7RMAAYCNtOh6KiGin;
Для второго сервера:
sudo sed -i "s/set \$secure_link_secret [^;]*/set \$secure_link_secret НОВОЕ_ЗНАЧЕНИЕ/" $(grep -rl "set \$secure_link_secret" /etc/r7-office/documentserver/) sudo sed -i "s/set \$secretString [^;]*/set \$secretString НОВОЕ_ЗНАЧЕНИЕ/" $(grep -rl "set \$secretString" /etc/r7-office/documentserver/)
Замените НОВОЕ_ЗНАЧЕНИЕ на значение из вывода предыдущей команды.
Пример: kCj7RMAAYCNtOh6KiGin.
5.2. Адрес работы с БД
На обоих серверах проверьте блок sql в файле /etc/r7-office/documentserver/local.json:
"sql": {
"type": "postgres",
"dbHost": "localhost",После чего, укажите вместо localhost IP-адрес первого сервера.
Выполните команды по перезапуску nginx и сервера документов:
systemctl restart nginx ds-converter.service ds-docservice.service ds-metrics.service
6. Настройка подключения почтового сервера (*опционально)
Перейдите в панель администрирования «Р7-Управление» (https://admin.ваш_домен) ➔ Организации ➔ выберите организацию, в которую добавлены пользователи ➔ Почтовые серверы:

Укажите ранее добавленные данные по почтовому серверу:

В такой архитектуре управлять почтовыми ящиками можно только через консоль сервера с помощью скриптов.
Интеграция с почтовым сервером не поддерживается из-за наличия конфликтов двух одинаковых записей доменов.
7. Управление переключением БД при неработоспособности первого сервера
7.1. Создайте скрипт управления
Готовый скрипт можно скачать по ссылке change.sh ↗.
Укажите необходимые константы в начале скрипта. Потребуется указать необходимые параметры, что является master (первый сервер) и slave (второй сервер).
При заполнении параметров ниже используйте те же значения, которые были заданы ранее в пункте 3.1.
Константы для подключения к БД:
MASTER_IP="192.168.27.186"— укажите адрес master БД;SLAVE_IP="192.168.26.253"— укажите адрес replica БД;MASTER_MAIL_FQDN="mx1.your-domain.ru"— укажите FQDN-имя почтового сервера на master;REPLICATION_USER="replication_user"— укажите пользователя для репликации;REPLICATION_PASS="replication_password"— укажите пароль пользователя для репликации;LOG_FILE="/var/log/switch_postgres.log"— укажите расположение файла журнала логов скрипта.
Константы для cddisk (appsettings.json):
CDDISK_DB_NAME="cddisk"— не рекомендуется изменять;CDDISK_DB_USER="cddisk"— укажите пользователя Корпоративного сервера;CDDISK_DB_PASS="cddisk"— укажите пароль пользователя Корпоративного сервера;CDDISK_DB_PORT="5432"— укажите порт БД.
Константы для documentserver (local.json):
DS_DB_NAME="ds"— не рекомендуется изменять;DS_DB_USER="ds"— укажите пользователя Сервера документов;DS_DB_PASS="ds"— укажите пароль пользователя Сервера документов;DS_DB_PORT="5432"— укажите порт БД.
Константы для java-maker (external.properties):
JAVA_DB_NAME="pagesdb"— не рекомендуется изменять;JAVA_DB_PORT="5432"— укажите порт БД.
Назначение пунктов меню скрипта change.sh:
- Установка параметров master — применяет параметры master для основного сервера (настраивает конфигурации приложений на использование master БД) и создаёт в том же каталоге резервную копию изменяемых файлов;
- Установка параметров slave — применяет параметры slave для резервного сервера (настраивает конфигурации приложений на использование master БД и включает репликацию) и создаёт резервную копию изменяемых файлов;
- Показать текущие конфиги — отображает текущие параметры конфигурационных файлов приложений;
- Проверка подключения с новыми параметрами — проверяет доступ для приложений с заданными константами по подключению к master;
- Восстановить конфигурации из
.bak— восстанавливает исходные конфигурационные файлы из резервных копий.bak; - Перезапустить сервисы приложений — перезапускает сервисы приложений после изменения конфигураций;
- Показать текущий статус сервера — указывает состояние БД на текущем сервере;
- Остановка сервисов корпоративного сервера (холодный резерв) — останавливает сервисы Корпоративного сервера для перехода в режим холодного резерва.
7.2. Проверка работы серверов
Для проверки потребуется использовать в DNS A-запись с IP-адресом первого сервера (мастер). Перейдите по адресу https://admin.ваш_домен, убедитесь с помощью команды ping, что используется корректная адресация на первый адрес Корпоративного сервера, и используйте предустановленные логин и пароль superadmin. Создайте пользователя и проверьте редактирование файлов — корректное сохранение файлов и повторное открытие файлов.
Далее переключите A-запись на второй сервер и также проверьте его работу.
В DNS укажите текущую ноду, назначенную master. Запустите скрипт управления БД и проверьте текущие статусы серверов.
Настоятельно рекомендуется отработать поэтапное переключение из slave в master на втором сервере в случае появления ошибок на первом сервере.
8. Резервное копирование и восстановление
Для проведения резервирования и восстановления необходимо использовать скрипты из статьи: «Резервное копирование и восстановление Р7 Диск» ↗.
Перед использованием скрипта создания резервной копии добавьте каталог mail при использовании почтового сервера, приведите к виду строку:
# Создание архива с бэкапом
tar cf "$backup_dir/cddisk-${backup_date}.tar.bz2" --selinux --use-compress-prog="lbzip2 -k -n$num_cores" /opt/r7-office $supervisor_dir /etc/r7-office /var/r7-office /var/www/r7-office "$backup_dir/cddisk_db.tar.gz /mail"При восстановлении на мастер-ноде рекомендуется остановить службу:
systemctl stop glusterfs
После завершения восстановления включить:
systemctl start glusterfs
При восстановлении резервной ноды нет необходимости выполнять восстановление, так как скрипт позволяет назначить вторую ноду репликой первой для БД, а автоматическая синхронизация каталогов выполняется средствами GlusterFS.













