• 1 Post
  • 16 Comments
Joined 1 year ago
cake
Cake day: July 8th, 2023

help-circle



  • I run my Truenas Scale with 5 mirror vdevs. This is sort of like raid 10 (I don’t need the differences explained to me). This means that I get 50% of the raw storage as usable but, it means that to upgrade space, I only need to upgrade two drives at a time. It also means that replacing a failed drive is fast, much faster than replacing a drive from a raidz* vdev. As you move to Truenas, this is something to consider. Given that you’re going to have 4 drives total, I don’t think you’d be wasting any additional space as you shouldn’t consider raidz safe (same problem as raid 5, high risk of second drive failure during rebuild) which leaves you at raidz2.




  • As always, it depends on use case and needs. For my use case (hot storage for vm disk and stateful kubernetes workloads) Truenas Scale doesn’t require any tinkering. Just install it and configure the storage, networking, and shares. The latter of which is currently completely handled by a kubernetes operator. This is about equivalent effort to Synology but with a much less user friendly interface.

    For more than a storage target, I wouldn’t really recommend it. It does have “Apps” but the setup is semi-involved and does leak some of the implementation details. You can also run vms but the experience is much worse than a dedicated hypervisor.

    So, I have both for different purposes. I wouldn’t want to put my hot storage on Synology because the hardware is pretty expensive and gets really expensive to get the features I would need (10gb and likely more ram to support the workload) but it’s pretty good for bulk storage and the app platform is fine for the supported things.

    So, I’d say that a new Synology is probably best for you. I upgraded from a DS1513 to the the DS1821+ and the improvement is nice. I would recommend you get more bays than you need as it makes gradually increasing your storage smoother with SHR. If you use SHR, SHR-2 is the one to use as a failure during rebuild isn’t exactly unlikely with similar drives. Since that requires a 4 drive minimum of a particular size to make the space usable, 5 drives is pretty limiting in terms of incrementally upgrading.


  • My DS1821+ has been rock solid but so has my Truenas Scale server and I ask a whole lot more of the latter. The “problem” with synology is that you’re paying a lot for the hardware that you get. Whether that premium is worth it is a personal decision. For the price, I would have liked to see a 10gb port and more than 4gb of ram. So, the question is how much do you value the synology interface and ease of use?








  • This is my ingressroute for lemmy:

    
    apiVersion: traefik.containo.us/v1alpha1
    kind: IngressRoute
    metadata:
      name: lemmy
    spec:
      entryPoints:
        - web
      routes:
        - kind: Rule
          match: Host(`threads.ruin.io`) && PathPrefix(`/api/`)
          services:
            - kind: Service
              name: lemmy
              passHostHeader: true
              port: 80
        - kind: Rule
          match: Host(`threads.ruin.io`) && PathPrefix(`/pictrs/`)
          services:
            - kind: Service
              name: lemmy
              passHostHeader: true
              port: 80
        - kind: Rule
          match: Host(`threads.ruin.io`) && PathPrefix(`/feeds/`)
          services:
            - kind: Service
              name: lemmy
              passHostHeader: true
              port: 80
        - kind: Rule
          match: Host(`threads.ruin.io`) && PathPrefix(`/nodeinfo/`)
          services:
            - kind: Service
              name: lemmy
              passHostHeader: true
              port: 80
        - kind: Rule
          match: Host(`threads.ruin.io`) && PathPrefix(`/.well-known/`)
          services:
            - kind: Service
              name: lemmy
              passHostHeader: true
              port: 80
        - kind: Rule
          match: Host(`threads.ruin.io`) && Method(`POST`, `PUT`, `DELETE`, `PATCH`, `CONNECT`)
          services:
            - kind: Service
              name: lemmy
              passHostHeader: true
              port: 80
        - kind: Rule
          match: Host(`threads.ruin.io`) && HeadersRegexp(`Accept`, `application\/(?:activity|ld)\+json`)
          services:
            - kind: Service
              name: lemmy
              passHostHeader: true
              port: 80
        - kind: Rule
          match: Host(`threads.ruin.io`)
          services:
            - kind: Service
              name: lemmy-ui
              passHostHeader: true
              port: 80
    

    It seems to work correctly. Given that you’re not using kubernetes, you’ll need to do some translation work.


  • There are multiple ways to evaluate usage. I’ll go with what I would guess is your desired measurement, things that I use intentionally (as opposed to things like dns, which just happen incidentally to other things or automation based things which are continuously running but not necessarily interacted with):

    1. Mastodon
    2. An app I’ve written to collect personal data
    3. Jellyfin
    4. Lemmy
    5. Bitwarden (I pay to self-host as opposed to vaultwarden as the latter probably won’t have a security audit)
    6. Freshrss
    7. Linkding
    8. Gitea
    9. Archivebox
    10. Mailcow