我已成功用 2 x 1TB 磁盘替换 2 x 320GB磁盘并重新同步/dev/md0
。/dev/md1
“ sudo mdadm --grow /dev/md0 --size=max
”导致错误“ mdadm: component size of /dev/md0 unchanged at 304686016K
”
我怎样才能扩展/dev/md0
到完整的 1TB?
输出来自fdisk -l
&cat /proc/mdstat
如下
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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: 0x000bccd9
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 609374207 304686080 fd Linux RAID autodetect
/dev/sda2 609374208 624998399 7812096 fd Linux RAID autodetect
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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: 0x000baab1
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 609374207 304686080 fd Linux RAID autodetect
/dev/sdb2 609374208 624998399 7812096 fd Linux RAID autodetect
Disk /dev/md1: 7999 MB, 7999520768 bytes
2 heads, 4 sectors/track, 1953008 cylinders, total 15624064 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
Disk /dev/md1 doesn't contain a valid partition table
Disk /dev/md0: 312.0 GB, 311998480384 bytes
2 heads, 4 sectors/track, 76171504 cylinders, total 609372032 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
Disk /dev/md0 doesn't contain a valid partition table
mick@mick-desktop:~/Desktop$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1] sda1[0]
304686016 blocks [2/2] [UU]
md1 : active raid1 sdb2[1] sda2[0]
7812032 blocks [2/2] [UU]
unused devices: <none>
答案1
mdadm
无法将 RAID 扩展到分区边界之外。您应该在重新同步每个驱动器之前扩大分区,然后才能进行扩展。您能告诉我们您使用的是哪种元数据格式吗?在新安装中应该是,1.2
但如果它足够旧,则可能是0.90
。如果是,则在您的环境中扩展会更容易1.2
。
mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
如果是1.2
,您所要做的就是将分区 (sdb2 sda2) 扩大。确保只有分区的末尾移动,开头必须保持不变,否则您的 RAID 将被破坏。如果您不确定,请只对一个磁盘执行此操作,这样如果出现问题,另一个磁盘仍然可以为您节省时间。您可以使用 执行此操作fdisk
,但更好的选择是parted
或 即使gparted
您更喜欢 GUI。
对于parted
,以下命令应该可以工作(危险,未经询问就写入分区表):
parted /dev/sdb unit s rm 2 mkpart primary 609374208 100%
如果看起来正确,请再次检查 fdisk 输出;重新启动以查看一切是否仍然正常工作(/proc/mdstat
应该显示 RAID 同步UU
);执行相同的操作/dev/sda
,然后在另一次重新启动后尝试再次增长。
如果它仍然是0.90
元数据,我会借此机会用1.2
元数据构建一个新的 RAID 1。在实时 CD 中,一个驱动器发生故障,在其上创建一个新的 RAID,其中一个驱动器丢失,dd
或者rsync -aAHSX
数据丢失,添加另一个驱动器,等等。
为了发展,我认为您仍然必须使驱动器发生故障,扩大分区,然后重新添加它。0.90
将元数据存储在设备的末尾,如果通过扩大分区来移动末尾,则找不到它。