|SW RAID problem...
||[May. 12th, 2010|09:22 pm]
You may remember my ongoing RAID problems. The last one was solved by replacing the disks. This one is a little more odd.|
I've got three 1.5T SATA drives configured as a RAID5 using an ext3 partition. Today I had the machine completely crash while deleting a rather large directory. I rebooted, to find the journal needing rebuilt. I thought the machine had crashed, stopped the process, dinked around and noticed that a mdadm showed a drive was missing:
sudo mdadm --detail /dev/md0
Version : 00.90.03
Creation Time : Thu Apr 22 20:33:32 2010
Raid Level : raid5
Array Size : 2930271872 (2794.53 GiB 3000.60 GB)
Used Dev Size : 1465135936 (1397.26 GiB 1500.30 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Wed May 12 21:15:27 2010
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : 68e1a527:cc7c6578:c39e5019:1fbeb2c1 (local to host boyle)
Events : 0.4576
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
I ran fdisk, thus:
sudo fdisk -l
and noticed that the 'missing' drive (/dev/sdb1) was actually there. I tried using reassembling the array using: sudo mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 but was told /dev/sdb1 was missing. I used fdisk to repartition /dev/sdb, created a new 'linux' partition. Formatted it to ext3, mounted it, tried writting and reading from it... all of which worked.
Now I'm backing up the necessary data from the degraded array, but soon will attempt repartitioning the /dev/sdb drive as a LINUXRAID, and reassembling the array...
In the meantime: Anyone heard of this? Why won't mdadm 'see' the drive that is clearly there? Am I wasting my time? Is the drive toast and I should replace it? How would I even check that?
EDIT: While I've figured out how to get the array to see the newly partitioned drive:
sudo mdadm /dev/md0 --add /dev/sdb1
This seems to have worked as the array now recognizes it, and it is currently recovering the array... The question of what/how the drive was 'missing' to begin with is still open. As is, how I may be able to test that sucker to see if it's actually bad.