เสนอกลไก blksnap สำหรับสร้างสแน็ปช็อตของอุปกรณ์บล็อกใน Linux

บริษัท Veeam ซึ่งผลิตซอฟต์แวร์สำหรับการสำรองและกู้คืนข้อมูลหลังภัยพิบัติ เสนอโมดูล blksnap เพื่อรวมไว้ในเคอร์เนล Linux ด้วยการดำเนินการตามกลไกในการสร้างสแน็ปช็อตของอุปกรณ์บล็อกและติดตามการเปลี่ยนแปลงในอุปกรณ์บล็อก ในการทำงานกับสแน็ปช็อต ยูทิลิตีบรรทัดรับคำสั่ง blksnap และไลบรารี blksnap.so ได้เตรียมไว้แล้ว ช่วยให้คุณสามารถโต้ตอบกับโมดูลเคอร์เนลผ่านการเรียก ioctl จากพื้นที่ผู้ใช้

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

ในการติดตามการเปลี่ยนแปลงของระบบย่อยอุปกรณ์บล็อก (bdev) เพิ่มความสามารถในการแนบตัวกรองที่อนุญาตให้คุณสกัดกั้นคำขอ I / O blksnap ใช้ตัวกรองที่สกัดกั้นคำขอเขียน อ่านค่าเก่า และบันทึกในรายการการเปลี่ยนแปลงแยกต่างหากที่กำหนดสถานะของสแน็ปช็อต ด้วยวิธีการนี้ ตรรกะของการทำงานกับอุปกรณ์บล็อกจะไม่เปลี่ยนแปลง การบันทึกในอุปกรณ์บล็อกเดิมจะดำเนินการตามที่เป็นอยู่ โดยไม่คำนึงถึงสแนปช็อต ซึ่งช่วยลดความเป็นไปได้ที่ข้อมูลจะเสียหายและหลีกเลี่ยงปัญหาแม้ในกรณีที่เกิดข้อผิดพลาดร้ายแรงที่คาดเดาไม่ได้ ใน blksnap และล้นของพื้นที่ที่จัดสรรสำหรับการเปลี่ยนแปลง

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

Blksnap อิงตามโค้ดของโมดูล veeamsnap ซึ่งเป็นส่วนหนึ่งของผลิตภัณฑ์ Veeam Agent for Linux แต่ได้รับการออกแบบใหม่สำหรับการจัดส่งเฉพาะในส่วนหลักของเคอร์เนล Linux ความแตกต่างทางแนวคิดระหว่าง blksnap และ veeamsnap คือการใช้ระบบตัวกรองที่ติดอยู่กับอุปกรณ์บล็อก แทนที่จะใช้ส่วนประกอบ bdevfilter ที่แยกจากกันซึ่งสกัดกั้น I/O

ที่มา: opennet.ru

เพิ่มความคิดเห็น