План переноса и активация
Для успешного переноса выполните следующее:
- Установите биллинг на новый сервер
- Настройте на нем интернет
- Перенесите все данные по инструкции далее:
- Выполните принудительную активацию
- Перенесите детальную статистику
До переноса сервера
До переноса необходимо проверить следующее:
- Новый сервер соответствует рекомендуемым системным требованиям, описанным в статье "Системные требования"
- Проверить часовые пояса на новом сервере и старом:
date
Время и часовой пояс должны совпадать, настройка времени указана в документации:"Настройка времени на сервере", при расхождении времени могут возникать ошибки при восстановлении контейнера asr_billing.
- Необходимо убедиться в правильной работоспособности дисков актуального биллинга, для того чтобы бэкапы контейнеров были созданы без ошибок:
Проверить скорость работы всех установленных дисков и RAID, в случае его использования, на чтение и запись при остановленном биллинге по статье документации "Проблемы с оборудованием"
Остановить работу биллинга на момент проверки можно выполнив команду в консоли:/etc/init.d/apps stop
После проверки запустить можно так:
/etc/init.d/apps start
Перенос сервера
Сделайте на старом сервере резевную копию и выгрузите на FTP
- Настройте выгрузку на FTP
- Сделайте резврную копию актуальной версии
/etc/init.d/apps backup
- Выгрузите на FTP
/etc/init.d/apps backup_upload
Восстановите резервную копию на новом сервере
- Настройте выгрузку на FTP
- Перенос данных происходит для каждого контейнера в отдельности. Список контейнеров, которые нужно перенести:
base auth asr_billing asr_fiscal asr_cabinet collector monitoring
Если у вас используется Softrouter, также перенесите контейнер:
xge
Перенос осуществляется с помощью команды service, как с ней работать? Нужно указать имя контейнера в пути к команде service и передать ей аргумент.
Команда service/app/<Имя контейнера>/service <Аргументы>
Просмотр аргументов/app/asr_billing/service --help
В примере выполняется перенос контейнера auth.
- Посмотрите список доступных резервных копий:
Команда
/app/auth/service backup_ftp_list
Выводbackup_2019-03-22_2019-03-22_16-19_auth.tar.gz backup_daily_2019-03-26_02-50_auth.tar.gz backup_monthly_2019-02-28_02-50_auth.tar.gz backup_weekly_2019-03-20_02-50_auth.tar.gz
- Загрузите свежую резервную копию на сервер.
Команда
/app/auth/service backup_download backup_2019-03-22_2019-03-22_16-19_auth.tar.gz
Вывод######################################################################## 100,0% /app/auth/service backup_download backup_2019-03-22_2019-[ OK ]-19_auth.tar.gz:
- Проверьте что резервнакая копия загружена.
Команда
/app/auth/service backup_local_list
Выводbackup_2019-03-22_2019-03-22_16-19_auth.tar.gz /app/auth/service backup_local_list: [ OK ]
- Восстановите контейнер.
Команда
/app/auth/service backup_restore backup_2019-03-22_2019-03-22_16-19_auth.tar.gz
Вывод/app/auth stop Stopping nginx: [ OK ] Stopping php-fpm: [ OK ] Stopping app firewall: [ OK ] /app/auth/service stop: [ OK ] /app/auth start Starting app firewall: [ OK ] Starting php-fpm: [ OK ] Starting nginx: [ OK ] (pid 16078) is running... Reloading Base Web Server: [ OK ] /app/auth/service start: [ OK ] # /app/auth/service backup_restore backup_2019-03-22_2019-0[ OK ]19_auth.tar.gz:
- Посмотрите список доступных резервных копий:
Детальная статистика абонентов
Детальная статистика по абонентам в бэкап не сохраняется. Ее необходимо переносить отдельно! |
Для переноса статистики воспользуемся приложением rsync.
Ниже представлен пример использования приложения при копировании со старого сервера на новый.
- Детальная статистика bstat по абонентам располагается в каталоге:
/mnt/var/app/collector/var/stat/binstat/
Перенос детальной статистики bstat со старого сервера на новыйrsync -e 'ssh -p 33' --archive --verbose --progress /mnt/var/app/collector/var/stat/binstat/ root@192.168.10.10:/mnt/var/app/collector/var/stat/binstat/
- Детальная статистика nfsen по абонентам располагается в каталоге:
/mnt/var/app/collector/var/nfcapd_dump/live/router/
Перенос детальной статистики nfsen со старого сервера на новыйrsync -e 'ssh -p 33' --archive --verbose --progress /mnt/var/app/collector/var/nfcapd_dump/live/router/ root@192.168.10.10:/mnt/var/app/collector/var/nfcapd_dump/live/router/
Вместо '33' необходимо указать порт, который используется для подключения по ssh. При подключении к удаленному серверу потребуется ввести пароль пользователя root.
Пояснение:
- archive - выполняется рекурсивное копирование(всех вложенных) каталогов из источника;
- verbose - детализация выполняемых действий;
- progress - показ шкалы прогресса при копировании;
- /mnt/var/app/collector/var/stat/binstat/ - является каталогом-источником данных, требуется обязательно обращать внимание на / Если символ указан - скопированы будут все данные, которые находятся внутри;
- root@192.168.10.10: - логин пользователя и адрес нового биллинга;
- /mnt/var/app/collector/var/stat/binstat/ - конечное расположение для копирования
Аудит
Аудит по умолчанию хранится в основной БД один месяц. Более старые данные выгружаются в архивные БД. Перенесите архивные БД сохранив структуру каталогов.
/app/asr_billing/var/db/billing/
После переноса проверьте права и владельца файлов:
chroot /app/asr_billing/
ls -l /var/db/billing/ | head -n 2
итого 296 drwxrw-rw- 2 firebird firebird 4096 Ноя 15 02:51 201801
Каталоги должны быть перенесены по порядку. Например, отсутствует период 202309. Аудит старше 202310 не будет отображен в веб интерфейсе.
[root@carbon (asr_billing) /]# ls -lt /var/db/billing/ | head -n 5
итого 288
drwxrw-rw- 2 firebird firebird 4096 Фев 2 03:07 202307
drwxrw-rw- 2 firebird firebird 4096 Фев 2 03:07 202308
drwxrw-rw- 2 firebird firebird 4096 Фев 2 03:07 202310
drwxrw-rw- 2 firebird firebird 4096 Фев 2 03:07 202312
Для исправления нужно добавить каталоги:
chroot /app/asr_billing/ mkdir /var/db/billing/202309/ chown firebird:firebird /var/db/billing/202309/
Проверка после переноса
- Выполните проверку сервера командой server_check по статье "Система мониторинга. Запуск проверки вручную"
- Проверьте что не нарушено взаимодействие с NAS - работает авторизация, уходят команды блокировки/разблокировки, устанавливаются шейперы
- Сделайте тестовые платежи по всем используемым платежным системам
- Создайте тестового абонента, убедитесь что интерфейс работает быстро и исправно, работать с биллингом комфортно
- Проверьте что работает локальный сайт, интерфейс не сломан
- Авторизуйтесь в ЛК, сделайте платеж онлайн (если это настроено, можно делать в рамках предыдущего пункта)