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

Прехвърляне на потребители между 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 адрес да посочи в конфигурацията на целевия сървър.