- 我有一台配备六个 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 中这是毫无意义的考虑,但我觉得这是一个好习惯)。