COW快照技术与热备存储

(一)COW快照

COW称为写时拷贝,或者写前拷贝。创建快照以后,如果源卷的数据发生了变化,那么快照系统会首先将原始数据拷贝到快照卷上对应的数据块中,然后再对源卷进行改写。

首次写入时需要完成:

一个读操作(读取源位置的数据)

两个写操作(写原位置和写快照预留空间)。

写操作

如下图所示,快照创建以后,上层业务每下发一个数据块,存储上,发生了两次写操作:一次是源卷将数据写入快照卷(即图中Y),一次是上层业务将数据写入源卷(即图中X)。同时,生成一张映射表,表中一列记录源卷上数据变化的逻辑地址,另一列记录快照卷上数据变化的逻辑地址。

COW快照技术与热备存储_第1张图片 

图1 COW写操作

读操作:

如下图,针对快照进行读操作时,首先由快照系统判断,上层业务需要读取的数据是否在快照卷中,若在,直接从快照卷读取,若不在,则查询映射表,去对应源卷的逻辑地中读取(读重定向)。针对源卷进行读操作时,与快照卷没有数据交互。

COW快照技术与热备存储_第2张图片

图2 COW读操作

COW的优缺点

优势:COW 在进行快照操作之前,不会占用任何的存储资源,也不会影响系统性能。因为快照卷只需要保留发生过变化的数据块,与数据卷相比要小得多。

劣势:

降低源数据卷的写性能。当修改源数据时,会发生三次读写操作;

如果主机写入数据频繁,那么这种方式将非常消耗I/O。

无法得到完整的物理副本。快照卷仅仅保存了源数据卷的部分原始数据。

拷贝到快照卷中的数据量超过了保留空间,快照就将失效。

(三)实验过程

1.关机状态下给虚拟机添加6块20GB硬盘,以创建硬盘域

COW快照技术与热备存储_第3张图片

 2.查看硬盘情况

COW快照技术与热备存储_第4张图片

COW快照技术与热备存储_第5张图片 

 查看结果

COW快照技术与热备存储_第6张图片

 

4.检查工具齐备否

[root@tile-service ~]# rpm -qa|grep lvm

udisks2-lvm2-2.9.0-7.el8.x86_64

lvm2-libs-2.03.12-10.el8.x86_64

lvm2-2.03.12-10.el8.x86_64

libblockdev-lvm-2.24-7.el8.x86_64

 5.创建pv→vg→lv

 COW快照技术与热备存储_第7张图片

 创建vg时,可以指定PE的大小

COW快照技术与热备存储_第8张图片

6.格式化lv

 COW快照技术与热备存储_第9张图片

 7.装载LV并使用

COW快照技术与热备存储_第10张图片

 8.创建mylv的快照

COW快照技术与热备存储_第11张图片

 查看lv的情况

COW快照技术与热备存储_第12张图片

 

9.往mylv里面写数据,观察cow区域的变化

①另开一个终端监视窗口,通过SSH登录,实时观察存储区域变化

COW快照技术与热备存储_第13张图片

②往mylv里填充数据块

 

 ③观察cow区域,发生了变化

COW快照技术与热备存储_第14张图片

 ④再往mylv里写一个文件

COW快照技术与热备存储_第15张图片

10.观察快照目录

创建新文件夹mysnap,并将快照挂载到该文件夹下

COW快照技术与热备存储_第16张图片

 

可以发现,mylv下的内容,与mylvsnap01下内容不同,创建快照后在mylv填充的内容,在mylvsnap01中没有。

11.从快照还原数据

①创建一个临时文件夹/mytemp

②安装dump

COW快照技术与热备存储_第17张图片

 ③还原数据

COW快照技术与热备存储_第18张图片

 

11.删除本实验的数据(恢复目录/mytemp、快照、lv、myvg等)

#rm –rf /mytemp

#umount /mnt

#umount /mysnap

#lvremove /dev/myvg/mylv

#lvremove /dev/myvg/mylvsnap01

#vgremove /dev/myvg

二、Raid 5磁盘阵列热备盘设置

1.安装mdadm

yum install -y mdadm

2.以sde1/sde2/sde3/sde5创建名称为myraid5的raid5阵列,阵列工作盘数目为3,热备盘为1

COW快照技术与热备存储_第19张图片

 COW快照技术与热备存储_第20张图片

 4.格式化并挂载

 5.使用阵列

 6.模拟硬盘sde1损坏并修复

COW快照技术与热备存储_第21张图片

 文件内容也还在

 

你可能感兴趣的:(存储,安全)