如何在使用mdadm增长raid5时创build分区

我有4个驱动器,2x640GB和2x1TB驱动器。 我的arrays由四个640GB分区和每个驱动器的开始组成。 我想用1TB驱动器replace两个640GB。 我知道我需要1)失败的磁盘2)更换新的3)分区4)添加磁盘arrays

我的问题是,当我在新的1TB驱动器上创build新分区时,是否创build1TB“RAID自动检测”分区? 还是我创build另一个640GB的分区,并在以后增长?

或者也许同样的问题可以措辞:在我replace驱动器后,如何增长640GB RAID分区以填充1TB驱动器的其余部分?

fdisk信息:

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xe3d0900f Device Boot Start End Blocks Id System /dev/sdb1 1 77825 625129281 fd Linux raid autodetect /dev/sdb2 77826 121601 351630720 83 Linux Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xc0b23adf Device Boot Start End Blocks Id System /dev/sdc1 1 77825 625129281 fd Linux raid autodetect /dev/sdc2 77826 121601 351630720 83 Linux Disk /dev/sdd: 640.1 GB, 640135028736 bytes 255 heads, 63 sectors/track, 77825 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x582c8b94 Device Boot Start End Blocks Id System /dev/sdd1 1 77825 625129281 fd Linux raid autodetect Disk /dev/sde: 640.1 GB, 640135028736 bytes 255 heads, 63 sectors/track, 77825 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xbc33313a Device Boot Start End Blocks Id System /dev/sde1 1 77825 625129281 fd Linux raid autodetect Disk /dev/md0: 1920.4 GB, 1920396951552 bytes 2 heads, 4 sectors/track, 468846912 cylinders Units = cylinders of 8 * 512 = 4096 bytes Disk identifier: 0x00000000 

我的问题是,当我在新的1TB驱动器上创build新分区时,是否创build1TB“RAID自动检测”分区?

你可以,但是你不会马上得到任何东西。

还是我创build另一个640GB的分区,并在以后增长?

是。

RAID-on-partition有其用途,但是当您在伪存储池设置中使用驱动器时,有时使用“整个驱动器”而不是“分区”RAID成员更好。 指定整个驱动器(即/ dev / sdc而不是/ dev / sdc1)具有隐式地告诉RAID机制整个驱动器将被使用的优点,因此,不需要创build/扩展/移动分区 – 具备-你。 这使得硬盘变成了一个或多或less可互换的“存储砖”,其中“砖块”中最大的“块大小”将是该组中最小的驱动器(即,如果你有一个40GB,80GB和两个120GB,RAID机制将使用4×40GB,因为它不能在最小的驱动器上获得更多的空间)。 请注意,此答案适用于Linux软件RAID(mdadm),可能适用于其他环境,也可能不适用。

缺点是如果你的RAIDconfiguration需要灵活性,你将失去这种能力,因为整个驱动器将被声明。 但是,您可以通过使用LVM-on-RAID来弥补这种损失。 全驱动RAID的另一个问题是,一些恢复过程需要更多的思考,因为他们经常假设存在一个分区。 如果您使用需要分区表的工具,则可能会妨碍驱动器。


不请自来的build议(没有什么比这个更重要,如果它打破了,你保留了两件)等等。

你最好的办法是按照你的喜好设置你的RAIDarrays,使用“整个驱动器”技术,然后使用LVM来pipe理你的分区。 这给你一个容错与RAID的smidgeon,但灵活的dynamic大小的分区。 另外一个好处是:如果你使用Ext3(Ext2可能支持这个,不确定),你可以在安装时调整“分区”的大小。 能够在“热”时转移挂载点的大小是一个很好的function,我build议考虑它。


其他后续行动:

我收到了一个评论,说Ext2不支持热resize。 事实上,这只是为了增加规模。 你可以在这里阅读更多的链接 。 我已经做了几次,我可以说,这是可能的,它的工作,并可以节省您的时间。