Перенос корпоративного портала Битрикс24 с физического сервера на 2 ВМ

от автора

Добрый день! Хочу поделиться своим опытом по миграции Корпоративного портала и CRM Битрикс24 с одного физического сервера на 2 виртуальные машины.

В связи с нарастающим количеством заявок программистам на доработки коробочной версии корпоративного портала Битрикс24 была поставлена задача перенести портал с физического сервера, где он прекрасно «жил» около 2 лет в виртуальную среду, для более быстрого «отката» в случае неуспешных изменений. Да, у нас есть тестовая версия портала на которой изначально проверяются все доработки, но практика показала, что не все нюансы можно учесть и не возможно все проверить на 100% на «тестовом стенде».

За все время существования портала его база данных и Битрикс24.Диск очень сильно разрослись, поэтому было принято решение отделить Битрикс24.Диск и вынести его на отдельную ВМ. Это дает еще и ряд преимуществ, но сейчас не об этом. Перейдем непосредственно к тому, что было сделано.

1. Подготовка ВМ под Битрикс24.Диск (NFS-сервер)

Для начала создаем ВМ и накатываем туда CentOS 7 minimal и обновляем её:

yum clean all && yum update

Затем устанавливаем необходимое нам ПО и утилиты:

yum install mc wget net-tools bind-utils iftop htop lsof traceroute sshfs nfs-utils nfs-utils-lib

Затем запускаем необходимые службы и добавляем их в автозапуск:

systemctl enable rpcbind systemctl enable nfs-server systemctl start rpcbind systemctl start nfs-server

В нашем случае мы выбрали NFS т.к. это наиболее быстрый и безопасный способ расшарить папки внутри локальной сети.

Затем открываем необходимые порты для работы NFS-сервера

firewall-cmd --permanent --add-port=111/tcp firewall-cmd --permanent --add-port=20048/tcp firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --permanent --zone=public --add-service=mountd firewall-cmd --permanent --zone=public --add-service=rpc-bind firewall-cmd --reload

По умолчанию большую часть свободного места CentOS отдает под раздел /home а расшариваемую директорию мы хотели разместить в корневом разделе, поэтому размонтируем и удалим логический раздел /home и создадим его заново с нужным нам размером, а все оставшееся свободное место отдадим корневому разделу:

umount /dev/mapper/centos-home lvremove /dev/mapper/centos-home lvcreate -L 62GB -n home centos mkfs.xfs /dev/centos/home mount /dev/mapper/centos-home lvextend -r -l +100%FREE /dev/mapper/centos-root

Важно проверить /etc/fstab на предмет соответствия раздела /home. Если он использует UUID, нужно обновить часть UUID

Когда место перераспределено, создаем директорию для «раздачи» и назначаем ей соответствующие права:

mkdir -p /share/b24/upload chmod -R 777 /share/b24/upload

и публикуем её отредактировав файл /etc/exports внеся туда следующую строку:

/share/b24/upload 192.168.1.6(rw,sync,no_root_squash,no_all_squash)

Применяем новые настройки и перезапускаем NFS-сервер:

exportfs -a systemctl restart nfs-server

2. Подготавливаем ВМ для самого Битрикс24.

Тут все просто, устанавливаем CentOS 7, обновляем её, устанавливаем нужные пакеты для работы с NFS и по инструкции от Битрикс24 устанавливаем окружение BitrixEnv.

yum clean all && yum update yum install mc wget net-tools bind-utils iftop htop lsof traceroute sshfs nfs-utils nfs-utils-lib wget https://repo.bitrix.info/yum/bitrix-env.sh && chmod +x bitrix-env.sh && ./bitrix-env.sh

Затем запускаем и добавляем в автозапуск службы для работы с NFS:

systemctl enable rpcbind systemctl enable nfs-server systemctl start rpcbind systemctl start nfs-server

Создаем директорию для Битрикс24.Диск в которую примонтируем созданное на первом шаге хранилище:

mkdir /home/bitrix/www/upload mount -t nfs 192.168.1.7:/share/b24/upload /home/bitrix/www/upload

Поверяем примонтировалось ли хранилище через df -h и если все ОК, то настраиваем автоматическое монтирование хранилища после перезагрузки отредактировав файл /etc/fstab внеся в него следующую строку:

192.168.1.7:/share/b24/upload /home/bitrix/www/upload nfs rw,sync,hard,intr 0 0

и применяем настройки:

mount -a

По сути на этом все, дальше просто необходимо перенести файлы из папки /home/bitrix/www/upload старого (физического) сервера Битрикс24 на новый командой rsync. Затем создать бэкап портала через админ. панель Битрикс24 без папок /upload и /backup и развернуть его на новом сервере штатными средствами Битрикс24.

Если у вас остались вопросы или есть советы по данному кейсу, пишите их в комментариях.


ссылка на оригинал статьи https://habr.com/ru/articles/735438/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *