Mdadm不会创build大于10TB的数组

  • 我有一个运行Ubuntu 14.04 LTS的六个4TB硬盘的服务器。
  • 其中一个驱动器用于系统/操作系统
  • 我想使用其他5个驱动器尽可能接近20TB的存储空间
  • 这是一个短期的数据分析项目,所以RAID 0是好的
  • 我使用fdisk在每个驱动器上创build一个〜4TB的分区

运行mdadm创buildRAID 0arrays后,结果只是/ dev / md0上的10TB设备。 我期待的大小的一半!

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

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:

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

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

fdisk将不会创build大于2TB(2 ^ 41字节)的分区。 这似乎是非常有据可查的; 可以在这里阅读很多例子。 5 * 2TB = 10TB,这就是你得到的。

您将需要使用GNU分区来在每个驱动器上放置一个GPT分区表; 那么你就可以创build一个/dev/sdX1分区,一直延伸到驱动器的顶部。

或者,如jski所示,您可以使用原始设备而不是分区。 不过,我会采用分区的方法,但是,至less是因为你总是可以将分区修剪到略低于光盘的顶部,以防你需要用小一点的光盘replace光盘(是的,我知道这是毫无意义的考虑RAID-0,但是我觉得这是一个很好的习惯)。