1

Hardware systems like traditional RAID, or modern software systems like ZFS, btrfs, etc. Are used for redundancy (and performance) of the storage of data. E.g. if you have 6 drives with ZFS, you can sacrifice the space of two of those drives for redundancy by storing parity data. This would mean that if any of the drives fail, the system will continue to work as if they were there (albeit at significantly degraded performance depending on the CPU etc). When you replace the broken drives here, the system them "resilvers" them by calculating what data was on there from the data on the remaining drives (it might sound weird you can do this, but parity bits are very clever and simple). Although this can take a very long time as the data all has to be calculated, and puts stress on the other drives (evidence shows while rebuilding a large parity bit system, the chance of a second drive failure during this increases exponentially, and if you only keep a single parity like Z1/RAID5, and that happens, then RIP that data (RAID is not a backup!)).

Or a simpler way that requires no parity data and parity calculation would be to setup those 6 drives as stripped mirrors. E.g. in a 2x3 configuration, that would mean we sacrifice half of our drives to be mirrors of another drive, so you would have two drives that both have the same data, and would do this three times (data would then be distributed across all of them). The advantage here is that the system is much faster due to no parity calculations. And recovery is easy, very quick, and doesn't slow down the system much if at all. As you literally just copy from the remaining mirror to the other. And you can also lose multiple drives so long as they aren't from the same mirror. The disadvantage is if you have two drives die simultaneously from the same mirror, well the data is just gone.

Anyway I think that's perhaps way too much of an introduction/background? But whenever a drive dies in one of these redundant systems, and a new one is added, the process of writing data to it is called resilvering.

Where did this phrase come from. When you initially hear it, most people think it's to do with the platters inside of hard drives. Perhaps related to old ancient systems that perhaps had a different colour when full of data vs not (many of the early hard drives weren't in sealed chambers so you could see them. Similarly I know that valuable metals like platinum have once been used to coat the top of the discs. Perhaps at once point drives would be resilvered to bring them back to working state?

I've looked around for any sort of evidence. But the only thing I've been able to find is this dubious blog post:

https://lonesysadmin.net/2012/03/23/why-is-it-called-resilvering/

Q: Why do some people refer to the process of remirroring or rebuilding a RAID 1 drive set as “resilvering?”

A: Antique mirrors (the reflective kind you hang on a wall, or are in your bathroom) used silver (Ag) for the reflective coating, below the glass. Over time that silver would get tarnished and/or damaged, so you’d restore them by re-silvering them. I’m sure you’ve all seen this, where an old mirror has streaks in it but they’re below the glass.

When your RAID 1 mirror set gets “tarnished” you resilver it and it’s shiny & new again. You can rebuild a RAID 5 array but you resilver a mirror. :)

With no real evidence. It might be correct. But I'd love to see some evidence or even confirmation/a different explanation from a more authoritative source.

12
  • 2
    The physical platters of a hard drive are usually very shiny so the mirror analogy isn't so far fetched. Aug 12 at 12:19
  • 2
    In my 45 years in computer engineering/programming I have never heard the term.
    – Hot Licks
    Aug 12 at 12:30
  • 1
    @HotLicks where do you work? Because this term is just incredibly standard when it comes to drive redundancy systems? It's used absolutely everywhere, and with ZFS at least it's the direct terminology used, but so is it in many hardware RAID systems, and it's insanely common on forums like reddit, SpiceWorks, etc. If you deal with any of these systems I don't know how you could miss it, but if you're a software developer (like you mentioned), then yeah of course this is pretty out of your domain.
    – Levi H
    Aug 12 at 13:14
  • 1
    @djs it's not remotely obscure at all? It's used extensively on topics like this, and is the officially adopted word on many platforms like ZFS, certain RAID cards, etc. And it's used pretty much constantly all over popular forums. And while I don't have 43 years exp, in my experience it's just common jargon used in the industry. What do you specifically do? Because as someone who has done a lot of mixed roles and semi-career changes (software dev, DevOps, system architect) I never heard it when I was a dev, but of course hear it all the time in the other two.
    – Levi H
    Aug 12 at 13:25
  • 2
    The blog post you quote seems to explain it all. It's a very obvious (once you know) connection of silvering with mirrors. If the first person to use the term thought it too obvious to need explaining, then there will be no evidence of its origin. Although I agree it's possible that the first person to use it might have felt the need to explain, they may well not have.
    – Stuart F
    Aug 12 at 14:48

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy