我目前正在组建一个新系统,其中一部分是使用 Ubuntu Server 中的“mdadm”创建软件 RAID 5。
我成功地达到了使用以下命令创建数组的地步:
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
我让它整夜工作然后使用以下命令来检查它:
watch cat /proc/mdstat
返回的内容如下:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd1[4](S) sdc1[2] sdb1[1] sda1[0](F)
5860535808 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/2] [_UU_]
unused devices: <none>
看起来其中一个已经失效了(而且我不太清楚为什么另一个是备用的)。
因此,为了确保没有其他问题,我想尝试重新启动故障驱动器。有人能解释一下我该怎么做以及我应该如何处理备用驱动器吗(如果有的话)。
而且我如何知道同步何时完成?
我到目前为止使用的教程位于此处:
http://sonniesedge.co.uk/2009/06/13/software-raid-5-on-ubuntu-904/
非常感谢!
附言:以下是一些可能有帮助的额外信息:
sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Mon Jun 18 21:14:21 2012
Raid Level : raid5
Array Size : 5860535808 (5589.04 GiB 6001.19 GB)
Used Dev Size : 1953511936 (1863.01 GiB 2000.40 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Mon Jun 18 21:50:26 2012
State : clean, FAILED
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : myraidbox:0 (local to host myraidbox)
UUID : a269ee94:a161600c:fb1665e7:bd2f27b3
Events : 13
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
3 0 0 3 removed
0 8 1 - faulty spare /dev/sda1
4 8 49 - spare /dev/sdd1
答案1
由于某种原因,mdadm 认为 sda1 有故障,应删除 sdd1。检查/var/log/syslog
mdadm 消息或 ATA/SCSI 错误以尝试找出原因。您的驱动器或控制器可能有问题。
要恢复阵列,您需要重新添加故障驱动器。希望 mdadm 能够识别出这些驱动器,因为它们之前是阵列的一部分,并且具有有效数据。我将首先尝试使用 sda1,然后使用 sdd1。
mdadm /dev/md0 --re-add /dev/sda1
mdadm --detail
如果它抱怨 sda1 已经是阵列的一部分,请先将其删除,然后重新添加。在继续下一个驱动器之前,请检查输出。