我有一个装有 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
答案3
正确的(初始)方法是将 LVM 覆盖在 RAID 阵列之上,然后根据需要重新分配卷。但目前还无法做到这一点。
你可能还有别的办法。Ext3/Ext2 是可调整大小的,尽管在收缩文件系统时这样做有点冒险。除非你别无选择,或者你愿意冒着数据风险,否则我不建议这样做:
- 在另一台机器上安装阵列。这是必要的,因为您的启动/根目录位于阵列上,使过程复杂化。您可以使用只读安装等来执行此操作,但我们尽量简单。
- 您将 Ext2/3 文件系统缩小到新大小。这样会创建“空间”。请注意,缩小的大小仅限于磁盘上存储的数据量...如果您有 3Gbyte 的数据,您不能将其缩小到 2.5Gbyte 并期望它能正常工作。
- 然后你缩小硬盘分割匹配。这是棘手的部分。如果缩小太多,最终会造成严重的重叠,从而导致数据丢失。如果分区比文件系统大小稍大,则不会造成影响;您始终可以将现有分区扩展到额外的空间。
- 将分区表写入 MD 设备。
您现在有两条路径,一条有 LVM,一条没有。
使用旧式分区:
- 创建一个或多个新的磁盘分区(根据需要创建多个)
- 将每个分区格式化为文件系统。
- 将现有文件系统数据移动到新创建的分区
- 编辑 /etc/fstab 以在启动时挂载新分区
使用 LVM:
- 将所有现有的“新”空间标记为 LVM 分区。将分区更改写入磁盘。
- 从分区创建一个新的卷组。
- 从卷组分配逻辑卷
- 将每个逻辑卷格式化为文件系统。
- 将现有文件系统移至新创建的逻辑卷
- 编辑 /etc/fstab 以在启动时挂载新的 LVM 卷