我有一个带有 2TB 磁盘的 Raid6,现在已将它们全部替换为 4TB 磁盘。在安装我添加到的新的 4TB 磁盘后,我一次将它们取出一个/dev/md2
mdadm --manage /dev/md2 --add /dev/sdx
在更换了所有 7 个之后,我尝试扩大 Raid
mdadm --grow /dev/md2 --size=max
但是它只为我增加了一点点磁盘空间,所以接下来的操作resize2fs /dev/md2
几乎没有给我带来任何好处。
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid6 sdc[6] sdi[5] sdd[4] sde[0] sdf[1] sdg[2] sdh[3]
10737417600 blocks level 6, 64k chunk, algorithm 2 [7/7] [UUUUUUU]
$ uname -a
Linux TheNewServer 3.2.0-59-generic #90-Ubuntu SMP Tue Jan 7 22:43:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ smartctl -i /dev/sdh
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-59-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: WDC WD40EFRX-68WT0N0
Serial Number: WD-WCC4E0836493
LU WWN Device Id: 5 0014ee 2b4608df4
Firmware Version: 80.00A80
User Capacity: 4,000,787,030,016 bytes [4.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 9
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Tue Mar 25 17:18:39 2014 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
$ df -h
/dev/md2 9.9T 8.5T 867G 91% /usr/local1
$ sudo mdadm -D /dev/md2 /dev/md2: 版本:0.90 创建时间:2010 年 7 月 9 日星期五 00:24:49 突袭级别:raid6 数组大小:10737417600(10240.00 GiB 10995.12 GB) 已使用设备大小:2147483520 (2048.00 GiB 2199.02 GB) 突袭设备:7 设备总数:7 首选辅修科目:2 持久性:超级块是持久的 意图位图:内部 更新时间:2014年3月26日星期三12:10:05 状态:活跃 活跃设备:7 工作装置 : 7 故障设备:0 备用设备:0 布局:左对称 区块大小:64K UUID:f0114df5:20f9dafe:ee14e2d4:d0fe943c 事件:0.10947206 编号 主要 次要 RaidDevice 状态 0 8 64 0 活动同步 /dev/sde 1 8 80 1 活动同步 /dev/sdf 2 8 96 2 活动同步 /dev/sdg 3 8 112 3 主动同步 /dev/sdh 4 8 48 4 活动同步 /dev/sdd 5 8 128 5 活动同步 /dev/sdi 6 8 32 6 活动同步 /dev/sdc
我原本预计这里会看到接近 20 Tb。
答案1
啊,您的阵列使用的是旧的 0.9 格式元数据,每个驱动器最多 2 TiB。您需要升级到 1.x 才能使用更大的驱动器。您可以通过停止阵列、将超级块清零并重新创建阵列来执行此操作,注意使用完全相同的驱动器顺序和块大小,指定 --metadata=1.0 和 --assume-clean,然后执行只读 fsck 以确保您操作正确并且数据完好无损,然后再尝试安装它。不过,请确保您首先拥有最新的备份(您是定期备份对吧?)。