前几天 QNAP TS-410 的一个磁盘出现故障,进入降级模式。所以我买了一个新磁盘。以前的磁盘是 Seagate,但现在我买了 Western Digital,QNAP 在其支持的驱动器数据库中批准了它,大小相同,所以应该没关系吧?所以现在我有 3 个 Seagate 和 1 个 WD。我热交换了新旧磁盘,系统日志显示
[RAID5 Disk Volume: Drive 1 2 3 4] Start rebuilding
但我在 Web 界面上看不到任何重建正在进行的迹象,任何地方都没有进度条,但设备前面的灯闪烁着红色/绿色,表示正在重建。这是正常的还是有什么奇怪的事情发生了?我可以通过 ssh 使用命令行检查重建是否正在进行吗?
另外,在控制面板->存储管理器->卷管理(在 QNAP 网络界面中,而不是 Windows 控制面板中)下,新驱动器的状态为“磁盘读/写错误”,但 SMART 信息显示其良好。
我已经为此折腾了一段时间,并尝试对新驱动器进行扫描,大约花了一天时间才完成,之后状态变为“就绪”,但仍然没有迹象表明 RAID 重建正在进行(除了此日志条目)。我重新启动了 QNAP,新驱动器再次显示“磁盘读/写错误”状态,日志再次显示正在重建 RAID。
网络界面顶部栏有一个显示后台进程的按钮,但那里没有显示任何内容,因此重建不是后台进程。
如果我转到存储管理器-> RAID 管理并选择 RAID,则操作按钮将变灰,因此我无法对 RAID 执行任何操作,我猜这是因为它处于降级模式并以只读方式安装。
所以我很困惑,RAID 是否正在重建?如果不重建,我有什么办法可以强制重建?或者这不是一个好主意?
如果重要的话,此 QNAP 具有固件 4.1.1 Build 20140927。
cat /proc/mdstat
给出以下输出:
Personalities : [raid1] [linear] [raid0] [raid10] [raid6] [raid5] [raid4]
md0 : active (read-only) raid5 sda3[0] sdc3[2] sdb3[1]
5855836800 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
md4 : active raid1 sdd2[2](F) sdc2[3](S) sdb2[1] sda2[0]
530048 blocks [2/2] [UU]
md13 : active raid1 sda4[0] sdd4[3] sdc4[2] sdb4[1]
458880 blocks [4/4] [UUUU]
bitmap: 0/57 pages [0KB], 4KB chunk
md9 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
530048 blocks [4/4] [UUUU]
bitmap: 4/65 pages [16KB], 4KB chunk
unused devices: <none>
从 md0 中可以看出,最后一个驱动器不在 RAID 阵列中(UUU_ 如果驱动器在 RAID 中,最后一个下划线应该是 U。
答案1
mdadm --misc --detail /dev/md0
将显示重建的状态和进度
例如
# mdadm --misc --detail /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Tue Sep 28 21:28:33 2010
Raid Level : raid5
Array Size : 4390708800 (4187.31 GiB 4496.09 GB)
Used Dev Size : 1463569600 (1395.77 GiB 1498.70 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sat Jan 21 10:26:49 2017
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
Rebuild Status : 55% complete
UUID : 454eaf79:0744a748:319e242f:5ff1ef4c
Events : 0.7528612
Number Major Minor RaidDevice State
0 8 35 0 active sync /dev/sdc3
4 8 3 1 spare rebuilding /dev/sda3
2 8 51 2 active sync /dev/sdd3
3 8 19 3 active sync /dev/sdb3
答案2
嗯,cat /proc/mdstat
确实显示 RAID 是否正在重建,而在我的情况下它并没有被重建。
问题在于 RAID 已进入降级模式且磁盘是只读的,因此软件无法向 RAID 添加另一个磁盘并开始重建它。
我所做的是强制 RAID 重新同步,然后手动添加新磁盘来替换损坏的磁盘。
使用的命令是:
mdadm --readwrite /dev/md0
mdadm --add /dev/md0 /dev/sdd1
前一个命令将 RAID 重新置于读/写模式,后一个命令添加了启动 RAID 重建的丢失的驱动器(可以通过 看到/proc/mdstat
)。