Synthetic Full vs Active Full จะ Backup อย่างไรให้เหมาะกับคุณ?

75
75
        สวัสดีครับ ชาว IT กลับมาพบกันอีกครั้งนะครับ วันนี้จะมาแนะนำในหัวข้อ “วิธีเลือก Backup อย่างไรให้เหมาะสมกับ Storage ที่คุณมี” Software ที่จะใช้ในการ Backup ของเราคือ Veeam Backup & Replication นะครับ ดังนั้นใน Blog นี้เราจะมาพูดถึงวิธีการ Backup โดยใช้ Veeam Software กันนะครับ ซึ่งแน่นอนว่าจะมีในเรื่องของ Synthetic Full และ Active Full รวมอยู่ด้วย แต่จะขออนุญาตแนะนำวิธีการ Backup ทุกรูปแบบของ Veeam เพื่อให้ท่านได้เลือกใช้ได้อย่างเหมาะสมกันนะครับ มาเริ่มกันได้เลยครับ!


วิธีการ Backup ของ Veeam จะมีอยู่ด้วยกัน 3 แบบคือ

       1.Forward Incremental

         เป็นวิธีการ Backup ที่ไม่ยุ่งยากและทำความเข้าใจได้ง่าย วิธีการ Backup แบบนี้สามารถใช้งานได้กับ Storage ทุกประเภท แต่มีข้อแม้นิดหน่อยตรงที่การ Backup วิธีนี้จะใช้พื้นที่ของ Storage มากกว่าวิธีการ Backup แบบอื่น ๆ เนื่องจากวิธีการ Backup แบบนี้จะต้องมีช่วงเวลานึงที่จะต้องสร้าง Full Backup ขึ้นมาใหม่ โดยส่วนใหญ่จะสร้างในทุก ๆ สัปดาห์
Full Backup สำคัญอย่างไร? สิ่งที่ควร Noted ไว้เลยของ Veeam คือการทำงานและการจัดการต่าง ๆ ของ Incremental Backup จะขึ้นอยู่ Full Backup ฉะนั้น Incremental Backup เก่า ๆ จะไม่สามารถลบออกไปได้เลยถ้า Retention Chain ใหม่ยังไม่ได้ถูกสร้างขึ้นมา
        Retention Chain ประกอบไปด้วย Full Backup + Incremental โดย 1 Chain นับจาก Restore Point ที่กำหนดไว้ใน Backup Job เช่น Retention Policy = 4 แปลว่า มี Full Backup 1 Point กับ Incremental Backup อีก 3 Points ถ้า Chain ใหม่สร้างขึ้นมาแล้ว Backup Chain เก่า ๆ จึงจะสามารถลบได้ โดยจะลบก็ต่อเมื่อเข้าเกณฑ์ของ Retention Policy ที่กำหนดไว้โดย Backup Job จากตัวอย่างด้านบนนั่นเอง
สำหรับ Forward Incremental จะแยก Full Backup ออกเป็น 2 ประเภท คือ Active Full และ Synthetic Full

           Active Full – เป็นวิธีการที่มีประสิทธิภาพดีใช้ได้กับทุก ๆ Storage หลักการทำงานคือการ Read data จาก VM Source อีกครั้งนึงเปรียบเทียบได้เท่ากับการทำ Full Backup ใหม่อีกรอบครับ ในส่วนของ Incremental Backup ที่ตามหลัง Chain จะยังคงใช้ CBT (Change Block Tracking) ได้อยู่ เพื่อลดข้อมูลที่ไม่จำเป็น สำหรับ Active Full สามารถใช้ได้ในกรณีที่ Storage Space มีพื้นที่ว่างพอสมควร ในการดำเนินการก็จะต้องค่อนข้างใช้เวลาและ Bandwidth ที่มากพอสมควร เนื่องจากอย่างที่บอกไปข้างต้นว่าเปรียบเสมือนการทำ Full Backup ใหม่อีกรอบนึงครับ

          Synthetic Full – วีธีนี้จะไม่ได้สร้าง Full Backup ขึ้นมาใหม่โดยการไป Read data จาก VM Source อีกรอบเหมือนกับ Active Full แต่จะใช้ไฟล์ Backup ที่มีอยู่ใน Repository หรือ Backup ที่เคยทำมาก่อนแล้วในการสร้าง Synthetic Full Backup ไฟล์ขึ้นมา วิธีนี้เหมาะกับ Backup ที่ Backup VM จำนวนไม่เยอะมาก เนื่องจากจะ Process ได้ดีและเร็ว โดยในการตั้งค่าแนะนำว่าควรใช้คู่กับการเก็บไฟล์แบบ Per-VM Backup File ด้วย
          Per-VM Backup File คืออะไร? โดยค่า Default Veeam จะเขียน VM Data ไปยัง Backup Repository ด้วยการเขียนเพียงแค่ช่องทางเดียว (One Write Stream) และเก็บ Data ของทุก VM ไว้ในไฟล์ Backup เดียวกัน ดังรูปด้านล่าง
         จะเห็นได้ว่าใน VBK หรือ VIB 1 ไฟล์ จะมี Data ของ VM อยู่ 3 VM เลย
