การโอนย้ายผู้ใช้ระหว่าง FASTPANEL
บทนำ
บทความนี้อธิบายกระบวนการโอนย้ายบัญชีผู้ใช้และข้อมูลที่เกี่ยวข้อง (เว็บไซต์ ฐานข้อมูล อีเมล เป็นต้น) จากเซิร์ฟเวอร์ FASTPANEL หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งโดยใช้ยูทิลิตีการย้ายข้อมูลที่มีมาให้ในตัว
คำสำคัญ
- เซิร์ฟเวอร์ต้นทาง - เซิร์ฟเวอร์ที่กำลังโอนย้ายข้อมูลออกจาก
- เซิร์ฟเวอร์ปลายทาง - เซิร์ฟเวอร์ที่กำลังโอนย้ายข้อมูลไปยัง
หมายเหตุสำคัญ
-
โดยค่าเริ่มต้น การย้ายข้อมูลจะทำงานได้อย่างถูกต้องเฉพาะกับไซต์ที่มีการกำหนดค่า FASTPANEL มาตรฐานเท่านั้น
-
ไซต์ที่มีการเปลี่ยนแปลง การกำหนดค่าด้วยตนเอง สามารถโอนย้ายได้ก็ต่อเมื่อใช้แฟล็ก
-mสำหรับการแมปที่อยู่ IP -
หากไม่มีรหัสผ่านที่เข้ารหัสสำหรับเจ้าของฐานข้อมูล ฐานข้อมูลจะไม่ถูกโอนย้าย
-
หากเว็บไซต์ไม่ได้รับการโอนย้าย ฐานข้อมูลที่เกี่ยวข้องก็จะไม่ถูกโอนย้ายเช่นกัน
-
สามารถโอนย้ายได้เฉพาะฐานข้อมูลในเครื่องเท่านั้น
กระบวนการย้ายข้อมูล
การเชื่อมต่อ
เซิร์ฟเวอร์ปลายทางจะเชื่อมต่อกับเซิร์ฟเวอร์ต้นทางผ่าน SSH ระหว่างการเชื่อมต่อครั้งแรก เซิร์ฟเวอร์ปลายทางจะติดตั้งคีย์ SSH บนเซิร์ฟเวอร์ต้นทาง (ทั้งคีย์ที่เตรียมไว้ล่วงหน้าหรือคีย์ที่สร้างจากรหัสผ่าน)
ขั้นตอนการย้ายข้อมูล
- การติดตั้งโมดูล
- การรวบรวมข้อมูลเกี่ยวกับอ็อบเจ็กต์ที่สามารถโอนย้ายได้
- การสร้างผู้ใช้
- การโอนย้ายใบรับรอง SSL
- การสร้างเว็บไซต์ บัญชี FTP โดเมนอีเมล และบัญชีอีเมล
- การสร้างฐานข้อมูลและผู้ใช้ฐานข้อมูล
- การโอนย้ายไฟล์เว็บไซต์และไฟล์กล่องจดหมายอีเมล
- การโอนย้ายงาน cron
การโอนไฟล์จะดำเนินการโดยใช้ rsync ฐานข้อมูลจะถูกโอนย้ายโดยการสร้างดัมป์ผ่าน SSH tunnel
คำสั่งเพื่อเริ่มการย้ายข้อมูล
คำสั่งนี้จะรันบน เซิร์ฟเวอร์ปลายทาง โดยผู้ใช้ที่มีสิทธิ์ 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- โอนย้ายเฉพาะข้อมูลเท่านั้น (ไฟล์เว็บไซต์ ไฟล์เมล ดัมป์ฐานข้อมูล) มีประโยชน์หากการย้ายโครงสร้างเริ่มต้น (ผู้ใช้ ไซต์ DB ฯลฯ) สำเร็จแล้ว แต่เกิดข้อผิดพลาดระหว่างขั้นตอนการคัดลอกไฟล์หรือดัมป์ ช่วยให้สามารถรันซ้ำเฉพาะส่วนการคัดลอกข้อมูลได้--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