Qemu 增量備份功能當前的問題及解決方案

Qemu 提供了一種增量的backup機制,其實現的核心思想是寫時複製,這裏的寫表示的是guest的寫操作。其工作原理是backup的工作線程會根據qemu中維護的block dirty bitmap 將新寫入的數據塊寫到備份的存儲設備當中,如果在備份的過程中block dirty bitmap中對應的某個數據塊被guest寫入,qemu會優先將該數據塊複製到備份存儲設備中,然後在VM的虛擬磁盤鏡像中該數據塊對應的位置寫入新的數據,這樣可以保證備份的數據都是備份動作觸發之前的數據,符合備份的語義,其工作流程如下:

 

 

在實際的生產環境當中,上面的這種工作機制帶來了一些問題。通常來說,出於成本方面的考慮,用作備份存儲的設備相對來說都會慢一些,因此在上面的工作機制下,guest 的寫入操作可能會被慢速的備份設備拖累,主要問題表現在1. guest IO延時增加;2. 在備份存儲設備發生故障的時候guest hang死。備份做爲一種運維手段,是不應該影響到guest 的性能或者擴大故障面的,那麼該如何解決上述的2個問題呢?以下是我們的解決方案:

針對問題1 通過在COW

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章