Содержание
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
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