Прескачане към основното съдържание

Прехвърляне на потребители между FASTPANEL

Въведение

Тази статия описва процеса по прехвърляне на потребителски акаунти и свързаните с тях данни (уебсайтове, бази данни, имейл и др.) от един FASTPANEL сървър към друг чрез вградената помощна програма за миграция.

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

  • Изходен сървър - Сървърът, от който се прехвърлят данните.
  • Целеви сървър - Сървърът, към който се прехвърлят данните.

Важни бележки

  • По подразбиране миграцията работи коректно само за сайтове със стандартна FASTPANEL конфигурация.

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

  • Ако криптирана парола за собственик на база данни не е налична, базата данни няма да бъде прехвърлена.

  • Ако уебсайт не бъде прехвърлен, свързаните с него бази данни също няма да бъдат прехвърлени.

  • Могат да бъдат прехвърляни само локални бази данни.

Процес на миграция

Свързване

Целевият сървър се свързва към изходния сървър чрез SSH. При първото свързване целевият сървър инсталира SSH ключ на изходния сървър (или предварително предоставен, или генериран от парола).

Стъпки на миграцията

  • Инсталиране на модули
  • Събиране на информация за обекти, които могат да бъдат прехвърлени
  • Създаване на потребители
  • Прехвърляне на SSL сертификати
  • Създаване на уебсайтове, FTP акаунти, имейл домейни и имейл акаунти
  • Създаване на бази данни и потребители на бази данни
  • Прехвърляне на файлове на уебсайтове и имейл пощенски кутии
  • Прехвърляне на cron задачи

Прехвърлянето на файлове се изпълнява чрез rsync. Базите данни се прехвърлят чрез създаване на dump през 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 - Прехвърля само данни (файлове на уебсайтове, файлове на поща, dump файлове на бази данни). Полезно е, ако първоначалната миграция на структурата (потребители, сайтове, БД и др.) е била успешна, но са възникнали грешки по време на етапа на копиране на файловете или dump файловете. Позволява повторно изпълнение само на частта за копиране на данни.
  • --transfer_timeout - Задава 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 адрес да посочи в конфигурацията на целевия сървър.