首页 > 其他 > 详细

lvm快照方式进行备份

时间:2014-03-07 03:37:02      阅读:509      评论:0      收藏:0      [点我收藏+]

1.创建快照:

lvcreate --size 100M --snapshot --name mdb-snap01 /dev/vg0/mongodb
因为是增量快照,100M是diff的大小.

2.mount快照卷后,就开始拷贝了.采用写时定向(COW)
我猜测: 快照生成后,原始卷对应块的修改,应该是生成新的block,而旧的block因为有快照引用不会被删除.

3.快照存档
存档时umount,然后dd,gzip:
umount /dev/vg0/mdb-snap01
dd if=/dev/vg0/mdb-snap01 | gzip > mdb-snap01.gz

在mongo或mysql使用过程中,只要一个读锁,然后flush相应改动,创建实时快照,释放读锁,很短的时间就完成备份,对线上服务影响比较小.
不过我在微博上也看到一个关于性能的:
特里王某同事说他尽量避免使用 LVM 因为他做过一些测试得出的结论是相对于块设备上的同种文件系统 LVM2 有近40%的额外性能开销。这与我所知相差甚远:性能损失相对于其灵活性可以忽略。研究后发现真有此事,有无快照对逻辑卷 I/O 性能影响巨大(和 Copy on Write 有关),非得用快照的话 chunksize 越大越好
所以为了避免造成性能下降,快照卷要即时存档释放.

vmware,kvm里的快照镜像用的就是类似技术.

有时间应该动手做一次,要搞清楚何时停止快照.是在lvcreate还是umount的时候呢?



参考:
http://docs.mongodb.org/manual/tutorial/backup-with-filesystem-snapshots/
http://asram.blog.51cto.com/1442164/313073

lvm快照方式进行备份,布布扣,bubuko.com

lvm快照方式进行备份

原文:http://blog.csdn.net/jollyjumper/article/details/20628621

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!