mdadm RAID1 阵列 - 是否需要分区?

mdadm RAID1 阵列 - 是否需要分区?

我已经使用带有 2 个 2TB 磁盘的 mdadm RAID1 阵列几年了,没有出现任何问题。

最近我需要升级到 4TB,所以我买了 2 个 4TB 的新磁盘,并计划更换一个,等待重建,然后更换另一个,增长,并完成调整 /dev/md0 中文件系统的大小

问题是,在所有这些指南中,磁盘在添加到阵列之前都会进行分区(通常是 1 个单个分区占用所有磁盘),我发现这是一种常见的做法,但我的磁盘当天就添加到了阵列中没有分区,即(阵列中我的磁盘之一):

Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000059b8

所以,问题是:是否真的需要对将在 mdadm RAID1 阵列中使用的磁盘进行预分区?这样做有什么好处吗?

答案1

查看教程,例如这里,特别是讨论这里,在 RAID 中使用的驱动器上创建单个分区的目的似乎是

  • 通过将分区类型设置为,将其标记为 RAID 阵列的一部分0xfd
  • 防止(罕见)出现错误消息,指出在磁盘上找到“没有分区表”
  • 通过将分区大小设置为明确定义的数量(通常略小于磁盘大小)来确保可替换性(这是一个英文单词吗?!)。

第 3 点似乎是最有效的,因为如果您想将一个硬盘更换为另一个硬盘,即使标称容量相同,实际的大小总是会有少量变化,真正的“直接”替换只能通过创建具有“明确定义”大小的分区(1)来实现。

第 2 点似乎是一个烦恼,而不是一个阻碍,我个人从未遇到过这样的错误消息,但根据您的设置,它可能会成为一个问题。

根据我的经验,第 1 点并不是必需的,因为mdadm也会在“整个磁盘”设备上创建 RAID UUID,它可以用来自动检测磁盘是否是 RAID 阵列的一部分。

所以,总而言之,这不是一个严格的要求对将在 RAID 阵列中使用的驱动器进行分区,但它也有优点。


(1)在某些情况下,例如当源驱动器上的分区跨越整个磁盘大小时,您想要将一个硬盘进行一对一的逐字复制到另一个硬盘,这种问题也可能会伤到您的脖子,然后你的复制程序发现目标驱动器虽然名义上大小相同,但小了几百个字节......

相关内容