Перенос панели и лицензии DNSmanager на новый сервер может потребоваться при переезде на новое оборудование.
Для этого вам нужно:
- Импортировать данные пользователей со старого сервера на новый.
- Привязать лицензию на панель управления к новому серверу.
Шаг 1. Импорт данных пользователя
- На момент переноса на каждом сервере должна быть активная лицензия. На новом сервере установите и активируйте триальную версию продукта, следуя инструкции по установке.
- Перенесите данные на новый сервер.
Перенос файлов DNSmanager
- Установите DNSmanager на новом сервере. В качестве сервера доменных имён выберите тот же, что был выбран для DNSmanager на старом сервере. Убедитесь, что на новом сервере используется поддерживаемая ОС. Список поддерживаемых ОС вы можете посмотреть в статье Требования к серверу.
-
Перенесите нужные настройки из конфигурационного файла DNSmanager (по умолчанию /opt/ispsystem/dnsmanager6/etc/dnsmgr.conf) на новый сервер.
Не рекомендуем копировать полностью конфигурационный файл, т.к. в нём могут быть указаны пути, которых нет на новом сервере. Например, если на серверах установлены разные операционные системы. -
Создайте дамп базы данных DNSmanager на старом сервере:
mysqldump dnsmgr > dump.sql
-
Скопируйте дамп на новый сервер:
scp root@<IP-адрес старого сервера>:<путь к файлу, в который записан дамп> <путь к файлу на новом сервере, в который будет скопирован дамп>
-
Импортируйте базу данных из дампа на новом сервере:
mysql dnsmgr < dump.sql
- В базах данных замените IP-адрес старого сервера на IP-адрес нового сервера:
- таблица ips. Соответствует разделу панели управления Настройки → База IP-адресов → Адреса;
- таблица ranges. Соответствует разделу панели управления Настройки → База IP-адресов;
- таблица namespace. Пространство имён.
Перенос файлов DNS-сервера
- Перенесите нужные настройки из конфигурационного файла PowerDNS на новый сервер.
- AlmaLinux: /etc/pdns/pdns.conf
- Ubuntu: /etc/powerdns/pdns.conf
-
Astra Linux: /opt/ispsystem/etc/pdns.conf
Не рекомендуем копировать полностью конфигурационный файл, т.к. в нём могут быть указаны пути, которых нет на новом сервере. Например, если на серверах установлены разные операционные системы.
- Перенесите конфигурационные файлы пространств доменных имён на новый сервер.
- AlmaLinux: /etc/pdns/pdns-*.conf
- Ubuntu: /etc/powerdns/pdns-*.conf
- Astra Linux: /opt/ispsystem/etc/pdns-*.conf
Обратите внимание!В конфигурационных файлах пространств доменных имён указываются параметры подключения к MySQL: gmysql-user — имя пользователя, gmysql-password — пароль. Измените эти значения на актуальные для нового сервера. - Перенесите базу данных PowerDNS на новый сервер:
-
Создайте дамп базы на старом сервере.
mysqldump --databases <пространство имён по умолчанию> <пользовательские пространства имён> > <путь к файлу, в который будет записан дамп>
Пояснения -
Скопируйте дамп на новый сервер. Для этого выполните на нём команду:
scp root@<IP-адрес старого сервера>:<путь к файлу, в который записан дамп> <путь к файлу на новом сервере, в который будет скопирован дамп>
-
Разверните базу данных из дампа на новом сервере:
mysql <имя базы данных> < <путь к файлу на новом сервере, в который скопирован дамп>
Пояснения -
Дайте служебному пользователю СУБД права на внесение изменений в базу данных пространства:
mysql <имя пользователя> <пароль> GRANT SELECT, INSERT, UPDATE, DELETE ON `<view_db_name>`.* TO 'pdns'@'localhost';
Пояснения
-
При миграции с Ubuntu 20.04
При переносе с Ubuntu 20.04 на Ubuntu 24.04, AlmaLinux 9 либо Astra Linux 1.8 во всех файлах конфигурации необходимо выполнить следующие действия:
- Удалите параметр
local-ipv6
. Если он содержал значения, перенесите их в параметрlocal-address
: добавьте кipv4
через пробел. - Для пользовательских пространств имён добавьте параметр
socket-dir
и укажите в нём /var/run/pdns-N, где N — имя пространства имён как в файле конфигурации.
При переносе с Ubuntu 20 на Astra Linux 1.8 дополнительно измените в файлах конфигурации имена параметров:
master
наprimary;
slave
наsecondary.
При переносе с Ubuntu 20.04 на Ubuntu 24.04 дополнительно модифицируйте схему для каждого пространства имен:
mysql <имя пользователя> <пароль>
ALTER TABLE records ADD COLUMN `content` TEXT DEFAULT NULL;
ALTER TABLE domains ADD COLUMN `options` TEXT DEFAULT NULL;
ALTER TABLE domains ADD COLUMN `catalog` VARCHAR(255) DEFAULT NULL;
ALTER TABLE records MODIFY COLUMN `content` TEXT DEFAULT NULL;
ALTER TABLE cryptokeys ADD COLUMN `published` BOOL DEFAULT 1;
CREATE INDEX catalog_idx ON domains(catalog);
Проверка
-
Перезапустите DNSmanager на новом сервере:
/opt/ispsystem/dnsmanager6/sbin/mgrctl -m dnsmgr exit
-
Перезапустите DNS-сервер:
systemctl restart pdns
- Убедитесь, что DNSmanager функционирует корректно.
Настройка вторичных серверов имён (slave)
Замените в конфигурационных файлах IP-адрес старого сервера на IP-адрес нового сервера:
- Определите нужный файл:
- Конфигурационный файл в AlmaLinux: /etc/pdns/pdns.conf
- Конфигурационный файл в Ubuntu: /etc/powerdns/pdns.conf
- Конфигурационный файл в Astra Linux: /opt/ispsystem/etc/pdns.conf
-
Выполните для него команду:
sed -i 's/\<<IP-адрес старого сервера>\>/<IP-адрес нового сервера>/g' <путь к конфигурационному файлу>
Обратите внимание!\<<IP-адрес старого сервера>\> означает IP-адрес, заключённый в угловые скобки. При этом скобки экранируются. Например, "\<192.168.0.1\>".
Отключение DNS-сервера на старом сервере
Отключите DNS-сервер на старом сервере и уберите его из автозагрузки:
systemctl stop pdns
systemctl disable pdns
Шаг 2. Привязка лицензии к новому серверу
- После переноса данных пользователя на новый сервер перейдите в личный кабинет, где у вас заказана лицензия.
- Удалите триальную лицензию из личного кабинета.
- В настройках платной лицензии введите IP-адрес нового сервера.
- При повышении или смене версии продукта смените тарифный план лицензии в личном кабинете. Условия и стоимость перехода на новый тариф уточняйте у вашего продавца.
-
Обновите файл лицензии. Для этого перейдите в панель, откройте раздел Помощь → О программе и нажмите кнопку Обновить лицензию. Либо загрузите лицензию вручную командой:
/opt/ispsystem/dnsmanager6/sbin/licctl fetch dnsmgr