我在 Ubuntu Server 上有一个 NAS,在 RAID 5 中有 4 个 2TB 硬盘。几周前,其中一个硬盘坏了,但我的 RAID 正在工作,虽然降级了。幸运的是,它仍在保修期内,我收到了一个我今天安装的新硬盘。但是,当尝试将新硬盘添加到 RAID 时,它并没有重建。所以我拔掉了硬盘驱动器并重新启动了机器。但是,我不小心将 RAID 中的其他硬盘驱动器之一设置为失败并使用 mdadm 将其删除。
现在它说我的 RAID 有两个已移除的硬盘驱动器。我的第 3 个硬盘驱动器仍然保留所有数据,但我不知道如何将其重新添加回 RAID 阵列,因此它恢复到良好(尽管已降级)状态,因此我可以继续添加第 4 个硬盘驱动器并重建阵列。是否有可能让 Ubuntu 意识到第三个硬盘驱动器有我的数据,并再次将其识别为阵列的一部分?
当我尝试运行时:
sudo mdadm --manage /dev/md127 --re-add /dev/sdd1
Run Code Online (Sandbox Code Playgroud)
它说:
mdadm: --re-add for /dev/sdd1 to dev/md127 is not possible
Run Code Online (Sandbox Code Playgroud)
请,任何人都可以提供的任何帮助将不胜感激。
loc*_*obr 10
您可能只需要执行 an--add而不是--re-add。如果您阅读有关--re-add它的手册页,则会谈到在事件计数接近其余设备的情况下重新添加设备。你可以用它--examine来找出这个。
$ mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd'
mdadm: No md superblock detected on /dev/sda1.
/dev/sdb1:
Events : 992655
/dev/sdd1:
Events : 992655
/dev/sde1:
Events : 992655
/dev/sdf1:
Events : 992655
/dev/sdg1:
Events : 158
/dev/sdh1:
Events : 992655
/dev/sdj1:
Events : 992655
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我的/dev/sdh1设备已经有一段时间没有出现在阵列中并且--re-add无法工作,您必须执行 --add 并恢复阵列。
你可以mdadm --detail /dev/md126用来观察正在发生的事情,在你做任何事情之前运行它可能是个好主意,毕竟这是你的数据!
$ mdadm --detail /dev/md126
/dev/md126:
Version : 1.2
Creation Time : Tue Jun 24 05:17:47 2014
Raid Level : raid6
Array Size : 14650158080 (13971.48 GiB 15001.76 GB)
Used Dev Size : 2930031616 (2794.30 GiB 3000.35 GB)
Raid Devices : 7
Total Devices : 7
Persistence : Superblock is persistent
Update Time : Thu Nov 6 05:47:56 2014
State : clean, degraded, recovering
Active Devices : 6
Working Devices : 7
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 0% complete
Name : omegacentauri:0 (local to host omegacentauri)
UUID : 9fdcacc0:14f7ef3c:a6931b47:bfb8b4a1
Events : 992656
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 49 1 active sync /dev/sdd1
2 8 65 2 active sync /dev/sde1
3 8 81 3 active sync /dev/sdf1
4 8 97 4 active sync /dev/sdg1
5 8 145 5 active sync /dev/sdj1
7 8 113 6 spare rebuilding /dev/sdh1
Run Code Online (Sandbox Code Playgroud)
或者你也可以使用这个:
$ cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md126 : active raid6 sdh1[7] sdg1[4] sdj1[5] sdf1[3] sdd1[1] sde1[2] sdb1[0]
14650158080 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]
[>....................] recovery = 0.9% (26657536/2930031616) finish=1162.5min speed=41624K/sec
md127 : active (auto-read-only) raid1 sdi[1] sdc[0]
1465007360 blocks super 1.2 [2/2] [UU]
Run Code Online (Sandbox Code Playgroud)
我不对您丢失的任何数据负责。
| 归档时间: |
|
| 查看次数: |
43396 次 |
| 最近记录: |