Миграция проектов между серверами — рутинная задача для веб-разработчиков. В этом руководстве я подробно расскажу, как безопасно перенести пользователей, сайты и связанные данные между серверами FASTPANEL, используя встроенный инструмент миграции.
Table of contents [Show]
Основные понятия
Исходный сервер — текущий хостинг с переносимыми данными
Целевой сервер — новый сервер для размещения проектов
Что важно знать перед началом
Инструмент работает только со стандартной конфигурацией 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
после первой синхронизации
Используя эти рекомендации, вы сможете безопасно переносить проекты между серверами с минимальным временем простоя. Помните — предварительное тестирование на копиях данных сэкономит часы на исправлении ошибок в будущем!