แต่สำหรับ Per-VM Backup File จะเป็นการเพิ่ม Write Stream ให้สามารถ Process Backup ได้พร้อม ๆ กัน หลาย VM และเก็บ VM Data ไว้แยกไฟล์กัน ทำให้ใช้ Storage Resource ได้มีประสิทธิภาพมากขึ้น

สามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับ Per-VM Backup File ได้ที่นี่
หมายเหตุ: โดย Default ของ Backup Job ของ Veeam จะกำหนดวิธี Backup Job มาเป็นแบบ Forward Incremental
         ด้านล่างจะเป็นตารางสรุปของ Synthetic Full
2.Forever Forward Incremental

        ข้อดีของการทำ Forever Forward Incremental คือ ประหยัดพื้นที่ของ Storage แต่ก็ต้องแลกมากับการที่ต้อง Resource ในการรวมไฟล์ Backup (Merge Process)
Merge Process จะค่อนข้างใช้เวลาในการดำเนินการโดยขึ้นอยู่กับปริมาณของ Data change ของ Incremental Backup ที่ใช้ทำการ Process ข้อดีอีกข้อของการ Merge คือ มีผลกระทบในการดำเนินการแค่กับ Storage ปลายทางที่เก็บไฟล์ Backup
        Forever Forward Incremental จะมี Retention Chain ที่ยาวกว่าแบบอื่น ๆ แปลว่า ทุก ๆ Incremental Backup จะไม่สามารถมีสถานะ Inactive ได้ ทำให้ไม่สามารถย้าย Backup ไป Capacity Tier ได้ (จะย้ายขึ้นไป Capacity Tier ได้ต้องเป็น Inactive Backup Chain)
สำหรับคำแนะนำในการ Merge จะคล้าย ๆ กับ Synthetic Full แนะนำว่าควรใช้กับ Job ที่ Backup VM จำนวนไม่เยอะมาก เพราะว่าจะช่วยเพิ่มประสิทธิภาพในการ Merge ถ้ากรณีที่ Job มีขนาดใหญ่ Change Rate เยอะ หรือ VM มีจำนวนเยอะ Job จะ Process นานเนื่องจากต้องใช้เวลาในการ Process Metadata ซึ่งปัญหานี้แก้ได้โดยการใช้ Forever Forward Incremental ร่วมกับ Per-VM Backup File ครับ

3.Reverse Incremental

           จะเป็นการทำให้ไฟล์ Backup ล่าสุดเป็น Full Backup สาเหตุที่ทำแบบนี้เพราะว่าเป็นการป้องกันเรื่องของ Backup Chains ที่ต้องประกอบไปด้วย Full Backup + Incremental Backup ซึ่งถ้า Full Backup เสียหายไป Incremental ทั้ง Chain จะไม่สามารถ Restore ได้ Reverse Incremental จึงใช้วิธีการ Inject ในการ Copy data blocks ของ Full Backup ไป Rebuild ใหม่ ที่ Backup ครั้งล่าสุด การทำแบบนี้จะได้อย่างเสียอย่างเพราะจะใช้เวลาในการ Backup ช้า แต่จะ Restore ข้อมูลได้เร็วกว่าแบบอื่น ๆ