lvm快照不停机备份mysql

用lvm快照备份mysql的前题是mysql的/data和log目录都在同一个lv上。不过鉴于一般vg里没有额外的空间做快照,可以选择临时插一个空间足够大的U盘。至于空间多大够用可以这样估计:如果整个数据库的容量约40G,按60MB/s复制,需要复制682秒。如果你的数据库每秒钟写磁盘1MB,那682秒会写682MB。因为有时候数据库多次写的是同一块数据,只会在第一次写的时候把原来的数据复制到快照的空间里。所以快照原则上大于682MB就够了。但是为了避免额外的错误,建议多留一些空间,避免因快照空间满了导致被快照的分区无法写入。如果新加的快照大小大于数据库所在的lv总大小,那就完全不用担心了。

pvcreate /dev/sdd //此处是新添加的磁盘,用fdisk -l查看
vgextend VolGroup /dev/sdd //此处的VolGroup通过df -h 加 lvdisplay确认要把pv加到哪个vg里

//再启动个终端
//登陆mysql
mysql>flush tables with read lock;
mysql>flush logs;

 

//再启动个终端执行

$ mysql -uroot -p -e 'show master status\g'> ~/master.info//,保存master位置信息

 

lvcreate -L 10G -s -p r -n snap_data /dev/VolGroup/lv_root//  通过df -h加lvdisplay查看要快照的lv设备,其中10G是空间 -s是快照 -n是名字 -p r代表只读快照
mkdir -p /mnt/snap
mount /dev/VolGroup/snap_data /mnt/snap/
ls /mnt/snap

//去刚才锁表的终端,解锁表
unlock tables;

此处拷贝/mnt/snap下的数据,复制出去,记得一起复制 ~/master.info和/etc/my.cnf,建slave或者恢复数据的时候会用。

 

//拷贝完后,卸载:
umount /mnt/snap
lvremove /dev/VolGroup/snap_data


//从vg里移除lv
vgreduce VolGroup /dev/sdd

//确认是否删除可以用vgdisplay -v

//删除pv
pvremove /dev/sdd

删除后即可正常移除新添加的硬盘了。

其他命令:
lvs查看所有lv的使用情况,可以看到快照使用空间的百分比

vgdispaly -v 查看vg的组成

转载于:https://www.cnblogs.com/xxo0/p/7886513.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值