使用LVM快照備份Mysql

壹頁書發表於2014-02-04
LVM快照寫時複製的特性(copy-on-write,COW)
    寫時複製快照在快照時間點之後,沒有物理資料複製發生,僅僅複製了原始資料物理位置的後設資料。因此,快照建立非常快,可以瞬間完成。然後,快照副本跟蹤原始卷的資料變化(即原始卷寫操作),一旦原始卷資料塊發生寫操作,則先將原始卷資料塊讀出並寫入快照卷,然後用新資料塊覆蓋原始卷。這樣我們訪問快照捲上的資料仍舊是寫操作前的,可以保證我們備份資料的一致性。
    原理圖:


設計一個實驗,使用LVM快照備份資料,然後刪除Mysql所有資料檔案,最後使用快照恢復資料庫。
1.建立LVM快照
2.刪除Mysql所有的資料檔案
3.停止Mysql資料庫例項
4.資料還原
5.資料恢復

1.建立LVM快照
    給vg_lihuilin_-lv_root邏輯卷建立一個名為mysql-snap的快照。其中vg_lihuilin_-lv_root掛載為"/"。
    

2.刪除Mysql所有資料檔案,模擬一個事故
    
    可以看到Mysql的資料檔案已經全部刪除,但是快照中的檔案還在。可以恢復資料庫到快照建立的時間點(point-in-time)。
3.停止Mysql資料庫例項
    因為資料庫的資料檔案已經被刪除,所以先停止資料庫例項。

4.資料還原
    將快照中的檔案恢復到Mysql的資料目錄。

5.資料恢復
    重新啟動Mysql例項,innodb引擎會進行例項恢復。


每次備份之後,應該刪除快照,減少IO操作。

參考:
http://blog.csdn.net/dba_waterbin/article/details/12720441
http://asram.blog.51cto.com/1442164/313073
http://vbird.dic.ksu.edu.tw/linux_basic/0420quota.php#lvm_snapshot

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1077128/,如需轉載,請註明出處,否則將追究法律責任。

相關文章