Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have a CentOS 6.0 install sitting in a Hyper-V VM. I'm trying out some of the software RAID features of Linux and I've got a RAID-5 array made up of virtual SCSI disks. Most of it works fine: if I shut down the VM and delete one of the disks, the array shows up as degraded when I restart but the data is still intact. I can then re-add a drive to the array and rebuild it with no problems.

The problem comes if I try to remove a drive while the VM is still on. That is, while the VM is on, I go into the settings for that VM and remove one of the SCSI disks. In that case, Linux doesn't seem to realize that the drive has disappeared and the array doesn't enter degraded mode. Instead, I get a whole lot of warnings in /var/log/messages from STORVSC about scsi status codes. And rather than failing gracefully or entering degraded mode, the array just starts returning corrupted data.

I literally cannot think of a worse outcome here - in the case of a drive failure in a RAID array, it decides to just start returning corrupted data? Surely not?

Have I done something horribly wrong here or is this how it's supposed to work?

The host system is Windows Server 2008 R2 Standard x64. CentOS6 running kernel 2.6.32-71.29.1.el6.x86_64. The RAID array was created using mdadm. I haven't messed with any of the internals of the OS - this is basically a fresh install.

share|improve this question
1  
Please append the output of cat /proc/mdstat, preferably both before and after the removal. –  MadHatter Oct 28 '11 at 9:15

1 Answer 1

It may very well be an issue with HyperV. I can't really say anything definitive, but I do know that in server environments, you should use disks with TLER (time limited error recovery), so that drive isn't stuck in retry-mode all the time, but instead lets the OS know pretty soon that it's dead.

My experience with Linux software RAID with ordinary RAID disks is that arrays degrade upon disk failure, but the system doesn't really continue to work properly.

I would recommend to try this with real hardware, because things like recovery time, bus issues, etc, aren't really emulated. Also realize BTW, that when you're going to test unplugging disks, results will very depending on if you have hotplugging support, and if you connected the 3.3V on the SATA power plug (molex-to-sata converters don't...)

share|improve this answer
    
That's really good information. Thanks! –  Adrian Oct 28 '11 at 10:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.