我犯了一个错误,直接使用 LVM 设置 RAID6。为了获得更好的灵活性,我需要切换到通过 MDRAID 管理 RAID。
有没有办法可以减少阵列的大小(释放磁盘)。或者,我可以从阵列中移除磁盘,让阵列处于降级状态吗?
然后,我会在 MDRAID 中创建一个阵列,迁移数据,然后迁移其余的磁盘。
这是一个 Ubuntu 14.04 VM。
答案1
由于最近的 LVM 版本使用 MDRAID 来提供 RAID 特性,因此应该可以调整数组的大小。你必须
- 使用以下方法减少 LVM 卷:
lvresize
- 减少 LVM 物理卷
pvresize
- 如果数组未自动调整大小,请使用
mdadm
来执行此操作。您可以使用cat /proc/mdstat
然而,请考虑 RAID6 重塑需要相当长的时间。备份所有数据并销毁/重新创建阵列可能更快/更容易。
答案2
因此我最终遵循了这个程序:
- 卸载逻辑卷
- “停用”逻辑卷
- 在一个物理卷上使用
pvremove --force --force
。需要 --force --force 才能删除正在使用的物理卷 --partial
使用标志重新“激活”逻辑卷- 重新挂载逻辑卷
最终结果是,我可以读取阵列上的所有数据。由于我使用的是 RAID6,因此我甚至还保留了一个设备的冗余。我还有一个空闲的磁盘,可以使用它在 MD 中开始构建阵列。