โดย Dmitri Joukovski และ Pavel Pragin

ฐานข้อมูล MySQL กลายเป็นฐานข้อมูลโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดในโลกเนื่องจากมีประสิทธิภาพที่รวดเร็วสม่ำเสมอเชื่อถือได้สูงและใช้งานง่าย คุณอาจใช้ฐานข้อมูล MySQL สำหรับฟอรัมออนไลน์และวิกิของคุณที่อยู่ที่ผู้ให้บริการโฮสติ้งที่มีการจัดการหรือคุณอาจใช้ในสำนักงานระยะไกลเพื่อติดตามข้อบกพร่องด้วย Bugzilla หรือคุณอาจกำลังคิดที่จะพัฒนาแอปพลิเคชัน Web 2.0 ใหม่ที่ใช้ MySQL . ไม่ว่าจะด้วยวิธีใดก็ตามหากคุณให้ความสำคัญกับข้อมูลที่เก็บไว้ในฐานข้อมูล MySQL ของคุณคุณจะต้องมั่นใจว่าการสำรองข้อมูล MySQL ประสบความสำเร็จปลอดภัยและสม่ำเสมอโดยมีผลกระทบน้อยที่สุดต่อแอปพลิเคชันฐานข้อมูล ตรวจสอบให้แน่ใจว่าโซลูชันการสำรองข้อมูลของคุณมีการใช้ทรัพยากรเครือข่ายเซิร์ฟเวอร์และหน่วยเก็บข้อมูลอย่างมีประสิทธิภาพสูงสุด

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

สำหรับการสำรองฐานข้อมูลใด ๆ สิ่งที่ต้องพิจารณาหลักคือความสอดคล้องของการสำรองข้อมูลและผลกระทบต่อผู้ใช้และแอปพลิเคชัน อย่างไรก็ตามการสำรองข้อมูลของ MySQL ระยะไกลมีความท้าทายเพิ่มเติมที่เกี่ยวข้องกับ:

  • การใช้งานเครือข่าย
  • ความปลอดภัยและ
  • ความยืดหยุ่นในการกู้คืนข้อมูล MySQL ไปยังโฮสต์อื่น

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

การสำรองข้อมูลที่เพิ่มขึ้นช่วยลดการใช้งานหน้าต่างสำรองและเครือข่ายได้อย่างมากเนื่องจากจะมีการย้ายเฉพาะการเปลี่ยนแปลงตั้งแต่การสำรองข้อมูลแบบเต็มหรือการสำรองข้อมูลครั้งสุดท้ายล่าสุดเท่านั้น ZRM ช่วยให้คุณสามารถกู้คืนข้อมูลของคุณจากการสำรองข้อมูลส่วนเพิ่มได้อย่างง่ายดายแม้ว่าคุณจะต้องใช้ภาพสำรองที่เพิ่มขึ้นหลายภาพเพื่อให้ข้อมูลของคุณกลับไปยังจุดใดเวลาหนึ่ง การสำรองข้อมูลส่วนเพิ่มจำเป็นต้องเปิดใช้งานบันทึกไบนารี MySQL แต่ตามเอกสารของ MySQL การเปิดใช้งานบันทึกไบนารีจะส่งผลให้ ประสิทธิภาพตีน้อยกว่า 1%

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

  • จาก MySQL บน Solaris ไปจนถึง MySQL บน Linux
  • จากเครื่องมือจัดเก็บข้อมูลหนึ่งไปยังอีกเครื่องหนึ่ง
  • จากเซิร์ฟเวอร์ 32 บิตไปยังเซิร์ฟเวอร์ 64 บิต
  • จากผู้ให้บริการโฮสติ้งที่มีการจัดการรายหนึ่งไปยังศูนย์ข้อมูลของคุณหรือผู้ให้บริการรายอื่นด้วยการกำหนดค่า MySQL ที่แตกต่างกัน

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

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

  • การสำรองข้อมูลและการกู้คืนโดยเฉพาะจะเร็วกว่ามาก ตัวอย่างเช่นไม่ใช่เรื่องแปลกที่จะเห็นว่าสำหรับฐานข้อมูลเดียวกันที่มีขนาด 4-5 GB การสำรองข้อมูลดิบจะเร็วกว่าการสำรองข้อมูลแบบลอจิคัลถึง 5 เท่าและการกู้คืนอิมเมจสำรองข้อมูลดิบจะเร็วกว่าการกู้คืนตรรกะถึง 20 เท่า ภาพ.
  • คุณจะทราบขนาดที่แน่นอนของข้อมูลสำรองของคุณเสมอเนื่องจากเป็นเพียงสำเนาของฐานข้อมูล
  • ให้ความสามารถในการปรับขนาดที่ดีขึ้นซึ่งอาจมีความสำคัญหากฐานข้อมูล MySQL ของคุณมีขนาดค่อนข้างใหญ่เช่น 10-20 GB ขึ้นไป

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

