Перайсці да асноўнага змесціва

Перанос карыстальнікаў паміж 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-адрас трэба ўказаць у канфігурацыі на мэтавым серверы.