เคยสงสัยหรือไม่ว่า Veeam Backup กับ Replication ต่างกันอย่างไร?

สวัสดีครับ กลับมาพบกันอีกครั้งนะครับ สำหรับวันนี้ผมจะมาเจาะลึกหลักการทำงานของ Veeam หลังจากที่เราอธิบายถึงการคิด License ไปใน Blog ที่แล้วนะครับ

Veeam เป็น Software ที่เริ่มแรกทำมาเพื่อใช้งาน Backup สำหรับ Virtual Machine โดยเป็นการเล่นคำจาก คำว่า VM (วีเอ็ม) แต่ออกเสียงเร็ว ๆ เป็น Veeam (วีม) นั่นเองครับ

ขอเข้าประเด็นเรื่องความหมาย และหลักการทำงานเลยนะครับ

Backup – หลาย ๆ ท่านเข้าใจความหมายของ Backup อยู่แล้ว คือการสำรองข้อมูล แต่ Backup ทั่ว ๆ ไป จะทำเป็นแบบ File-level Backup เป็นส่วนใหญ่ คือ การสำรองข้อมูลระดับไฟล์ ตัวอย่าง Software เช่น Google Drive, Dropbox หรือ OneDrive ใช้พื้นที่ในการสำรองข้อมูลไม่มากนัก ซึ่งหากนำมาใช้ในการ Backup ระบบการทำงาน เช่น Server ก็อาจจะ Restore (กู้คืนข้อมูล) ได้ช้ากว่า อีกแบบ คือ Image-level Backup แทนที่จะเลือก Backup เป็นไฟล์ข้อมูล Backup ชนิดนี้จะใช้การ Snapshot ทั้งเครื่องแทน ซึ่งในเครื่องก็จะมีไฟล์ทั้งหมดอยู่ในนั้น โดยจะเก็บข้อมูลอยู่ในรูป Image ไฟล์ แต่จะใช้พื้นที่ในการเก็บ Image เยอะกว่าแบบ File-level Backup ข้อดีคือมีประสิทธิภาพ และครอบคลุมมากกว่า

Veeam ใช้เทคโนโลยี Backup แบบ Image-level ในการ Backup VM ด้วยโปรแกรม Veeam Backup & Replication

รูปแบบการ Backup ที่นิยมทำกัน คือ

Onsite Backup – เป็นการสำรองข้อมูลจาก VM ไปเก็บเป็นไฟล์ Backup ไว้ที่ VM หรือ Repository ที่อยู่ภายใน Site เดียวกัน

Offsite Backup – เป็นการสำรองข้อมูลจาก VM ไปเก็บเป็นไฟล์ Backup ไว้ที่ VM หรือ Repository ที่อยู่ต่าง Site เช่น Branch สาขาต่างจังหวัด หรือ เก็บไว้บน Cloud Provider เช่น Cloud HM

หลักการในการ Backup ของ Veeam

Veeam จะ Copy ข้อมูล Image ของ VM ที่ Backup ที่ระดับ Block โดยการทำ Snapshot ซึ่ง Image ที่ได้มา จะสามารถ Restore ได้ทุกรูปแบบ ไม่ว่าจะเป็น

  1. Restore เป็น VM ขึ้นมาชั่วคราว
  2. Restore ทับ VM เดิม
  3. Restore ระดับ Folder กับ File

ขยายความเพิ่มเติม จากที่ได้กล่าวไปทางด้านบนว่า Veeam Backup & Replication ทำขึ้นมาสำหรับระบบ Virtualization และ ใช้ Imaged-base Backup ทำให้ Veeam ไม่ต้อง Install Agent ลงไปใน OS ของ VM เพื่อที่จะเอาข้อมูลจาก VM นั้น ๆ

