利用LVM的快照功能来实现对数据做几乎热备

2015-01-21 12:22:05 · 作者: · 浏览: 4

LVM的快照功能可以将某一时刻的信息记录到快照区中,因此,可以利用这一特点对数据做完全备份。而后,新提交的数据可以利用二进制日志文件来做增量备份和还原。因此,通过这种方式就可以实现对数据做几乎热备。


要想利用LVM的快照功能实现几乎热备,需要满足如下条件:


1、数据文件必须要逻辑卷上


2、此逻辑卷所在卷组必须要有足够空间存储快照卷


3、数据文件和事务日志要在同一个逻辑卷是上。


实现步骤如下:


1、打开会话,施加读锁,锁定所有表,且执行日志滚动


mysql> flush tables with read lock;


mysql>flush logs;


2、通过打开另一个终端,保存二进制日志文件及位置等相关信息


$mysql -uroot -p -e 'show master status\G'? > /path/to/master.info


3、创建快照卷


#lvcreate -L? # -s? -p r -n? LV_NAME /path/to/source_lv_NAME


4、释放锁


mysql>unlock tables;


5、挂载快照卷,并将里面的数据复制一份


#mount? /path/to/LV_NAME? /path/to/dir/


#cp -a? /path/to/dir/*? ? /path/to/otherdir/


6、删除快照卷


#umount? LV_NAME


7、增量备份二进制日志文件


8、利用二进制日志文件还原时,关闭二进制日志功能


mysql>set global sql_log_bin=0;


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------