COW快照技术与热备存储

(一)COW快照

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

首次写入时需要完成:

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

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

写操作

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

 

图1 COW写操作

读操作:

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

图2 COW读操作

COW的优缺点

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

劣势:

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

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

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

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

(三)实验过程

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

 2.查看硬盘情况

 

 查看结果

 

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

 

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

6.格式化lv

 

 7.装载LV并使用

 8.创建mylv的快照

 查看lv的情况

 

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

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

②往mylv里填充数据块

 

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

 ④再往mylv里写一个文件

10.观察快照目录

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

 

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

11.从快照还原数据

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

②安装dump

 ③还原数据

 

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

 

 4.格式化并挂载

 5.使用阵列

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

 文件内容也还在

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值