วิธีการ คือ Veeam จะสั่งให้ Hypervisor (VMware หรือ Hyper-V) ทำการ Snapshot VM ที่ต้องการ Backup ซึ่ง VM Snapshot ก็คือ Copy ของ VM ณ ช่วงเวลานั้นที่มีข้อมูลของ VM ทุกอย่างไม่ว่าจะเป็นค่า Config ต่าง ๆ, OS, ข้อมูลภายใน และ System พูดง่าย ๆ ก็คือ ทำ Snapshot เพื่อ Copy ข้อมูลจาก Snapshot ไปทำเป็น Backup โดย Veeam จะ Copy ข้อมูลของ VM จาก Datastore ที่ระดับ Block เมื่อได้รับข้อมูลก็จะทำการ Compress (บีบอัดข้อมูล) และ Deduplicate (ลดข้อมูลที่ซ้ำซ้อน) ทำให้ไฟล์ Backup มีขนาดที่เหมาะสม โดยจะมี Backup Repository เป็นโกดังปลายทางในการเก็บไฟล์ Backup ที่ถูกแปลงเป็นไฟล์นามสกุลที่ Veeam กำหนด

Veeam จะใช้วิธีการแยก Backup task โดยการทำเป็น Job

ในการทำ Backup จะต้องตั้งค่า Backup Job ซึ่งจะเป็นตัวกำหนดว่าจะ Backup เมื่อไหร่, Backup อะไร, Backup อย่างไร, Backup จากที่ไหนไปที่ไหน

ในหนึ่ง Backup Job จะ Backup แค่ VM เดียว หรือหลาย ๆ VM ก็ได้ และสามารถตั้งค่าให้ Backup อัตโนมัติตามตารางเวลาที่ต้องการ หรือจะกด Manual มือก็ได้ครับ

โดยในครั้งแรกที่ทำการ Backup Job นั้น Image file ที่ได้จะเป็น

Full Backup – ขนาดไฟล์ Full Backup ที่ได้จะมีขนาดใหญ่ แต่ก็มีการบีบอัด และลดการซ้ำซ้อนของข้อมูลแล้ว

ส่วนในครั้งถัด ๆ ไป Backup ที่ได้จะเป็นแบบ

Incremental Backup – ขนาดไฟล์จะมีขนาดลดลง เนื่องจากเป็นส่วนต่างของข้อมูลที่เปลี่ยนแปลงเปรียบเทียบกับ Full Backup

การที่สามารถ Backup แบบ Incremental ได้นั้น เนื่องจาก Veeam สามารถอ่านข้อมูลในระดับ Block ได้ จึงมองเห็นส่วนของข้อมูลที่เปลี่ยนแปลงไป และดึงเฉพาะข้อมูลที่เปลี่ยนแปลงมาเท่านั้น ทำให้ Process Backup ได้ไวกว่าแบบ File-based Backup ครับ

สิ่งที่ต้องเตรียมพร้อมก่อนทำ Backup

  1. Hard disk หรือ Storage ที่มีพื้นที่เพียงพอต่อการเก็บไฟล์ Backup
  2. ความเร็วของ Network ที่เพียงพอ หากเป็น Offsite Backup เนื่องจากต้องส่งข้อมูลผ่านทาง Network โดยสามารถคำนวณความเร็วได้จาก https://www.cloudhm.co.th/community/it-calculator/file-transfer-rate-converter/

Replication – แปลเป็นไทยว่า “การทำซ้ำ” Replication จะต่างจาก Backup ตรงที่ Backup จะเก็บข้อมูลอยู่ในรูปแบบไฟล์ แต่ Replication จะเป็นการ Copy VM ทั้งหมดขึ้นมาอีกชุดนึง และเก็บอยู่ในรูปแบบ VM ที่สามารถเปิดใช้งานได้ในทันทีบน Hypervisor (VMware หรือ Hyper-V) โดยสิ่งที่ต้องเตรียมคือ Resource พื้นฐาน จองไว้สำหรับ VM ไม่ว่าจะเป็น Host, Storage และ Network

การทำ Replication ก็เหมือนกับการ Clone VM เพิ่มอีกชุดนึง

