1.背景知识
逻辑错误:人为的一些命令或者操作,导致数据丢失或文件损坏。
物理错误:硬盘损坏、磁盘坏道、主板损坏等物理介质损坏。
2.备份
定义:获取关机状态下的虚拟机使用的配置、VM快照及虚拟硬盘。
特点:时间长、重量级、可解决逻辑错误或物理错误导致的问题,占用双倍的存储空间。
注意:关机备份,备份结束后开机。
2.1示例
3.快照
定义:获取正在运行的虚拟机状态(如:开机、关机、挂起)、数据(如:虚拟磁盘、内存)、和硬件配置(如:虚拟网卡)。
特点:时间短、轻量级、仅可解决逻辑错误导致的问题,占用空间取决于数据的变动情况。
注意:
1.快照在此虚拟机上创建一个文件,会记录该虚拟机的所有更改,因此随着快照的增多,该虚拟机的性能会下降。理想情况下是在快照前关闭虚拟机,这样不仅会保持虚拟机状态不变,并且由于不会保存到RAM从而节省大量的空间。
2.快照恢复时候不强制要求虚拟机关机。
3.1示例
存储空间中的一段源数据,存储逻辑地址与物理地址的映射关系。
更改数据ABCD->BACD,如果未进行快照,则数据直接被改动,且无法恢复,图例如下:
更改数据前若进行快照,记录逻辑地址和物理地址的对应关系如下:
此时更改数据,快照地址[0-1]对应的物理地址[0-3]不可变动,而逻辑地址4直接消失,此时按照快照地址[0-1]对应的数据即为源数据ABCD,而逻辑地址[0-3]对应的为BACD+2空单元,图例如下:
3.2 增量快照原理-COW
COW(Copy-On-Write),写时/前拷贝。
一个源卷有指向block中的3个data,某一时刻执行快照,得到快照卷,图示如下:
此时若需要修改d3内容,具体步骤如下:
1.data block新增一个d4
2.读取d3内容
3.将读取到的d3内容写入d4
4.更新快照卷中in3指向d4
5.更新d3内容
3.3 增量快照原理-ROW
ROW(Redirect-On-Write),写时重定向。
类似地,一个源卷有指向block中的3个data,某一时刻执行快照,得到快照卷,图示如下:
此时若需要修改d3内容,具体步骤如下:
1.data block新增一个d4
2.需要修改的新内容直接写入d4
3.更新源卷的in3指向d4
3.4 LVM快照
#创建快照
#首先查看卷组(VG)中的容量是否够用
vgdisplay
#在同一卷组下创建一个针对卷组VG1下逻辑卷lv_root的快照卷,大小120M与lv_root一致,名称为lv_snap
lvcreate -L 120M -s -n lv_snap /dev/VG1/lv_root
#校验快照卷,对逻辑卷进行还原
#首先卸载掉与文件目录的挂载
umount /filename
#还原逻辑卷
lvconvert --merge /dev/VG1/lv_snap