• meteokr@community.adiquaints.moe
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    19 days ago

    TL:DR; Bigger drives reduces the risk of data loss overtime. Please backup your data. RAID is not a backup.

    As drives get bigger and bigger, the emotionally risk you feel when you fill them up is real. However, that is not the best way to think about it. Drives will inevitably fail, and drives are easily replaced commodities, their failure should be expected, and handled appropriately. RAID is not a backup, and does not reduce your risk of drive failure. RAID creates a safer environment for your data when a drive fails. How you should think about RAID is as if you are replacing a failed drive in advance, not as a reduction of risk of the drive failing.

    To illustrate my point, we have Y of data to store. I can either split the data across X number drives, or store it all on a single drive. Which is safer? A single drive is objectively safer, given the same failure rate. So we have two cases for this situation. In both cases, this imaginary drive fails 10% of the time. The exact amount doesn’t matter so long as they are reasonably close.

    Case A: You have 1 drive holding all your data. There is a 1/10 chance it fails. Your risk is 10%.

    Case B: You have X drives holding all your data. Each drive has a 1/10 chance of failing. so a 1−(9/10​)^X chance any of the drives fail. For all of X, your rate of failure is higher than 1/10. For two drives you have 19% chance of failure, three drives is 27%.

    In all cases your rate of failure increases the more drives you add to hold your data. Please do not become confused by what RAID does for this illustration. RAID will not prevent drive failures. RAID allows you to, in essence, “pre-fail” a drive in advance. A drive will fail, and some RAID configurations(1,5,6) will replace the functionality of the failed drive until you can replace the “real” failed drive. RAID did not prevent your drive failure, it only moved the time the failure happened to be convenient for the user. A RAID1 array with a failed drive is still a failed drive that needs to be replaced, and still needs to be restored from backup/re-striped.

    Let’s take the cases of no RAID vs RAID1.

    Case A: You have 1 drive holding all your data. When the drives fails, you stop your work, and replace the drive immediately.

    Case RAID1: You have 1 drive holding all your data. You continue working because you’ve been very busy. You replace the drive when you have some downtime a week later.

    In Case A, you had lost productivity because the drive failed at an inconvenient time, in the RAID1 case you could schedule the drive replacement for a later date when you had some spare time, huge improvement in the user experience. But wait! I said in the case of RAID1 only one of the drives was holding my data, should I have said 2 drives were? Yes, in a literal sense the RAID1 holds a copy of the data in the second drive. However, RAID is not a backup, it is a system to schedule the time of drive failures. Your backup of the RAID array is what holds a real second copy of your data, not your mirrored drive, because RAID is not a backup. Your second drive was still present in Case A, it was just replaced after the failure occurred, rather than before the first one failed.

    Be safe with your data. please make backups, and verify you can restore from them regularly. RAID is not a backup.

    • emptiestplace@lemmy.ml
      link
      fedilink
      arrow-up
      15
      ·
      19 days ago

      Bits of what you wrote are reasonable, but your premise is incorrect.

      Consider a scenario with a degraded RAID 1 array comprised of two 1.6 TB disks capable of transferring data at a sustained rate of 6 Gbps: you should be able to recover from a single disk failure in just over half an hour.

      Repeat the same scenario with 32 TB members, now we’re looking at a twelve hour recovery - twelve hours of intensive activity that could push either of your drives over the edge. Increasing data density actually increases the risk of data loss.

      Finally, we say you shouldn’t think of RAID as a backup because the entire array could fail, not for the excruciatingly literal reasons you are attempting to convey. If you lose half of a two disk mirror set, you haven’t lost any data.

      • meteokr@community.adiquaints.moe
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        19 days ago

        Consider a scenario with a degraded RAID 1 array comprised of two 1.6 TB disks capable of transferring data at a sustained rate of 6 Gbps: you should be able to recover from a single disk failure in just over half an hour.

        Repeat the same scenario with 32 TB members, now we’re looking at a twelve hour recovery - twelve hours of intensive activity that could push either of your drives over the edge. Increasing data density actually increases the risk of data loss.

        The speed and method you use recover from data loss is not relevant to the discussion of how to handle drive failure. That varies wildly depending on your specific setup.

        Finally, we say you shouldn’t think of RAID as a backup because the entire array could fail, not for the excruciatingly literal reasons you are attempting to convey. If you lose half of a two disk mirror set, you haven’t lost any data.

        My premise is that reducing the number of drives reduces the risk of drive failure which could lead to data loss. RAID is not a backup, because it literally isn’t. If you have two drives in RAID1 you have 1 set of your data. If you have 4 drives in RAID6 you have 1 set of your data. In both examples you have a single very durable drive, but you do not have a backup. A backup prevents data loss, RAID does not.

        Think of it this way. You have a single very large drive, and you explicitly only use 1/2 of it. The other 1/2 of the drive becomes broken and you cannot read or write to it. The first 1/2 work perfectly fine, and fits all your data. Would you consider this drive functional, or failed? A RAID degradation is a warning to the user that a portion of the single drive is broken, and needs to be repaired. A RAID block device should always be treated as a single physical drive, with varying levels of durability and warning signs depending upon its configuration. It can’t be a backup, because all its doing is delaying the eventual failure. Delaying a failure does not prevent the failure from happening, and does not help you when a failure occurs.

          • meteokr@community.adiquaints.moe
            link
            fedilink
            arrow-up
            1
            ·
            19 days ago

            Oh thanks for the tip! I’ve edited my comment to reflect the minimum of 4 drives for a RAID6 array.

            I’ve not used RAID6 for a small array like that before so I didn’t know it had a conventional lower limit. From the technical sense it doesn’t have to have 4 drives, it just wouldn’t make any sense to use it that way so I see why software wouldn’t support such a use case.

            • emptiestplace@lemmy.ml
              link
              fedilink
              arrow-up
              4
              ·
              19 days ago

              From the technical sense it doesn’t have to have 4 drives

              Please explain how you think you can distribute two sets of parity data across a three drive array?

              • meteokr@community.adiquaints.moe
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                19 days ago

                Drive 1: A, Drive 2: 1/2 A, Drive 3: 2/2 A. Drive 2 + Drive 3 = Drive 1. Hmm that would only be one set of the party though. So you could also add 1/2 of A to Drive 1, and 2/2 to Drive 2 so that the parity on Drive 1 + Drive 2 = Drive 3. Which is extremely silly, and doesn’t make a lot of sense to use in the real world.

    • BCsven@lemmy.ca
      link
      fedilink
      arrow-up
      7
      ·
      19 days ago

      Your RAID may fail a disk, but you still have your data on another disk(s). It is not a backup since data is replicated and deletion , means deletion…but raid gives you breathing room to recover from disaster

    • Toribor@corndog.social
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      18 days ago

      You’re assuming that the failure rate for drives are all the same though. Aren’t the failure rates for new high capacity drives typically higher?

      • meteokr@community.adiquaints.moe
        link
        fedilink
        arrow-up
        2
        ·
        19 days ago

        Yes their failure rates are usually a bit higher, but usually less than the increase in rate from using more than one disk instead. A bit of math can be done using Backblaze’s disk failure rate data to get a reasonable approximation of the overall risk of failure.

    • Echo Dot@feddit.uk
      link
      fedilink
      arrow-up
      1
      ·
      19 days ago

      RAID is a backup, obviously It doesn’t work if you store the backup on the computer that has the primary on it as well. Regardless of what solution you choose.

      • lud@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        18 days ago

        No, RAID can be used for backup like having two or three different RAID arrays at different locations. But RAID itself isn’t a backup. It’s as the name implies redundancy instead of backup.

    • falkerie71@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      19 days ago

      How should I go about verifying or rehearsing data restoration when my main computer is fine and don’t have a spare to test with?

      • Nomecks@lemmy.ca
        link
        fedilink
        arrow-up
        2
        ·
        19 days ago

        Restore file -> md5sum against original -> delete -> repeat with another file.

        Script it up!

      • meteokr@community.adiquaints.moe
        link
        fedilink
        arrow-up
        1
        ·
        19 days ago

        A simple way of doing it, is to just move some of the data somewhere else, and then restore that backup. If the contents are fine, then all is well, and if they aren’t, then you can delete the broken restore, and move the files back where they were. Depending on how you are doing backups, some system have built in “dry-run” style tests were they can test themselves, but you should still verify the contents every so often.