网络维护和通过LVM快照在线备份MySQL的方法
今天在一个寝室做网络维护的时候,发现开始网线插上电脑没有反应,但是用测线仪测了一下后,再插上电脑,显示有反应但是一直显示正在识别,然后我重启了电脑,咦,这次就可以了!这是为什么呢。
猜想:测线仪的强电流击通了交换机的连接,形成了通路,但是电脑缓存使得网络识别不了,所以重启电脑就能再度上网。
文件系统快照是一种非常好用的在线备份方法,特别是我们再升级过程中遇到问题需要回退的状况下。我们可以事先创建一个镜像,如果升级失败,只要回滚就可以了。
使用LVM快照备份原因:
1>几乎可以实现热备,无须关闭服务。
2>支持所有的mysql存储引擎,如InnoDB,MYISAM等。
3>备份速度快,只需拷贝二进制日志文件即可
金无赤足,人无完人,它也存在一些缺点,如:
1>数据文件必须在逻辑卷上
2>数据文件和事务日志要在同一逻辑卷
LVM快照工作原理
LVM使用写时复制来创建快照,只简单标记创建快照的时间点,读数据的时候是从原始卷上读,当原始卷数据有变化时,LVM在有写入操作时,复制受到影响的块到创建快照预留区域中。利用快照,我们可以使用很少的物理存储空间对一个非常大的卷做快照,但我们一定要预估可能发生改变的数据量,并分配足够的空间。假如分配空间不够,又需要写入数据,那么设备就变得不可用。
基本操作步骤:
1>施加读锁,锁定所有表;
2>打开另一终端,保存二进制日志文件和相关位置信息;
3>创建快照卷
4>释放锁并挂载快照卷,然后备份
5>可以删除快照卷,并进行增量备份二进制日志文件
6>恢复
所有数据文件已经准备好,mysql数据文件存放在逻辑卷上,并挂载到/mydata目录,数据文件在/mydata/data。每表一个表空间文件,既 innodb-file-per-table在on的状态。
此例中有一个名为school的数据库,并含有一个student表。为实验方便,开启三个终端,简记为终端1,终端2,终端3。