使用pvmove实现lv数据在线迁移实践

一、实验背景

当Linux服务器配置lvm逻辑卷实现数据存储时,如果在运行过程中出,出现某块硬盘故障或者需要进行存储更换的场景时,我们就可以使用pvmove技术来实现将源PV上分配的物理扩展区(PE)移动到一个或多个目标PV,并且这个迁移过程是在线的,业务影响较低。
pvmove在转移数据时,不需要卸载原挂在文件系统,但根据数据量的多少决定了具体迁移时间,并且于迁移过程当中,可能降低lv逻辑卷的性能,因此建议于业务系统空闲时间进行迁移;

二、PVMOVE的工作原理

1、在目标pv上先创建一个临时的pvmove-lv用来存储所需的所有数据迁移的详细信息;
2、在vg中的每个lv上根据命令行参数搜索需要移动的连续数据。对于找到的每个数据,将新段添加到pvmove -lv的末尾。该段采用临时镜像的形式,用于将数据从源位置复制到新分配的位置。源lv已更新为在pvmove -lv中使用新的临时镜像段,而不是直接访问数据。
3、vg元数据在磁盘上更新。
4、pvmove-lv的第一段被激活,并开始镜像数据的第一部分。一次只能镜像一个段,因为通常这样会更有效。
5、守护程序按指定的时间间隔重复检查进度。当它检测到第一个临时镜像处于同步状态时,它将断开该镜像,以便仅使用该数据的新位置,并将检查点写入磁盘上的vg元数据中。然后,它为pvmove-lv的下一个段激活镜像。
6、当没有更多需要镜像的段时,将删除临时的pvmove-lv,并更新vg元数据,以便lv反映新的数据位置。

三、测试环境配置

操作系统:redhat 7.6
系统设置:关闭防火墙、关闭selinux、lvm配置
系统环境

3.1先给测试机添加两块裸盘

sdb-20GB,sdc-30GB
裸盘

3.2 分别对新增加的盘进行分区

parted /dev/sdb
parted /dev/sdc

3.3创建pv

#pvcreate /dev/sdb1
#pvcreate /dev/sdc1
加入pv

3.4创建vg

#vgcreate datavg01 /dev/sdb1

3.5扩展vg

#vgextend datavg01 /dev/sdc1
vg的创建和扩展

3.6创建lv

#pvdisplay——获取sdb和sdc的pe值
获取pe值
[root@RHEL76 ~]# lvcreate -n lv20 -l 5119 datavg01 /dev/sdb1
[root@RHEL76 ~]# lvcreate -n lv30 -l 7679 datavg01 /dev/sdc1
[root@RHEL76 ~]# lvs -o+devices
lv映射关系

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大江1018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值