LVM 减少 RAID6 阵列

LVM 减少 RAID6 阵列

我犯了一个错误,直接使用 LVM 设置 RAID6。为了获得更好的灵活性,我需要切换到通过 MDRAID 管理 RAID。

有没有办法可以减少阵列的大小(释放磁盘)。或者,我可以从阵列中移除磁盘,让阵列处于降级状态吗?

然后,我会在 MDRAID 中创建一个阵列,迁移数据,然后迁移其余的磁盘。

这是一个 Ubuntu 14.04 VM。

答案1

由于最近的 LVM 版本使用 MDRAID 来提供 RAID 特性,因此应该可以调整数组的大小。你必须

  1. 使用以下方法减少 LVM 卷:lvresize
  2. 减少 LVM 物理卷pvresize
  3. 如果数组未自动调整大小,请使用mdadm来执行此操作。您可以使用cat /proc/mdstat

然而,请考虑 RAID6 重塑需要相当长的时间。备份所有数据并销毁/重新创建阵列可能更快/更容易。

答案2

因此我最终遵循了这个程序:

  • 卸载逻辑卷
  • “停用”逻辑卷
  • 在一个物理卷上使用pvremove --force --force。需要 --force --force 才能删除正在使用的物理卷
  • --partial使用标志重新“激活”逻辑卷
  • 重新挂载逻辑卷

最终结果是,我可以读取阵列上的所有数据。由于我使用的是 RAID6,因此我甚至还保留了一个设备的冗余。我还有一个空闲的磁盘,可以使用它在 MD 中开始构建阵列。

相关内容