I’m working on a project to back up my family photos from TrueNas to Blu-Ray disks. I have other, more traditional backups based on restic and zfs send/receive, but I don’t like the fact that I could delete every copy using only the mouse and keyboard from my main PC. I want something that can’t be ransomwared and that I can’t screw up once created.

The dataset is currently about 2TB, and we’re adding about 200GB per year. It’s a lot of disks, but manageably so. I’ve purchased good quality 50GB blank disks and a burner, as well as a nice box and some silica gel packs to keep them cool, dark, dry, and generally protected. I’ll be making one big initial backup, and then I’ll run incremental backups ~monthly to capture new photos and edits to existing ones, at which time I’ll also spot-check a disk or two for read errors using DVDisaster. I’m hoping to get 10 years out of this arrangement, though longer is of course better.

I’ve got most of the pieces worked out, but the last big question I need to answer is which software I will actually use to create the archive files. I’ve narrowed it down to two options: dar and bog-standard gnu tar. Both can create multipart, incremental backups, which is the core capability I need.

Dar Advantages (that I care about):

  • This is exactly what it’s designed to do.
  • It can detect and tolerate data corruption. (I’ll be adding ECC data to the disks using DVDisaster, but defense in depth is nice.)
  • More robust file change detection, it appears to be hash based?
  • It allows me to create a database I can use to locate and restore individual files without searching through many disks.

Dar disadvantages:

  • It appears to be a pretty obscure, generally inactive project. The documentation looks straight out of the early 2000s and it doesn’t have https. I worry it will go offline, or I’ll run into some weird bug that ruins the show.
  • Doesn’t detect renames. Will back up a whole new copy. (Problematic if I get to reorganizing)
  • I can’t find a maintained GUI project for it, and my wife ain’t about to learn a CLI. Would be nice if I’m not the only person in the world who could get photos off of these disks.

Tar Advantages (that I care about):

  • battle-tested, reliable, not going anywhere
  • It’s already installed on every single linux & mac PC , and it’s trivial to put on a windows pc.
  • Correctly detects renames, does not create new copies.
  • There are maintained GUIs available; non-nerds may be able to access

Tar disadvantages:

  • I don’t see an easy way to locate individual files, beyond grepping through snar metadata files (that aren’t really meant for that).
  • The file change detection logic makes me nervous - it appears to be based on modification time and inode numbers. The photos are in a ZFS dataset on truenas, mounted on my local machine via SMB. I don’t even know what an inode number is, how can I be sure that they won’t change somehow? Am I stuck with this exact NAS setup until I’m ready to make a whole new base backup? This many blu-rays aren’t cheap and burning them will take awhile, I don’t want to do it unnecessarily.

I’m genuinely conflicted, but I’m leaning towards dar. Does anyone else have any experience with this sort of thing? Is there another option I’m missing? Any input is greatly appreciated!

  • This is an interesting problem for the same use case which I’ve been thinking about lately.

    Are you using standard BluRay, or M-Discs?

    My plan was to simply copy files. These are photos, and IME they don’t benefit from compression (I stopped taking raw format pictures when I switched to Fujifilm, and the jpgs coming from the camera were better than anything I could produce from raw in Darktable). Without compression, putting then in tarballs then only adds another level of indirection, and I can just checksum images directly after write, and access them directly when I need to. I was going to use the smallest M-Disc for an index and just copy and modify it when it changed, and version that.

    I tend to not change photos after they’ve been processed through my workflow, so in my case I’m not as concerned with the “most recent version” of the image. In any case, the index would reflect which disc the latest version of an image lived, if something did change.

    For the years I did shoot raw, I’m archiving those as DNG.

    For the sensitive photos, I have a Rube Goldberg plan that will hopefully result in anyone with the passkey being able to mount that image. There aren’t many of those, and that set hasn’t been added to in years, so it’ll go on one disc with the software necessary to mount it.

    My main objective is accessibility after I’m gone, so having a few tools in the way makes trump over other concerns. I see no value in creating tarballs - attach the device, pop in the index (if necessary), find the disc with the file, pop that in, and view the image.

    Key to this is

    • the data doesn’t change over time
    • the data is already compressed in the file format, and does not benefit from extra compression
    • traches@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 days ago

      I’m using standard BD-DLs. M-Disks are almost triple the price, and this project is already too costly. I’m not looking for centuries of longevity, I’m using optical media because it’s read-only once written. I read that properly stored Blu-Rays should be good for 10 or 20 years, which is good enough for me. I’ll make another copy when the read errors start getting bad.

      Copying files directly would work, but my library is real big and that sounds tedious. I have photos going back to the 80s and curating, tagging, and editing them is an ongoing job. (This data is saved in XMP sidecars alongside the original photos). I also won’t be encrypting or compressing them for the same reasons you mentioned.

      For me, the benefit of the archive tool is to automatically split it up into disk-sized chunks. That and to automatically detect changes and save a new version; your first key doesn’t hold true for this dataset. You’re right though, I’m sacrificing accessibility for the rest of the family. I’m hoping to address this with thorough documentation and static binaries on every disk.