การโยกย้ายเซิร์ฟเวอร์: วิธีที่มีประสิทธิภาพที่สุด


10

ฉันได้รับมอบหมายให้ย้ายหนึ่งในเว็บไซต์ของเราระหว่างเซิร์ฟเวอร์ (โฮสต์ที่แตกต่างกันสองแห่ง) ทั้งสองสภาวะแวดล้อมคือ linux

ไซต์สตรีมวิดีโอดังนั้นขณะนี้เซิร์ฟเวอร์เต็มไปด้วยไฟล์สื่อ (ภาพและวิดีโอ) ความคิดแรกของฉันคือเราจะใช้ rsycnc เพื่อถ่ายโอนทุกอย่าง แต่ฉันต้องการให้มีประสิทธิภาพมากที่สุดและทำทุกอย่างโดยเร็วที่สุด ฉันคิดว่าคุณบางคนอาจมีคำแนะนำเกี่ยวกับวิธีเพิ่มความเร็วของกระบวนการหรือถ้า rsync เป็นตัวเลือกที่ถูกต้องที่นี่

ขอบคุณล่วงหน้า. ขออภัยในความรู้ที่ จำกัด ของฉันเกี่ยวกับสิ่งดูแลระบบ ...

แก้ไข: เรากำลังทำงานบนสแต็ค LAMP พื้นฐาน (centos) และย้ายไปที่ Red Hat บน rackspace)


1
กำหนด "ประสิทธิภาพ" ในบริบทนี้ รวดเร็วเชื่อถือได้แข็งแกร่งหรืออะไร และไม่คุณไม่มีสิ่งเหล่านั้นทั้งหมด
John Gardeniers

1
rsync เป็นตัวเลือกที่ดีที่สุดในการย้ายข้อมูล ยังคงมีการกำหนดค่าและฐานข้อมูลที่เป็นไปได้เป็นต้นซึ่งผู้อื่นได้กล่าวถึงว่ามีตัวเลือกที่ดีกว่าอื่น ๆ
fukawi2

คำตอบ:


12

มีหลายอย่างที่เกี่ยวข้องกับ "การโอนย้ายแอปพลิเคชันจากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่น" - ไม่มีทางที่เราจะสามารถตอบคำถามนี้ได้อย่างครอบคลุมสำหรับกรณีการใช้งานทั้งหมด คุณสามารถตอบได้อย่างครอบคลุมสำหรับการตั้งค่าของคุณ แต่ถ้าคุณเข้าใกล้อย่างเป็นระบบ:

  1. ทำรายการทุกสิ่งที่แอปพลิเคชันของคุณต้องการ
    • เว็บเซิร์ฟเวอร์?
    • เซิร์ฟเวอร์ฐานข้อมูล
    • เมลเซิร์ฟเวอร์
    • ภาษาสคริปต์ (PHP, Ruby / Rails, Perl, อย่างอื่น)?
    • โปรแกรมเสริม (ImageMagick ฯลฯ )
  2. ทำรายการของรายการการกำหนดค่าที่สำคัญ
    • ที่อยู่ IP, Netmask, Gateway, เป็นต้น
    • เซิร์ฟเวอร์ DNS
    • รายการเฉพาะแอปพลิเคชัน (ไดเรกทอรีชั่วคราว ฯลฯ )
  3. รับรายการจาก (1) และ (2) และเขียนโครงร่างของการย้ายข้อมูล
    สิ่งนี้ควรรวมถึงสิ่งต่าง ๆ เช่นการติดตั้งและกำหนดค่าซอฟต์แวร์ / แพ็คเกจใด ๆ ที่คุณต้องการทิ้งและโหลดฐานข้อมูลเป็นต้น
  4. ทดสอบการ
    คัดลอกคัดลอกทุกอย่างไปเหมือนที่คุณทำหากเซิร์ฟเวอร์กำลังดำเนินการ แต่ไม่ทำให้เป็นจริง ติดกับเครือข่ายที่แยกได้เมื่อคุณทำเสร็จและทดสอบทุกอย่าง
    หากคุณมีขั้นตอนการทดสอบมาตรฐานสำหรับแอปพลิเคชันของคุณคุณควรรันบนเซิร์ฟเวอร์ที่ย้ายข้อมูล
  5. หากทุกอย่างไม่เป็นไปอย่างสมบูรณ์ไปที่ (3) อัปเดต (1) และ (2) จากนั้นแก้ไขแผนของคุณ
  6. เมื่อการโยกย้ายการทดสอบเป็นไปอย่างสมบูรณ์ให้ทำการโยกย้ายจริง
    ขึ้นอยู่กับว่ากระบวนการโยกย้ายซับซ้อนแค่ไหนนั่นอาจหมายถึงการปล่อยและรีโหลดฐานข้อมูลหรือคุณอาจต้องการเช็ดเครื่องและทำทั้งหมดตั้งแต่เริ่มต้น

เมื่อเสร็จแล้วคุณจะมีรายการตรวจสอบสำหรับแอปพลิเคชันเฉพาะของคุณในสภาพแวดล้อมเฉพาะของคุณ รายการตรวจสอบนั้นอาจมีวิวัฒนาการเมื่อคุณพัฒนาแอป แต่มันสามารถทำหน้าที่เป็นจุดเริ่มต้นใน 3-5 ปีเมื่อคุณต้องย้ายข้อมูลอีกครั้ง

สิ่งอื่นที่ต้องพิจารณารวมถึงการใช้การจัดการการกำหนดค่า Ala Puppet หรือ Chef
(หากคุณกำลังจะเป็น "ดูแลระบบ" คุณควรพิจารณาพวกเขามิฉะนั้นส่งต่อไปยังผู้รับผิดชอบ / ทีม)


5

คุณมีการกำหนดค่าเซิร์ฟเวอร์และเนื้อหาเซิร์ฟเวอร์ที่จะจัดการกับและมันไม่น่าเป็นไปได้สูงที่เทคนิคเดียวกันจะใช้ได้ทั้งคู่

คุณมีฐานข้อมูลหรือไม่? ถ้าเป็นเช่นนั้นจะต้องมีการย้ายเช่นกัน Rsync ใช้งานได้ดีสำหรับเนื้อหาแบบคงที่ เพียงแค่เรียกใช้หนึ่งครั้งเพื่อให้รายการข้อมูลของคุณถูกย้ายจากนั้นพูดทุก ๆ สองสามชั่วโมงเพื่อให้ข้อมูลตรงกันจนกว่าจะถึงจุดตัด ตรวจสอบให้แน่ใจว่าได้ปิดใช้งาน rsync cron ก่อนการโยกย้าย!

เกี่ยวกับการกำหนดค่าเราไม่ทราบว่าคุณกำลังทำงานอยู่ดังนั้นจึงไม่สามารถให้คำแนะนำได้


ขอบคุณ! ขณะนี้เรากำลังทำงานบน CentOS ด้วยกอง Apache / PHP / MySQL (มาตรฐานสวย) กับ WHM เราย้ายทุกอย่างไปที่ redhat linux บน Rackspace
รหัสผี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.