我可以将一个 RAID1 分区一分为二吗?

我可以将一个 RAID1 分区一分为二吗?

我有一个装有 CentOS 6.2 和 RAID1(2x 2Tb)配置的 Linux 机器:

/dev/md1 -> / (10G)
/dev/md2 -> /home (1.9T)

我想将 md2 分成两个不同的分区,这样我就可以得到以下配置:

/dev/md1 -> / (10G)
/dev/md2 -> /home (1T)
/dev/md3 -> /example (900G)

我该如何实现这一点?我已经知道我可以调整分区大小,但这不会改变真正的分区表(仅改变 md 设备),那么我该怎么做呢?

答案1

如果你不使用逻辑卷管理器, 你需要:

  • 删除 md 设备(使用mdadm),
  • 删除分区(使用fdisk),
  • 重新创建所需的分区(使用fdisk),
  • 然后重新创建 md 设备(使用mdadm)。

答案2

最好使用逻辑卷。

然后,您可以创建、扩展并做任意您想做的事情。

这里有一个很好的指南

http://www.gagme.com/greg/linux/raid-lvm.php

答案3

正确的(初始)方法是将 LVM 覆盖在 RAID 阵列之上,然后根据需要重新分配卷。但目前还无法做到这一点。

你可能还有别的办法。Ext3/Ext2 是可调整大小的,尽管在收缩文件系统时这样做有点冒险。除非你别无选择,或者你愿意冒着数据风险,否则我不建议这样做:

  1. 在另一台机器上安装阵列。这是必要的,因为您的启动/根目录位于阵列上,使过程复杂化。您可以使用只读安装等来执行此操作,但我们尽量简单。
  2. 您将 Ext2/3 文件系统缩小到新大小。这样会创建“空间”。请注意,缩小的大小仅限于磁盘上存储的数据量...如果您有 3Gbyte 的数据,您不能将其缩小到 2.5Gbyte 并期望它能正常工作。
  3. 然后你缩小硬盘分割匹配。这是棘手的部分。如果缩小太多,最终会造成严重的重叠,从而导致数据丢失。如果分区比文件系统大小稍大,则不会造成影响;您始终可以将现有分区扩展到额外的空间。
  4. 将分区表写入 MD 设备。

您现在有两条路径,一条有 LVM,一条没有。

使用旧式分区:

  1. 创建一个或多个新的磁盘分区(根据需要创建多个)
  2. 将每个分区格式化为文件系统。
  3. 将现有文件系统数据移动到新创建的分区
  4. 编辑 /etc/fstab 以在启动时挂载新分区

使用 LVM:

  1. 将所有现有的“新”空间标记为 LVM 分区。将分区更改写入磁盘。
  2. 从分区创建一个新的卷组。
  3. 从卷组分配逻辑卷
  4. 将每个逻辑卷格式化为文件系统。
  5. 将现有文件系统移至新创建的逻辑卷
  6. 编辑 /etc/fstab 以在启动时挂载新的 LVM 卷

相关内容