You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在3块异构磁盘上创建非对称段结构的LVM RAID1并尽量保留A2原有数据

如何在3块异构磁盘上创建非对称段结构的LVM RAID1并尽量保留A2原有数据

嘿,我来帮你搞定这个问题!你的核心需求是尽量少动A2上的现有数据,同时把A1+A2做成线性组合,再和B盘搭建RAID1。其实不用绕弯子,咱们可以基于A2上已有的LV逐步调整结构,全程不需要大规模迁移数据,具体步骤如下:

第一步:把A2上的现有LV转换成RAID1,将B盘作为镜像副本

首先,咱们用LVM的lvconvert工具,把A2上那个1.6TB的LV直接转成RAID1结构,指定B盘作为镜像端。这一步A2上的数据完全不会被移动,LVM只会在后台把A2的数据同步到B盘,非常安全。

假设你现有LV的名字是OldLV(不确定的话,用lvscan可以查看),执行命令:

lvconvert --type raid1 -m 1 MyVG/OldLV /dev/B
  • -m 1表示添加1个镜像副本
  • 最后指定/dev/B是为了强制LVM把镜像放在B盘上,避免它自动分配到A1上

你可以用下面的命令监控同步进度,等进度完成后再进行下一步:

lvdisplay -v MyVG/OldLV

或者更直观的实时状态查看:

dmsetup status | grep raid

第二步:将A1加入到RAID1的A2侧,组成线性组合

同步完成后,你的LV现在由两个镜像腿组成:一个在A2上(通常命名为OldLV_rimage_0),一个在B上(通常命名为OldLV_rimage_1)。接下来咱们把A1的空间合并到A2的镜像腿里,把它变成A1+A2的线性组合(因为你不在乎条带,线性扩展是最省事的方式)。

  1. 先确认A2对应的镜像腿名称:用lvdisplay MyVG查看两个rimage开头的逻辑卷,通过Physical volume字段确认哪个是在A2上的。假设A2对应的是OldLV_rimage_0,执行扩展命令:
lvextend -L +1TB MyVG/OldLV_rimage_0 /dev/A1

这里+1TB是A1的总容量,LVM会自动把A1的空间线性追加到A2的镜像腿上,现在这个腿的总容量就变成了1.6TB+1TB=2.6TB。

  1. 扩展B盘上的镜像腿:因为RAID1的容量由最小的镜像腿决定,所以咱们需要把B盘的镜像腿也扩展到2.6TB(B盘有3TB,完全足够):
lvextend -L +1TB MyVG/OldLV_rimage_1 /dev/B
  1. 最后扩展整个LV的容量到2.6TB:
lvextend -L 2.6TB MyVG/OldLV

之后别忘了用对应的文件系统工具扩展文件系统(比如resize2fs针对ext4,xfs_growfs针对XFS),让系统识别到新的容量。

为啥之前的尝试出问题?

你之前创建1.1TiB RAID1变成条带,大概率是因为没指定镜像副本的存放位置,LVM自动把A1和A2各分配了一个镜像腿,相当于把RAID1的两个副本分别放在A1和A2上,看起来像条带,但其实是跨盘的RAID1镜像。而咱们现在的方法是强制把一个镜像腿绑定在B盘,另一个腿用A1+A2的线性组合,完全符合你的需求。

备注:内容来源于stack exchange,提问作者byteit101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 09:23:14