ZFS lover

Member
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutral

About ZFS lover

  • Rank
    Member
  1. How about embedded non-RAID SATA ports on the motherboard? For example, I'm using the motherboard SATA ports on the HP MicroServer for both FreeBSD and Linux. I can't tell from their spec sheet what chip they're using. Are they sufficient? Awesome! Great information, thank you!
  2. Cool, that's good news. So if I understand you correctly, I can use consumer grade drives without TLER/* on Linux and FreeBSD without setting any special parameters, and sleep well at night? Here's a message I saw on the OpenSolaris forum about ZFS that caused me some concern: Any thoughts?
  3. FreeBSD: It looks like there's a tunable parameter for how long before a drive is dropped from a RAID array, and it's set by default to 4 seconds: kern.geom.mirror.timeout: 4 This could be set to a high number to prevent consumer drives from dropping from the array when they hit a bad sector, but doesn't solve the issue of poor performance.
  4. I'm going to start using this thread to store my notes as I research this issue. Please feel free to chime in. Linux: This message implies that it's impossible to tell a drive to cancel its bad read operation: Evidence that using ATA ERC commands don't always work: Hope for improvement: I'm not sure what patch he's referring to, but it might be bad block list management for md and RAID1.
  5. I don't have a solution yet. I'm not meaning to lead you on but to stimulate conversation so we can come up with the solution together. Short background: Hard drive manufacturers are drawing a distinction between "desktop" grade and "enterprise" grade drives. The "desktop" grade drives can take a long time (~2 minutes) to respond when they find an error, which causes most RAID systems to label them as failed and drop them from the array. The solution provided by the manufacturers is for us to purchase the "enterprise" grade drives, at twice the cost, which report errors promptly enough so that this isn't a problem. This "enterprise" feature is called TLER, ERC, and CCTL. The Problem: There are three problems with this situation: The first is that it flies in the face of the word Inexpensive in the acronym Redundant Arrays of Inexpensive Disks (RAID). The second is that when a drive starts to fail, you want to know about it, as Miles Nordin wrote in a long thread: The third is that other attributes of consumer grade drives are attractive, as r.g. wrote: Possible Solutions: For a while, Western Digital released a program (WDTLER.EXE) that made it possible to enable TLER on desktop grade drives. This no longer works. Quindor created a heroic thread that attempts to identify which exact drives on the market are compliant with the ATA standard and allow a software command to enable ERC temporarily. A problem with this, discussed in the thread, is how to verify that it works. Just because a drive tells you that ERC is enabled doesn't necessarily mean that it's true. The best solution I've seen, described at length by qasdfdsaq in the same thread, is for the computer to compensate for the drive behavior like this: Rather than relying on the drive to report an error within 7 seconds, or attempting to "fix" the drive so that it will, when any drive doesn't report back within 7 seconds, treat it as an error and cancel the operation. What's nice about this solution is that it will work with any drive on the market. We just need to figure out how to configure our controller or operating systems to behave this way. qasdfdsaq says that his Solaris system already does this by default. According to SmallNetBuilder, the manufacturers of NAS boxes have already figured this out too: These NAS boxes are all (to my knowledge) running Linux. I run Linux and FreeBSD, so I'm interested in knowing how to configure those operating systems in such a way that I feel safe using "desktop" grade drives. Let's figure out the settings for all the common operating systems/controllers and post them here, so we can finally put this issue to rest and go back to using Inexpensive drives in our Redundant Arrays of Inexpensive Disks.
  6. ZFS lover

    TLER / CCTL

    Interesting. From what I gather, the default settings will let a badly behaving drive twiddle its thumbs for 3 to 5 minutes: http://wikis.sun.com/display/StorageDev/Special+Case+Error+Handling Thanks much for the information, and for your rants.
  7. ZFS lover

    TLER / CCTL

    Cool, that's a relief. I was concerned after reading this on the OpenSolaris forum: Can you tell me how to change the timeout setting? I'm using Nexenta and I'm a Solaris/Nexenta n00b. I spent some time looking for it and wasn't able to find it.
  8. ZFS lover

    TLER / CCTL

    qasdfdsaq, I love your rants and I agree with them. I'm also using ZFS. I'm about to buy more drives and there's a key point I'm not understanding which I'm hoping you can answer: If your drive takes 2 minutes to respond to a request because it's trying to cover its ass instead of honestly reporting an error, and your Solaris system gives up on it after 5 seconds, what happens when your Solaris system issues another request before those 2 minutes have expired? Example: Bad sector at location 1 Good sector at location 2 Solaris says to stupid drive: read sector at location 1 Stupid drive: duhhh.... Solaris: OK, 5 seconds is up, I give up. Solaris: Now, read sector at location 2 Stupid drive without TLER: I'll get back to you in 1 minute, 55 seconds. Stupid drive WITH TLER: good data from location 2 Do you see what I'm getting at? I know that with ZFS I can buy any drive and not worry about having drives drop out of my array. My concern is that if I don't buy an "enterprise" grade drive, a single bad sector may block my reads for 2 minutes, harming performance. If this is true, I'm willing to swallow my pride and spend 2x on a drive to get the magic "TLER" feature so my performance doesn't get hosed when I have a bad sector.