Перейти до основного вмісту

Перенесення користувачів між FASTPANEL

Вступ

У цій статті описано процес перенесення облікових записів користувачів і пов’язаних із ними даних (вебсайтів, баз даних, електронної пошти тощо) з одного сервера FASTPANEL на інший за допомогою вбудованої утиліти міграції.

Ключові терміни

  • Вихідний сервер - Сервер, з якого переносяться дані.
  • Цільовий сервер - Сервер, на який переносяться дані.

Важливі примітки

  • За замовчуванням міграція коректно працює лише для сайтів зі стандартною конфігурацією FASTPANEL.

  • Сайти зі змінами ручної конфігурації можна перенести лише за умови використання прапорця -m для зіставлення IP-адрес.

  • Якщо зашифрований пароль власника бази даних недоступний, базу даних не буде перенесено.

  • Якщо вебсайт не переноситься, пов’язані з ним бази даних також не буде перенесено.

  • Можна переносити лише локальні бази даних.

Процес міграції

Підключення

Цільовий сервер підключається до вихідного сервера через SSH. Під час першого підключення цільовий сервер установлює SSH-ключ на вихідному сервері (або попередньо наданий, або згенерований із пароля).

Кроки міграції

  • Установлення модуля
  • Збір інформації про об’єкти, які можна перенести
  • Створення користувачів
  • Перенесення SSL-сертифікатів
  • Створення вебсайтів, FTP-акаунтів, поштових доменів і поштових акаунтів
  • Створення баз даних і користувачів баз даних
  • Перенесення файлів вебсайтів і поштових скриньок
  • Перенесення завдань cron

Передавання файлів виконується за допомогою rsync. Бази даних переносяться шляхом створення дампа через SSH-тунель.

Команда для запуску міграції

Команда запускається на цільовому сервері від імені користувача з правами root:

/usr/local/fastpanel2/fastpanel transfer run [SSH_PARAMETERS] [IP_PARAMETERS] [ADDITIONAL_OPTIONS]

Прапорці командного рядка

SSH-підключення

  • --remote_host="SOURCE_IP" - IP-адреса вихідного сервера.
  • --remote_port="SSH_PORT" - Порт SSH.
  • --remote_username="SSH_USER" - Користувач (має бути root).
  • --remote_password="USER_PASSWORD" - Пароль для вказаного SSH-користувача.
  • --ssh_key_path="PATH_TO_KEY" - Шлях до приватного SSH-ключа на цільовому сервері для підключення до вихідного сервера. Якщо використовується ключ, пароль (--remote_password) не потрібен.

IP-адреси

Для керування IP-адресами сайтів під час перенесення потрібно використовувати лише один із наведених нижче прапорців. Прапорець -m має пріоритет.

  • -i "IP_ADDRESS_ON_DESTINATION" - Призначає вказану IP-адресу всім перенесеним сайтам на цільовому сервері. Щоб указати кілька IP-адрес (наприклад, якщо на вихідному сервері їх було кілька), повторіть прапорець для кожної вихідної IP-адреси, яку потрібно перенести.

  • -m "SOURCE_IP,DESTINATION_IP" - Рекомендований метод. Установлює пряме зіставлення: усі сайти, що використовують SOURCE_IP на вихідному сервері, використовуватимуть DESTINATION_IP на цільовому сервері. Цей прапорець можна вказувати кілька разів для різних пар IP-адрес. Обов’язковий для перенесення сайтів із ручними змінами конфігурації, оскільки дає змогу коректно замінити IP-адреси в директивах listen.

Додаткові налаштування

  • --users="USER_LIST" - Переносить лише вказаних користувачів (через кому). Якщо не вказано, переносяться всі користувачі.
  • --disable_disk_quota - Вимикає перенесення дискових квот користувачів.
  • --with_user_data - Включає копіювання всього вмісту домашніх каталогів користувачів (крім підкаталогу logs/). Використовуйте з обережністю, оскільки це може суттєво збільшити час перенесення та обсяг переданих даних.
  • --only_data - Переносить лише дані (файли вебсайтів, поштові файли, дампи баз даних). Корисно, якщо початкова міграція структури (користувачів, сайтів, БД тощо) була успішною, але на етапі копіювання файлів або дампів виникли помилки. Дозволяє повторно запустити лише частину копіювання даних.
  • --transfer_timeout - Установити тайм-аут операції (типово 60 хвилин).

Приклад команди

Перенести всіх користувачів із сервера 11.22.33.44 на поточний сервер. На старому сервері сайти використовували IP-адреси 11.22.33.44 і 11.22.33.55; на новому сервері вони мають використовувати відповідно 99.88.77.66 і 99.88.77.67. Підключення через SSH за паролем.

/usr/local/fastpanel2/fastpanel transfer run \
--remote_host=11.22.33.44 \
--remote_username=root \
--remote_password=YourSourceRootPassword \
-m 11.22.33.44,99.88.77.66 \
-m 11.22.33.55,99.88.77.67

Можливі проблеми та типи помилок

Помилка в журналі міграції не завжди вказує на критичну проблему, але може вказувати на причину, через яку конкретний об’єкт не було перенесено.

  • Конфлікти: Виникають, коли перенесення об’єкта неможливе через поточну конфігурацію цільового сервера (наприклад, уже існує користувач або сайт із такою самою назвою) або якщо конфігурація сайту на вихідному сервері невідома панелі (наприклад, через значні ручні зміни).

  • Відсутній збережений пароль: Як уже згадувалося раніше, користувачів баз даних MySQL без збереженого пароля у FASTPANEL на вихідному сервері не можна перенести.

  • Ручні налаштування та IP-адреси: Якщо сайт на вихідному сервері має ручні зміни конфігурації вебсервера і під час міграції не використовується прапорець -m для зіставлення його IP-адреси, такий сайт не буде перенесено, оскільки панель не знає, яку IP-адресу вказати в конфігурації на цільовому сервері.