Mdadm 不会创建大于 10TB 的阵列

Mdadm 不会创建大于 10TB 的阵列
  • 我有一台配备六个 4TB 硬盘的服务器,运行 Ubuntu 14.04 LTS。
  • 其中一个驱动器用于系统/操作系统
  • 我想使用另外 5 个驱动器来获得尽可能接近 20TB 的存储空间
  • 这是一个短期数据分析项目,因此 RAID 0 就可以了
  • 我使用 fdisk 在 5 个驱动器上分别创建了一个约 4TB 的分区

运行 mdadm 创建 RAID 0 阵列后,结果只是 /dev/md0 上的一个 10TB 设备。只有我预期大小的一半!

这是我用来创建数组的命令:

mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=5 /dev/sd[bcdef]1

以下是fdisk -l输出。您知道为什么我无法从驱动器中获得更多空间吗?

Disk /dev/sda: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
90 heads, 3 sectors/track, 28940878 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xda4f04e2

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  4294967294  2147482623+  83  Linux

Disk /dev/sdc: 4000.8 GB, 4000787030016 bytes
25 heads, 3 sectors/track, 104187162 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc9e57616

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  4294967294  2147482623+  83  Linux

Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes
25 heads, 3 sectors/track, 104187162 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x53bed1ab

Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048  4294967294  2147482623+  83  Linux

Disk /dev/sde: 4000.8 GB, 4000787030016 bytes
25 heads, 3 sectors/track, 104187162 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbc5c1069

Device Boot      Start         End      Blocks   Id  System
/dev/sde1            2048  4294967294  2147482623+  83  Linux

Disk /dev/sdf: 4000.8 GB, 4000787030016 bytes
25 heads, 3 sectors/track, 104187162 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4801480c

Device Boot      Start         End      Blocks   Id  System
/dev/sdf1            2048  4294967294  2147482623+  83  Linux

Disk /dev/md0: 10995.1 GB, 10995108413440 bytes
2 heads, 4 sectors/track, -1610614656 cylinders, total 21474821120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 2621440 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

答案1

从命令末尾删除 1:

mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=5 /dev/sd[bcdef]

应该可以正常工作。我假设您想使用所有 5 个 RAID 磁盘上的所有可用空间。

答案2

fdisk不会创建大于 2TB(2^41 字节)的分区。这似乎有很好的记录;许多例子中的一个可以在这里阅读.5*2TB=10TB,这就是您所得到的。

您将需要使用 GNUparted在每个驱动器上放置一个 GPT 分区表;然后您将能够创建一个/dev/sdX1一直延伸到驱动器顶部的分区。

或者,正如 jski 所建议的,您可以使用原始设备而不是分区。不过,我还是会选择分区方法,尤其是因为您总是可以将分区修剪为轻微地低于磁盘顶部,以防您需要用稍微小一点的磁盘替换原来的磁盘(是的,我知道在 RAID-0 中这是毫无意义的考虑,但我觉得这是一个好习惯)。

相关内容