我正在运行带有 4x4TB 硬盘的 Zyxxel NAS540。几天前,NAS 开始发出蜂鸣声,我看到 RAID 处于降级状态。由于其中一个驱动器的 SMART 值非常糟糕,我关闭了 NAS,订购了替换磁盘,将其插入并通过 Web 界面开始修复过程。
几天后(周末去了)我想检查进度,但无法再登录网络界面。 NAS 也没有显示磁盘活动(LED 既没有闪烁也没有噪音)。我尝试通过 ssh 和 mdadm 获取状态,它说 3 个驱动器处于状态干净,一个处于备用状态。那么就像修复成功之前一样吗?由于无法访问,也没有明显的磁盘访问,我重新启动 NAS。
现在网络界面再次工作,但显示“音量调低”。菜单中没有办法修复它。另外,当我单击磁盘时,它显示磁盘 1,2 和 3 是“热备用”。磁盘 4 没有状态。我更换的磁盘是磁盘 3。
从那时起,我将磁盘放入我的 PC 中并运行了一些命令来弄清楚情况,因为我也失去了对 NAS 的 ssh 访问权限。这些是输出:
猫 /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
unused devices: <none>
sudo mdadm --检查 /dev/sd[abcdef]3
/dev/sda3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660160 (11166.25 GiB 11989.67 GB)
Used Dev Size : 7805773440 (3722.08 GiB 3996.56 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=384 sectors
State : clean
Device UUID : ac8c7cd6:a8f3d86e:cb210c2b:bcdfc2eb
Update Time : Thu Nov 14 16:31:43 2019
Checksum : 667f486f - correct
Events : 1210
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 3
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660160 (11166.25 GiB 11989.67 GB)
Used Dev Size : 7805773440 (3722.08 GiB 3996.56 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=384 sectors
State : active
Device UUID : 1bbec5f9:dec5a68a:d07cfdbe:e05d0cb4
Update Time : Mon Nov 11 18:02:11 2019
Checksum : 1cd3509 - correct
Events : 74
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 2
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660736 (11166.25 GiB 11989.67 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=0 sectors
State : clean
Device UUID : 78f30bc0:b68074ee:9a3a223c:93decfd4
Update Time : Sun Nov 17 23:41:48 2019
Checksum : c9cda273 - correct
Events : 1230
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 0
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde3:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 73e88019:b7cf694c:8584cbaa:47f57992
Name : NAS540:2
Creation Time : Tue Nov 24 23:18:19 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 7805773824 (3722.08 GiB 3996.56 GB)
Array Size : 11708660736 (11166.25 GiB 11989.67 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=0 sectors
State : clean
Device UUID : 85b74994:874b016e:609081d6:4cfcd0ee
Update Time : Sun Nov 17 23:41:48 2019
Checksum : d1f8a2d1 - correct
Events : 1230
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 1
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
sudo mdadm --examine --brief --scan --config=分区
ARRAY /dev/md/2 metadata=1.2 UUID=73e88019:b7cf694c:8584cbaa:47f57992 name=NAS540:2
ARRAY /dev/md/0 metadata=1.2 UUID=b705c51b:2360cd8e:6b81c03f:2072f947 name=NAS540:0
ARRAY /dev/md/1 metadata=1.2 UUID=186ed461:615007c3:ab9e4576:7b5f7084 name=NAS540:1
ARRAY /dev/md/2 metadata=1.2 UUID=73e88019:b7cf694c:8584cbaa:47f57992 name=NAS540:2
sudo mdadm --assemble --scan
mdadm: Devices UUID-73e88019:b7cf694c:8584cbaa:47f57992 and UUID-73e88019:b7cf694c:8584cbaa:47f57992 have the same name: /dev/md/2
mdadm: Duplicate MD device names in conf file were found.
所以现在我想知道接下来的步骤应该是什么样的。我发现了一些类似的情况,其中 /etc/mdadm.conf 被手动编辑以消除重复的条目。
在其他情况下,RAID 是手动组装的(例如 mdadm--assemble /dev/mdX /dev/sda3 /dev/sdb3 ...),但在这里我不知道我的 RAID 名称 (mdX)。
我有什么想法可以继续吗?
PS:是的,我有关键文件的备份,但恢复其他所有内容仍然很好。
我现在又前进了几步。我设法使用重新组装数组
mdadm --create --assume-clean --level=5 --raid-devices=4 --metadata=1.2 --chunk=64K --layout=left-symmetric /dev/md2 /dev/sdd3 /dev/sde3 missing /dev/sda3
然后我使用复制分区布局
sfdisk -d
最后加入新磁盘
sudo mdadm --manage /dev/md2 --add /dev/sdb3
mdadm --details 的输出将每个设备显示为“干净”,raid 状态为“AAAA”。现在,当我尝试安装 raid 时,出现以下错误:
sudo mount /dev/md/2 /media/raid
mount: /media/raid: wrong fs type, bad option, bad superblock on /dev/md2, missing codepage or helper program, or other error.
现在Data Offset出现了差异,怀疑来自于头部中的位图。
Data Offset : 262144 sectors
Data Offset : 264192 sectors
mdadm 手册页显示:
When creating an array on devices which are 100G or larger, mdadm automatically adds an internal bitmap as it will usually be beneficial. This can be suppressed with --bitmap=none or by selecting a different consistency policy with --consistency-policy.
所以我应该使用--bitmap=none
.我可以通过像手册页所说的那样运行它来解决这个问题,还是会破坏某些东西?
If the word none is given with --grow mode, then any bitmap that is present is removed.
我已设法通过手动指定数据偏移量来重新创建数组。
sudo mdadm --create --assume-clean --level=5 --raid-devices=4 --metadata=1.2 --chunk=64K --layout=left-symmetric --data-offset=262144s /dev/md2 /dev/sdd3 /dev/sde3 /dev/sdc3 /dev/sda3
我现在可以安装它并访问数据。它也适用于 NAS。
答案1
正如编辑中所述,我通过mdadm --create
使用正确的数据偏移量再次运行命令解决了我的问题。我的raid又变得可读了。由于我已经在新的 disk3 上运行了恢复,我能够按照我的 OP 中所述运行命令,但假设您处于故障的初始位置,您将运行:
sudo mdadm --create --assume-clean --level=5 --raid-devices=4 --metadata=1.2 --chunk=64K --layout=left-symmetric --data-offset=262144s /dev/md2 /dev/sdd3 /dev/sde3 missing /dev/sda3
其次是
sudo mdadm --manage /dev/md2 --add /dev/sdb3
当然使用您自己的说明符而不是sdbX
.