ada drives keep timing out!
Bob Bishop
rb at gid.co.uk
Fri Feb 20 11:53:13 UTC 2015
Hi,
> On 20 Feb 2015, at 11:21, Dr Josef Karthauser <joe at tao.org.uk> wrote:
>
>
>> On 20 Feb 2015, at 11:14, Bob Bishop <rb at gid.co.uk> wrote:
>>
>> Hi,
>>
>>> On 20 Feb 2015, at 10:34, Dr Josef Karthauser <joe at tao.org.uk> wrote:
>>>
>>> Hi there,
>>>
>>> I reported this last year, but I’d like to revisit it as it must have a software remedy. I know that I’m not the only one to have reported the problem.
>>>
>>> I have a ZFS pool with a number of western digital drives in it (WDC WD1000FYPS-01ZKB0 02.01B01).
>>
>> WD Green Power drives. I've had similar problems, sometimes they take a looooong time to come ready; the controller times out waiting for drive ready and the rest you know.
>>
>> Depending on the controller there may be nothing you can do. Maybe it's possible to turn off the drives's green features. I replaced the drives with something that works.
>>
>
> Hi Bob,
>
> In this case other report no such issues on the same hardware running Linux, so it seems to me to be an internal timeout issue within FreeBSD, or maybe Linux retries more than FreeBSD and so doesn’t experience the issue that we do. It’s clear that FreeBSD is proactively disconnecting the drive when the timeout occurs. So, maybe there’s something that can be done there.
It depends on the disk controller hardware/firmware (not the drive electronics), not necessarily the driver. From the drive datasheet http://www.wdc.com/en/library/sata/2879-701236.pdf?wdc_lang=en
"WD GreenPower drives monitor work load and automatically invoke idle mode whenever possible to further reduce unnecessary power consumption. Drive recovery time from idle mode is less than one second, [etc]"
What happens is that the drive decides to idle and the controller has no way of telling. So when the controller issues its next command, the drive takes the best part of a second (if you are unlucky) to come out of idle, execute the command and return to ready. The controller times this out at a very low level and assumes that the drive has gone away.
Maybe Linux does the equivalent of a bus rescan to work around this. I had the problem using a dumb RAID 1 controller, once a drive dropped out the mirror was broken so it was a big deal.
> Joe
--
Bob Bishop
rb at gid.co.uk
More information about the freebsd-stable
mailing list