• Post category:Настройки
  • Запись изменена:05.12.2023

Содержание

1. Подготовка к переносу резервной копии

1.1. Подготовка на ОС CentOS 7

1.1.1. Сделайте доступной директорию r7-office для внешних вызовов

При включенной службе firewalld необходимо выполнить настройку для nfs.

# Добавляем службу:
sudo firewall-cmd --permanent --zone=public --add-service=nfs

# Перезапускаем службу firewalld:
sudo firewall-cmd --reload

# Проверяем правила для зоны public:
sudo firewall-cmd --zone=public --list-all

1.1.2. Установите пакеты:

yum install nfs-utils nfs4-acl-tools -y

1.1.3. Запустите сервис

systemctl enable nfs-server --now

1.1.4. Создайте пользователя

UID и GID пользователя cs_bcp должны быть одинаковые на ВМ подготовленной для переноса бекапа и NFS хранилищем

# Создаём пользователя cs_bcp
useradd cs_bcp

# Узнаем его UID и GID
id cs_bcp

# Добавляем пользователя cs_bcp в группу r7-office
usermod -a -G r7-office cs_bcp

1.1.5. Для экспорта созданного ранее каталога отредактируйте файл конфигурации и указываем полученные UID и GID в шаге 1.1.4.

nano /etc/exports
  • с содержимым
/var/www/r7-office/ 192.168.26.106/24(rw,insecure,nohide,all_squash,anonuid=1001,anongid=1001,no_subtree_check)

Где:

/var/www/r7-office/ – путь к папке, для которой раздается доступ;
192.168.26.106 –IP-адрес, которому раздается доступ к папке (можно указать всю сеть, тогда запись примет вид 192.168.1.0/24)
(rw,no_root_squash,sync) – набор опций, опции могут быть:

rw – чтение запись (может принимать значение ro-только чтение);
no_root_squash – по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;
nohide – NFS автоматически не показывает нелокальные ресурсы (например, примонтированые с помощью mount –bind), эта опция включает отображение таких ресурсов;
subtree_check (no_subtree_check) – в некоторых случаях приходится экспортировать не весь раздел, а лишь его часть. При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов, чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам, находящимся в соответствующих подкаталогах. Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами, но если отказаться от него, могут возникнуть проблемы с безопасностью системы. Отменить контроль поддерева можно с помощью опции no_subtree_check. Опция subtree_check, включающая такой контроль, предполагается по умолчанию. Контроль поддерева можно не выполнять в том случае, если экспортируемый каталог совпадает с разделом диска;

1.1.6. Для применения изменений внесённых в конфигурацию экспорта выполните команду:

exportfs -ra

1.1.7. Создайте sql дамп БД r7-office

Пароль пользователя БД «r7-office» можно посмотреть в файле «web.connections.config» ➔ «Password=…»

/var/www/r7-office/WebStudio/web.connections.config

  • Выполните команду:
mysqldump -u root -p r7-office > r7_backup.sql

1.1.8. Архивируйте sql дамп с помощью утилиты Zip

  • Выполняем команду:
zip r7_backup.sql.zip r7_backup.sql

1.2. Подготовка на ОС Astra Linux 1.7.4

1.2.1. Установите nfs клиент и смонтируйте каталог

# устанавливаем пакет
apt install nfs-common

# Создаём пользователя (id те же, что и на nfs должны быть)
useradd -u 1001 -g 1001 cs_bcp

# Создаём каталог
mkdir /mnt/cs/

# Назначаем права
chown cs_bcp /mnt/cs/

# Примонтировать
mount -t nfs -O uid=1001,iocharset=utf-8 192.168.26.106:/var/www/r7-office/ /mnt/cs/

Где:

192.168.26.106 – ip сервера cs, с которого переносим данные,
/var/www/r7-office/ – каталог на nfs сервере
/mnt/cs/ – путь монтирования на ВМ подготовленной для переноса бекапа

1.2.2. Проверьте монтирование

df -h

Резервное копирование CentOS 7 ➔ Astra Linux 1.7.4

1.2.3. (Опционально) Добавьте запись в /etc/fstab для автомонтирования каталога после ребута ВМ

192.168.26.106:/var/www/r7-office/ /mnt/cs/ nfs defaults 0 0

Где:

192.168.26.106 – ip сервера cs, с которого переносим данные,
/var/www/r7-office/ – каталог на nfs сервере
/mnt/cs/ – путь монтирования на ВМ подготовленной для переноса бекапа

2. Выполняем резервное копирование на ОС Linux

2.1. Остановите службы

systemctl stop god monoserve monoserveApiSystem
systemctl stop r7-office* --all

2.2. Сделайте резервную копию директории

mv /var/www/r7-office/Data/ /var/www/r7-office/Data_old

2.3. Скопируйте архив с sql дампом и каталоги на ОС Linux из ранее примонтированной директории

cp /mnt/cs/Data/ /var/www/r7-office/

2.4. Назначьте владельца и группу на перемещенные директории

chown -R r7-office:r7-office /var/www/r7-office/Data/

2.5. Восстановите БД из дампа

  • Перейдите в каталог с sql дампом
cd /mnt/cs/
  • Выполните команду

Пароль пользователя БД «r7-office» можно посмотреть в файле «web.connections.config» ➔ «Password=…»
/var/www/r7-office/WebStudio/web.connections.config

unzip -p r7_backup.sql.zip | mysql -uroot -p r7-office

2.6. Измените значение параметра core.machinekey

Так как работы по восстановлению портала проводятся с переносом данных на другой сервер, необходимо после завершения процесса восстановления скопировать значение параметра core.machinekey с сервера откуда переносилась резервная копия и заменить его в конфигурационных файлах на сервере куда переносится резервная копия.

nano /var/www/r7-office/WebStudio/web.appsettings.config
nano /var/www/r7-office/Services/TeamLabSvc/TeamLabSvc.exe.config
nano /var/www/r7-office/ApiSystem/Web.config
nano /var/www/r7-office/controlpanel/www/config/production.json
nano /var/www/r7-office/Services/MailAggregator/ASC.Mail.EmlDownloader.exe.config
nano /var/www/r7-office/Services/MailAggregator/ASC.Mail.Aggregator.CollectionService.exe.config

2.7. Запустите службы

При выполнении команд в директории где находиться файл r7-office.sql возможно появление ошибки: «служба r7-office.sql не найдена», для исключения данного сценария предварительно смените директорию.

systemctl start god monoserve monoserveApiSystem
systemctl start r7-office* --all