การสำรองข้อมูลทั้งแบบดิบและแบบลอจิคัลจะให้การสำรองข้อมูลที่อบอุ่นซึ่งหมายความว่าคุณไม่จำเป็นต้องปิดเซิร์ฟเวอร์ MySQL เพื่อสำรองข้อมูล แต่ตารางทั้งหมดจะถูกล็อคระหว่างการสำรองข้อมูลและผู้ใช้ไม่สามารถป้อนข้อมูลได้ นั่นคือเหตุผลที่คุณควรพิจารณาใช้ปลั๊กอินการตั้งเวลา ZRM ที่ช่วยให้การสำรองข้อมูลล่าช้าตามเกณฑ์ที่คุณกำหนด ตัวอย่างเช่นคุณสามารถเลื่อนการสำรองข้อมูลออกไปหนึ่งชั่วโมงหากผู้ใช้มากกว่า 50 คนเข้าถึงฐานข้อมูล

ข้อพิจารณาที่สำคัญประการหนึ่งสำหรับการสำรองข้อมูลระยะไกลของ MySQL คือการตัดสินใจเกี่ยวกับประเภทของการเชื่อมต่อที่จะสร้างระหว่าง ZRM และเซิร์ฟเวอร์ MySQL ระยะไกล ZRM มีปลั๊กอินสำหรับการเชื่อมต่อแบบซ็อกเก็ตและปลั๊กอินอื่นสำหรับการเชื่อมต่อแบบ SSH สถาปัตยกรรมที่ยืดหยุ่นของ ZRM ช่วยให้ผู้ใช้สามารถเขียนปลั๊กอินของตนเองได้

ตามชื่อที่แนะนำปลั๊กอินการคัดลอกซ็อกเก็ตจะสร้างซ็อกเก็ตที่ให้การสื่อสารระหว่าง ZRM และ MySQL ผ่านเครือข่ายที่ใช้ IP ปลั๊กอินคัดลอกซ็อกเก็ตต้องการให้บริการ xinetd ทำงานบนเซิร์ฟเวอร์ MySQL และพอร์ตเริ่มต้น 25300 จึงจะเปิดได้ หากจำเป็นผู้ดูแลระบบสำรองสามารถเปลี่ยนพอร์ตได้ ปลั๊กอินคัดลอกซ็อกเก็ตไม่ปลอดภัยและควรใช้เฉพาะเมื่อความปลอดภัยไม่น่ากังวลหรือเมื่อสร้างความปลอดภัยด้วยวิธีอื่นเช่นเมื่อคุณมีการเชื่อมต่อ VPN ระหว่าง ZRM และเซิร์ฟเวอร์ MySQL ระยะไกลของคุณ

