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

Rob*_*Rob 3 raid partition mdadm

  • 我有一台带有 6 个 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
Run Code Online (Sandbox Code Playgroud)

下面是一个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
Run Code Online (Sandbox Code Playgroud)

Mad*_*ter 7

fdisk不会创建大于 2TB(2^41 字节)的分区。这似乎有据可查;可以在此处阅读众多示例中的一个。5*2TB=10TB,这就是你得到的。

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

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