การ Replicate จะมี RTO ที่ต่ำ พร้อมที่จะใช้งานได้ทันที เหมาะสำหรับ VM ที่สำคัญมาก ๆ

รูปแบบ Replication ของ Veeam ที่นิยมทำกัน คือ

Onsite Replication คือการ Replicate VM อีกชุดนึงไว้ใน Site เดิม หรือที่รู้จักกันอีกชื่อว่า High Availability (HA)

Remote (Offsite) Replication คือการ Replicate VM ไป Site อื่น ๆ  เช่น Branch หรือ Cloud เป็นการทำ Disaster Recovery (DR)

หลักการในการ Replication ของ Veeam

หลักการในการทำจะคล้ายกับ Backup โดย Veeam จะทำการ Snapshot VM ที่ต้องการจะ Replicate หลังจากนั้นจะทำการดึงข้อมูลจาก Snapshot ไปสร้างเป็น VM ใหม่ที่ปลายทางจะมีข้อดีกว่าการ Clone เครื่อง ตรงที่เราสามารถ Replication ส่วนต่างมาได้เรื่อย ๆ

ในการทำ Replication ครั้งแรกจะเป็นการทำ Full Replication หรือนำข้อมูลมาสร้างเป็น Replica VM (VM ที่เกิดมาจากการ Replication)

ในครั้งถัด ๆ ไป Veeam จะ Replicate ข้อมูลส่วนต่าง (Incremental) ไปยัง Replica VM โดยจะอยู่ในรูปแบบของ Snapshot ใน Replica VM

เช่นเดียวกันกับ Backup

Veeam จะใช้วิธีการแยก Replication task โดยการทำเป็น Job

ในการทำ Replication จะต้องตั้งค่า Replication Job ซึ่งจะเป็นตัวกำหนดว่าจะ Replicate เมื่อไหร่, Replicate อะไร, Replicate อย่างไร, Replicate จากที่ไหนไปที่ไหน

ในหนึ่ง Replication Job จะ Replicate แค่ VM เดียว หรือ หลาย ๆ VM ก็ได้ และ สามารถตั้งค่าให้ Replicate อัตโนมัติตามตารางเวลาที่กำหนดไว้ หรือ จะกด Manual มือก็ได้เช่นกันครับ

สิ่งที่ต้องเตรียมก่อนทำ Replication

  1. CPU – ที่เพียงพอต่อการรองรับ VM
  2. Memory – ที่เพียงพอต่อการรองรับ VM
  3. Hard disk – ที่เพียงพอต่อการรองรับ VM
  4. Network – ที่สามารถเชื่อมต่อเข้ามาได้โดยสะดวก หากเป็น Offsite ก็ควรจะคำนวณความเร็วจากต้นทางและปลายทาง เพื่อที่จะนำมาคำนวณระยะเวลาที่ใช้ในการ Replicate

สรุปความแตกต่างของ Backup กับ Replication ให้ตามตารางดังนี้ครับ

vs

สำหรับท่านที่ยังไม่มี Offsite Backup และคิดว่าทำ DR Site เองค่อนข้างแพง ทาง Cloud HM มีให้บริการครับ สามารถติดต่อเข้ามาได้เลยครับ ยินดีให้คำปรึกษาครับ

เป็นอย่างไรกันบ้างครับสำหรับเนื้อหาใน Blog นี้ ถ้าใครมีคำถามสามารถเพิ่มเติมได้นะครับ หากต้องการให้เขียนเรื่องใด สามารถ Request เข้ามาได้ครับ ทางผู้เขียนพร้อมแชร์ไอเดียดี ๆ ให้ได้เรียนรู้ไปด้วยกันนะครับ

ขอบคุณครับ

หมายเหตุ: Blog นี้เป็นเพียงความคิดเห็นส่วนตัว  อาจมีข้อผิดพลาด หรือการเปลี่ยนแปลงได้ตามความเหมาะสมครับ

— Cloud HM