ปลั๊กอินคัดลอก SSH จัดเตรียมช่องสัญญาณที่ปลอดภัยระหว่าง ZRM และเซิร์ฟเวอร์ MySQL ระยะไกล ใช้การเข้ารหัสคีย์สาธารณะเพื่อพิสูจน์ตัวตนเซิร์ฟเวอร์ MySQL ระยะไกลและผู้ใช้สำรองที่รัน ZRM ปลั๊กอิน SSH ต้องการให้พอร์ต TCP 22 มาตรฐานเปิดอยู่และ SSH daemon จึงจะรัน ปลั๊กอินคัดลอก SSH เหมาะสมที่สุดเมื่อมั่นใจว่าการรักษาความปลอดภัยของข้อมูลสำรองเป็นสิ่งสำคัญ เนื่องจากการเชื่อมต่อ SSH ใช้รอบ CPU มากขึ้นในการเข้ารหัสอาจมีผลกระทบต่อประสิทธิภาพการสำรองข้อมูลเมื่อเปรียบเทียบกับการสำรองข้อมูลด้วยการเชื่อมต่อซ็อกเก็ต

ตารางต่อไปนี้สรุปข้อควรพิจารณาเมื่อเลือกซ็อกเก็ตกับปลั๊กอินคัดลอก SSH สำหรับการสำรองข้อมูลระยะไกลของ MySQL:

การเชื่อมต่อระยะไกล
เสียบเข้าไป
พอร์ตที่ใช้ ความปลอดภัย ประสิทธิภาพสัมพัทธ์ ความคิดเห็นในการติดตั้ง
สำเนา SSH 22 (คงที่) ให้การรับรองความถูกต้องและการเข้ารหัสที่แข็งแกร่งสำหรับการย้ายข้อมูลสำรองผ่านสาย ประสิทธิภาพต่ำลงและขึ้นอยู่กับหน่วยความจำเซิร์ฟเวอร์ MySQL ทรัพยากร CPU และแบนด์วิดท์ที่มีอยู่ บ่อยครั้งคุณอาจมีการเชื่อมต่อ SSH กับเซิร์ฟเวอร์ MySQL ระยะไกลที่สร้างขึ้นแล้วด้วยเหตุผลอื่นนอกเหนือจากการสำรองข้อมูลและการกู้คืน มิฉะนั้นคุณต้องสร้างการเชื่อมต่อ SSH ระหว่างเซิร์ฟเวอร์ ZRM และ MySQL
สำเนาซ็อกเก็ต 25300 (สามารถเปลี่ยนแปลงได้) การสำรองข้อมูลผ่านสายไม่ปลอดภัย ประสิทธิภาพที่สูงขึ้น ควรติดตั้งซอฟต์แวร์เพิ่มเติมบนเซิร์ฟเวอร์ MySQL ตัวอย่างเช่นสำหรับ ZRM 1.1 เวอร์ชัน Enterprise ให้ใช้ MySQL-zrm-enterprise-socket-server-1.1-1.noarch.rpm สำหรับเวอร์ชันชุมชนโปรดดูหน้าดาวน์โหลดสำหรับแพ็กเกจที่แน่นอน

สำหรับรายละเอียดทางเทคนิคเพิ่มเติมลงทะเบียนฟรีกับ Zmanda Network และดาวน์โหลดเอกสารไวท์เปเปอร์ฉบับเต็มนี้ คุณจะได้เรียนรู้วิธีใช้ ZRM สำหรับสถานการณ์ทั่วไปต่างๆ ตัวอย่างเช่นเราจะให้รายละเอียดทางเทคนิคเกี่ยวกับวิธีการสำรองข้อมูลโดยมีการรักษาความปลอดภัยบนสายและอยู่นิ่งโดยใช้ปลั๊กอินสำเนา SSH สำหรับกรณีการใช้งานนี้:

ZRM ผ่านอินเทอร์เน็ต

นอกจากนี้เราจะให้รายละเอียดทางเทคนิคเกี่ยวกับการสำรองข้อมูลเชิงตรรกะและดิบที่มีประสิทธิภาพมากขึ้นโดยใช้ปลั๊กอินคัดลอกซ็อกเก็ต

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

อ้างอิง:
ZRM สำหรับ MySQL
ZRM สำหรับ MySQL Wiki
Zmanda ฟอรัม