是否可以将条带逻辑卷转换为线性逻辑卷?

是否可以将条带逻辑卷转换为线性逻辑卷?

我有一个跨三个物理卷的条带化逻辑卷。我必须将此逻辑卷移动到另一个物理卷。使用 pvmove 命令可以很好地完成此操作。但是,我后来发现逻辑卷仍然是条带化的,现在所有三个条带都在同一个物理卷上。有没有办法将条带化的逻辑卷转换为线性逻辑卷?我在 Linux 上使用 LVM2。

我认为最明显的可能性是重命名条带逻辑卷,创建新的线性逻辑卷,然后复制数据,但这需要将文件系统离线一段时间。不幸的是,我不能在下周之前做到这一点。有没有更好的选择?

答案1

也可以先使用另一个单个 PV 构建镜像,然后拆分条带卷。这需要一个空闲的 PV,但我再次假设 pvmove 也需要它。

例如,如果您有一个lvsplit使用 PV 的卷,并且是一个具有足够可用范围的(临时)PV,您可以执行以下操作:sda1sdb1sdc1

lvconvert -m 1 /dev/volumegroupname/lvsplit

这将从您的条带卷创建镜像,使用 sdc1 来构建镜像

...让镜子建造...

lvconvert -m 0 /dev/volumegroupname/lvsplit /dev/sda1 /dev/sdb1

这会将镜像转换回单个卷,取出 PV/dev/sda1和上的范围/dev/sdb1,使 sdc1 成为您现在的线性 LV 的唯一 PV。

然后您可以pvmove从 sdc1 迁移到另一个 PV,或者使用镜像技术而不是 pvmove 来迁移回sda1sdb1

答案2

然而,我后来发现逻辑卷仍然是条带化的

是的,这真是太麻烦了。性能大幅下降(以前就知道这个)。

还有更好的选择吗?

当然,但很不愉快。你必须对pvmove所有范围进行操作,这样它们才能按逻辑顺序排列。我更喜欢自己编写脚本,但你可以尝试使用http://bisqwit.iki.fi/source/lvm2defrag.html(当然,风险由您自行承担)。

相关内容