• 1 Post
  • 533 Comments
Joined 2 years ago
cake
Cake day: July 29th, 2023

help-circle
  • I have run photoprism straight from mdadm RAID5 on some ye olde SAS drives with only a reduction in the indexing speed (About 30K photos which took ~2 hours to index with GPU tensorflow).

    That being said I’m in a similar boat doing an upgrade and I have some warnings that I have found are helpful:

    1. Consumer grade NVMEs are not designed for tons of write ops, so they should optimally only be used in RAID 0/1/10. RAID 5/6 will literally start with a massive parity rip on the drives, and the default timer for RAID checks on Linux is 1 week. Same goes for ZFS and mdadm caching, just proceed with caution (ie 321 backups) if you go that route. Even if you end up doing RAID 5/6, make sure you get quality hardware with decent TBW, as sever grade NVMEs are often triple in TBW rating.
    2. ZFS is a load of pain if you’re running anything related to Fedora or Redhat, and the performance implications from lots and lots of testing is still arguably inconclusive on a NAS/Home lab setup. Unless you rely on the specific feature set or are making an actual hefty storage node, stock mdadm and LVM will probably fulfill your needs.
    3. Btrfs has all the features you need but is a load of trash in performance, highly recommend XFS for file integrity features + built in data dedup, and mdadm/lvm for the rest.

    I’m personally going with the NVME scheduled backups to RAID because the caching just doesn’t seem worth it when I’m gonna be slamming huge media files around all day along with running VMs and other crap. For context, the 2TB NVME brand I have is only rated for 1200 TBW. That’s probably more then enough for a file server, but for my homelab server it would just be caching constantly with whatever workload I’m throwing at it. Would still probably last a few years no issues, but SSD pricing has just been awful these past few years.

    On a related note, Photoprism needs to upgrade to Tensorflow 2 so I don’t have to compile an antiquated binary for CUDA support.







  • Whenever the new standard hits the almost impossible golden triangle of “cheap, reliable, and fast”.

    It’s gotta be cheaper than the alternatives, better and more reliable than the alternatives, and faster/easier to adopt than the alternatives.

    Early computers for example had various ways to chug math, such as mechanical setups, relays, vacuum tube’s, etc.

    When Bell invented their MOSFET transistor and figured out how to scale production, all those previous methods became obsolete for computers because transistors were now cheaper, more reliable, and faster to adopt than their predecessors.

    Tbf though transistors are more of a hardware thing. A better example of a standard would be RIP being superceded by BGP on the internet.


  • Form a new grassroots party and encourage voters to demand change in exchange for their vote.

    This is a tried and true method that has succeeded in multiple countries with much worse electoral systems than the US (I can vouch for PTI in Pakistan, it took them about 20 years including 10 years of military rule)

    Unfortunately, it is too radical for the folks over at c/Politics, even though it was literally what Malcolm X often suggested and what MLK did before they were both shot (albeit MLK preferred endorsing individual candidates regardless of party rather than trying to form a new one since that would be slower).

    So the real answer is unfortunately to sit back, relax, and enjoy the flames.