出于性能原因,而不是使用一个大型 LVM 卷,它可能会被多个小型条带化 (RAID0) 卷替换。
没有直接将单个磁盘逻辑卷转换为条带化逻辑卷的命令。
这篇文章将解释执行转换的过程。
注意:在开始之前对卷或者文件系统进行完整备份。
此过程可以在实时系统中执行,无需重新启动。
该过程包括在原始卷和新的条带卷之间创建镜像。
镜像完成后,我们可以从镜像中删除原始卷,只留下条带卷。
为了能够执行转换,LVM 逻辑卷 (LV) 中的逻辑盘区 (LE) 数必须能被未来条带化 LV 中将使用的物理卷 (PV) 数整除。
检查分配的 LE 数量:
# lvdisplay --- Logical volume -- LV Path /dev/<VOLUME_GROUP>/<LOGICAL_VOLUME> LV Name <LOGICAL_VOLUME> VG Name <VOLUME_GROUP> LV UUID <VOLUME_UUID> LV Write Access read/write LV Creation host, time <HOSTNAME>, 2020-12-10 08:38:44 +0000 LV Status available # open 1 LV Size <10.00 GiB Current LE 2559 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0
在这种情况下,LE 的数量是 2559.
要知道所需 LE 的数量,我们可以使用:
le = 分配的 LE 数,来自上一个命令(在本例中为 2559)
pv = 将来要使用的条带 PV 数(例如:5)
$ le=2559; pv=5; echo $((le%pv?(le/pv+1)*pv:le)) 2560
在这种情况下,需要一个另外的 LE。
扩展 LV 的示例:
# lvresize --extents +1 /dev/<VOLUME_GROUP>/<LOGICAL_VOLUME> /dev/sdb Size of logical volume <VOLUME_GROUP>/<LOGICAL_VOLUME> changed from <10 GiB (2559 extents) to <10 giB (2560 extents). Logical volume <VOLUME_GROUP>/<LOGICAL_VOLUME> successfully resized.
LV准备好后,继续:
- 将新的 PV 添加到 LV 创建一个条纹镜像。
条纹的数量应该是 PV 的数量:
# lvconvert --type mirror -m 1 --mirrorlog core --stripes 2 /dev/<VOLUME_GROUP>/<LOGICAL_VOLUME> /dev/<PV1> /dev/<PV2> ... /dev/<PV5>
- 从 LV 中删除初始 PV:
# lvconvert -m0 <VOLUME_GROUP>/<LOGICAL_VOLUME> /dev/<INITIAL_PV>
- 从 LVM 中删除 PV:
# vgreduce <VOLUME_GROUP> /dev/<INITIAL_PV> # pvremove /dev/<INITIAL_PV>
日期:2020-09-17 00:13:26 来源:oir作者:oir