ฉันเคยทำแบบนี้เมื่อไม่กี่ปีก่อน (แก้ไข: ด้วย VMWare ที่รันบนโฮสต์ CentOS ไม่ใช่ ESXi ที่ยอมรับ)
ทุกคืนฉันมีสคริปต์ที่จะระงับ VM, rsync ไฟล์จากดิสก์ไปยังเซิร์ฟเวอร์สำรองแล้วเริ่ม VMs อีกครั้ง มันทำงานได้ค่อนข้างดียกเว้น ...
Rsync ใช้งานได้ไม่ดีกับไฟล์ 2GB
ไม่ใช่เพราะ rsync ไม่ได้ยอดเยี่ยมยิ่งไปกว่านั้นไฟล์ 2GB vmdk แต่ละไฟล์จะเปลี่ยนไปในลักษณะที่มีความทึบแสงต่อ rsync มากแม้ว่าการเปลี่ยนแปลงเล็กน้อยในระบบไฟล์ที่แนบจะทำให้เกิดการเปลี่ยนแปลงใน vmdk (หรือ vmdks ทั้งหมดด้วยเหตุผลบางประการ) Windows ไม่ว่าจะจัดเรียงข้อมูลโดยอัตโนมัติหรือทำสิ่งอื่น ๆ ทั้งหมดซึ่งไม่สำคัญว่าคุณใช้ระบบจริง แต่จะปรากฏขึ้นเมื่อคุณพยายาม rsync VM!
ฉันคิดว่ากลไก rsync สำหรับตรวจจับการเปลี่ยนแปลงไม่ได้ผลดีมากในไฟล์ 2GB ในขณะที่มันข้ามชิ้นส่วนเริ่มต้นของ vmdk บ่อยครั้งเมื่อมันเริ่มพบความแตกต่างมันก็แค่คัดลอกส่วนที่เหลือของไฟล์ ฉันไม่ทราบว่าเป็นปัญหาของ rsync หรือไม่ที่สามารถตรวจจับข้อมูลไบนารีที่ถูกย้ายหรือมีหน่วยความจำไม่เพียงพอในกล่องต้นทางหรือว่า vmdk เพิ่งได้รับการอัปเดตตลอดทาง ไม่สำคัญว่าผลลัพธ์จะเหมือนกัน - vmdk ส่วนใหญ่ถูกคัดลอก
ในที่สุดฉันก็แค่คัดลอกไฟล์ที่มีการเปลี่ยนแปลงและเขียนทับพวกเขายังคงใช้ rsync ฉันยังมีประสิทธิภาพที่ดีขึ้นเพียงแค่เขียนทับแฟ้มสำรองข้อมูลแทนที่จะปล่อยให้คัดลอก rsync และแทนที่สิ่งที่มีอยู่
เซิร์ฟเวอร์สำรองของเราไม่ใช่วิธีที่เร็วที่สุดและไปถึงจุดที่ค้างคืนไม่นานพอที่จะสำรองข้อมูล VM ที่ใช้งานอยู่ทั้งหมด
อย่างไรก็ตามเมื่อเราต้องการกู้คืน VM มันเป็นเรื่องง่ายและทำงานได้อย่างสวยงาม