მთავარ შიგთავსზე გადასვლა

მომხმარებლების გადატანა FASTPANEL სერვერებს შორის

შესავალი

ეს სტატია აღწერს მომხმარებლის ანგარიშებისა და მათთან დაკავშირებული მონაცემების (ვებსაიტები, მონაცემთა ბაზები, ელფოსტა და ა.შ.) გადატანის პროცესს ერთი FASTPANEL სერვერიდან მეორეზე ჩაშენებული მიგრაციის უტილიტის გამოყენებით.

ძირითადი ტერმინები

  • წყაროს სერვერი - სერვერი, საიდანაც მონაცემები გადაიტანება.
  • დანიშნულების სერვერი - სერვერი, რომელზეც მონაცემები გადაიტანება.

მნიშვნელოვანი შენიშვნები

  • ნაგულისხმევად, მიგრაცია სწორად მუშაობს მხოლოდ სტანდარტული FASTPANEL კონფიგურაციის მქონე საიტებისთვის.

  • საიტები ხელით შეცვლილი კონფიგურაციით შეიძლება გადაიტანოთ მხოლოდ იმ შემთხვევაში, თუ IP მისამართების ასახვისთვის გამოყენებულია -m ალამი.

  • თუ მონაცემთა ბაზის მფლობელის დაშიფრული პაროლი ხელმისაწვდომი არ არის, მონაცემთა ბაზა არ გადაიტანება.

  • თუ ვებსაიტი არ გადაიტანება, მასთან დაკავშირებული მონაცემთა ბაზებიც არ გადაიტანება.

  • შეიძლება გადაიტანოთ მხოლოდ ლოკალური მონაცემთა ბაზები.

მიგრაციის პროცესი

კავშირი

დანიშნულების სერვერი წყაროს სერვერს 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 წყვილისთვის. სავალდებულოა ხელით შეცვლილი კონფიგურაციის მქონე საიტების გადასატანად, რადგან საშუალებას იძლევა listen დირექტივებში IP მისამართები სწორად ჩანაცვლდეს.

დამატებითი პარამეტრები

  • --users="USER_LIST" - გადააქვს მხოლოდ მითითებული მომხმარებლები (მძიმით გამოყოფილი). თუ მითითებული არ არის, გადაიტანება ყველა მომხმარებელი.
  • --disable_disk_quota - თიშავს მომხმარებლის დისკური კვოტების გადატანას.
  • --with_user_data - მოიცავს მომხმარებლის home დირექტორიების მთელი შიგთავსის კოპირებას (logs/ ქვედირექტორიის გარდა). გამოიყენეთ სიფრთხილით, რადგან ამან შეიძლება მნიშვნელოვნად გაზარდოს გადატანის დრო და გადასატანი მონაცემების მოცულობა.
  • --only_data - გადააქვს მხოლოდ მონაცემები (ვებსაიტის ფაილები, ფოსტის ფაილები, მონაცემთა ბაზის dump-ები). გამოსადეგია, თუ საწყისი სტრუქტურის მიგრაცია (მომხმარებლები, საიტები, DB-ები და ა.შ.) წარმატებით დასრულდა, მაგრამ შეცდომები წარმოიშვა ფაილების ან dump-ების კოპირების ეტაპზე. იძლევა შესაძლებლობას ხელახლა გაუშვათ მხოლოდ მონაცემების კოპირების ნაწილი.
  • --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 მისამართები: თუ წყაროს სერვერზე საიტს აქვს ვებ სერვერის კონფიგურაციის ხელით ჩასწორებები და მიგრაციის დროს მისი IP მისამართის ასახვისთვის არ გამოიყენება -m ალამი, ასეთი საიტი არ გადაიტანება, რადგან პანელმა არ იცის, რომელი IP უნდა მიუთითოს დანიშნულების სერვერის კონფიგურაციაში.