Поиск

Предлагаемые теги:

Полное руководство по миграции пользователей, сайтов и БД между серверами FASTPANEL

Полное руководство по миграции пользователей, сайтов и БД между серверами FASTPANEL

Миграция проектов между серверами — рутинная задача для веб-разработчиков. В этом руководстве я подробно расскажу, как безопасно перенести пользователей, сайты и связанные данные между серверами FASTPANEL, используя встроенный инструмент миграции.

Основные понятия

Исходный сервер — текущий хостинг с переносимыми данными

Целевой сервер — новый сервер для размещения проектов

Что важно знать перед началом

Инструмент работает только со стандартной конфигурацией FASTPANEL без ручных правок

Для кастомных настроек обязателен флаг -m для маппинга IP-адресов

Базы данных без сохранённого пароля владельца не переносятся

Сайты и связанные с ними БД мигрируются только вместе

Подготовка к миграции

Убедитесь, что на целевом сервере:

Установлена та же версия FASTPANEL

Достаточно дискового пространства

Открыт SSH-порт (по умолчанию 22)

На исходном сервере:

Проверьте доступность SSH-подключения

Убедитесь, что все пароли БД сохранены в панели

Закройте доступ к сайтам для пользователей на время переноса

Пошаговая инструкция по переносу

1. Установка соединения между серверами

Выполните на целевом сервере команду:

/usr/local/fastpanel2/fastpanel transfer run \
--remote_host="IP_исходного_сервера" \
--remote_username=root \
--remote_password="ваш_пароль" \
-m "старый_IP,новый_IP"

2. Выборочный перенос пользователей

Используйте параметр --users для частичной миграции:

--users="user1,user2,project3"

3. Дополнительные опции

  • --disable_disk_quota — отключает квоты дискового пространства
  • --with_user_data — полная копия домашних каталогов (осторожно с большими объёмами!)
  • --only_data — повторная синхронизация данных после основной миграции

Пример рабочей команды

/usr/local/fastpanel2/fastpanel transfer run \
--remote_host=95.111.222.123 \
--remote_username=root \
--remote_password=Secur3P@ss \
-m 95.111.222.123,104.21.94.78 \
-m 95.111.222.124,104.21.94.79 \
--users="client_alpha,client_beta" \
--with_user_data

Этапы процесса миграции (что происходит "под капотом")

Установка необходимых модулей

Сбор метаданных пользователей

Создание учётных записей и квот

Перенос SSL-сертификатов

Настройка сайтов, FTP, почтовых ящиков

Экспорт/импорт баз данных через SSH-туннель

Синхронизация файлов rsync

Копирование cron-заданий

Типичные ошибки и решения

Проблема: Конфликты имён пользователей
Решение: Предварительно удалите дубликаты на целевом сервере или используйте --users для выборочного переноса

Проблема: Ошибки переноса БД
Решение:

Проверьте наличие паролей в FASTPANEL исходного сервера

Убедитесь, что используется локальная БД (не удалённая)

Проблема: Сайты с ручными правками не переносятся
Решение:

Используйте обязательный флаг -m для маппинга IP

Проверьте listen-директивы в конфигах Nginx/Apache

После миграции: чек-лист

Проверьте доступность всех сайтов

Протестируйте почтовые ящики

Запустите тестовые CRON-задания

Сравните дисковые квоты пользователей

Обновите DNS-записи (если менялись IP)

Производительность и тайминги

Средняя скорость переноса: 5-15 ГБ/час (зависит от канала)

Рекомендуемый timeout: --transfer_timeout=120 для больших проектов

Для ускорения используйте --only_data после первой синхронизации

Используя эти рекомендации, вы сможете безопасно переносить проекты между серверами с минимальным временем простоя. Помните — предварительное тестирование на копиях данных сэкономит часы на исправлении ошибок в будущем!

Иван Третьяков
Автор

Иван Третьяков