- 我有一个软件 RAID 1。
- 系统上已存储数据。
- 我想缩小现有分区,然后用剩余空间创建一个新分区。
- 我会用
parted
。
我知道我无法对任何/dev/sd*
设备进行分区,因为它会忽略并破坏 RAID 1。但为了确定......我可以/ dev/md*
对代表 RAID 1 的设备进行分区吗?
/dev/md0
- /dev/sda1
- /dev/sdb1
/dev/md1
- /dev/sda2
- /dev/sdb2
... and so on
我的问题是:
我是否必须对相关 RAID 阵列的每个设备进行分区,或者我可以只对 RAID 阵列本身进行分区,然后软件 RAID 将其代理到单个设备吗?
如果我必须对任何单个设备进行分区,是否必须先取消 RAID,然后对它们进行分区,然后再次对它们进行 RAID?
答案1
我处理此问题的方法是缩小 RAID,释放底层 HDD 上的空间,然后使用新释放的空间添加其他分区,以便合并到第二个 RAID 中。
收缩高层流程
关于缩小 RAID,以便您可以释放底层 HDD 上的空间,以便可以对它们重新分区,您可以执行类似于本指南中概述的步骤,标题为:如何调整 RAID 分区大小(缩小和增长)(软件 RAID)我过去就是这样做的。
例如,假设 RAID-1 为 40G:
检查文件系统
$ e2fsck -f /dev/md2
缩小 RAID-1 的文件系统
$ resize2fs /dev/md2 25G
缩小 RAID
$ mdadm --grow /dev/md2 --size=31457280
现在将文件系统扩展到 RAID 中可用的最大容量
$ resize2fs /dev/md2
(再次)检查文件系统
$ e2fsck -f /dev/md2
此时,您应该能够使用诸如parted
减小分区大小并回收其释放的空间之类的方法,然后将其添加到新分区中。