虚拟机快照&备份

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空单元,图例如下:
快照后源数据变动

扫描二维码关注公众号,回复: 15674150 查看本文章

3.2 增量快照原理-COW

COW(Copy-On-Write),写时/前拷贝。

一个源卷有指向block中的3个data,某一时刻执行快照,得到快照卷,图示如下:
COW+ROW快照源头
此时若需要修改d3内容,具体步骤如下:
      1.data block新增一个d4
      2.读取d3内容
      3.将读取到的d3内容写入d4
      4.更新快照卷中in3指向d4
      5.更新d3内容
COW快照

3.3 增量快照原理-ROW

ROW(Redirect-On-Write),写时重定向。

类似地,一个源卷有指向block中的3个data,某一时刻执行快照,得到快照卷,图示如下:
COW+ROW快照源头
此时若需要修改d3内容,具体步骤如下:
      1.data block新增一个d4
      2.需要修改的新内容直接写入d4
      3.更新源卷的in3指向d4
ROW快照

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

快照与备份有什么区别?快照是备份的其中一种么?还是两种不同的概念?
cow和row快照机制的区别

猜你喜欢

转载自blog.csdn.net/weixin_47505548/article/details/129304325