使用LVM快照备份Mysql 
使用LVM快照备份Mysql 
藏劍丶 发表于1年前
使用LVM快照备份Mysql 
  • 发表于 1年前
  • 阅读 28
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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

共有 人打赏支持
粉丝 0
博文 54
码字总数 15281
×
藏劍丶
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: