磁盘升级后如何扩大 RAID 1?

磁盘升级后如何扩大 RAID 1?

我已成功用 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将元数据存储在设备的末尾,如果通过扩大分区来移动末尾,则找不到它。

相关内容