6 ms·
Interesting post. They do get a lot of things right, but I tend to prefer a full OSS stack, so jellyfin instead of plex, and btrfs instead of ZFS. I didn't know
by MayeulC 6y ago
Interesting post. They do get a lot of things right, but I tend to prefer a full OSS stack, so jellyfin instead of plex, and btrfs instead of ZFS. I didn't know some parts they mentioned, I guess I'll investigate :)
One data point about btrfs, FWIW: I've been using it since 2016, the only "issue" I had is that it forced a failing drive into read-only, while other filesystems didn't detect the upcoming failure, thank checksuming for this.
The main missing feature for me is caching on faster disks, though there are some ways to get that. No mention of LVM nor LUKS either, I guess the understanding is either still a bit superficial (everyone has their own areas of interest), or they didn't want to complexify the setup too much.
For self-hosting, I can recommend https://yunohost.org/ https://yunohost.org/ which makes easy some traditionally hard parts of self-hosting, though it is quite opinionated (which isn't always a bad thing). Certainly saved me some time on maintenance, though I do see the limitations.
The holy grail of a "perfect homeserver" for me would be to run everything in GUIX, with a declarative configuration I can locally test before deploying, and rolling back. More packaging efforts are needed before this can become reality. I'd also like the option to have simple distributed storage, trough something like hypercore. This would help for backups, and for overcoming low-bandwidth links.
But maybe it's the Internet that needs to be fixed, with public key routing and content-based addressing, plus "heavy" clients and light, dumb servers instead of pushing everything to the browser.
- m463 6y agoI wonder about BTRFS after reading this: One thing I will not run is btrfs, aka ENOSPCfs. I saw it fail again, and again, and again, and again, AND AGAIN, and again, and again. Then I saw it fail some more. The promised features never materialized, and the drama and surprising behaviors never ceased. All costs, no benefits? I'll leave that on the shelf, a few spots down from reiserfs (which was plenty sketchy BEFORE you know who did you know what). https://rachelbythebay.com/w/2020/12/11/feedback/ https://rachelbythebay.com/w/2020/12/11/feedback/ As to file systems in general, I think they covered them very well.. As to Plex, he also mentioned the others: Jellyfin and Emby are two notable players in this space (playback on any device) but we should also mention Kodi. Kodi is great if your use case is local only as automated media transcoding for the target device isn't something that this software does. But, for me, Plex is still the best overall in this category. It has the slickest UI and the most features. Despite this, the progress being made by Emby and Jellyfin recently is very impressive and these are both projects to watch closely.
- 8fingerlouie 6y agoI agree with the Btrfs vs ZFS point. Btrfs has been very stable for me for the past 4-5 years, provided you stay away from the unstable features (raid56 and more). Btrfs raid1 on 4 drives has worked well for me. For media storage i use mergerfs and snapraid.
- BuildTheRobots 6y agoRaid 1 usually means a mirrored disk - how does this work with 4 drives? Staying away from unstable features: Is RAID 5 & 6 really considered unstable still?
- Shish2k 6y ago> Raid 1 usually means a mirrored disk - how does this work with 4 drives? “RAID1” in btrfs means “two copies of each file are stored on two disks” - so it’s closer to RAID10 in mdadm terms. It’s pretty nice as you can do things like having 3 x 1TB drives + 1 x 3TB drive and it Just Works to give 3TB of usable space. > Staying away from unstable features: Is RAID 5 & 6 really considered unstable still? Yup :( Also last time I checked (I’d love to be corrected about this) even RAID1 still isn’t ideal (in particular, when a drive fails in a RAID1 array, you only get one chance to mount it r/w and rebalance your data - after that, the array is read-only, and you need to recover by creating a new array on new disks and copy all the data across)
- 8fingerlouie 6y ago> Also last time I checked (I’d love to be corrected about this) even RAID1 still isn’t ideal (in particular, when a drive fails in a RAID1 array, you only get one chance to mount it r/w and rebalance your data - after that, the array is read-only, and you need to recover by creating a new array on new disks and copy all the data across) I think you're referring to this (https://www.spinics.net/lists/linux-btrfs/msg63370.html https://www.spinics.net/lists/linux-btrfs/msg63370.html) bug, which was fixed in kernel >= 4.20 and >= 5.0 (according to https://lore.kernel.org/linux-btrfs/CAJCQCtTRseEwoN4cbsAaE_YZz5hUYF1oCPB-aRvz7q2mYWJfMw@mail.gmail.com/t/#m38b32c8f3c53cb55bdd4d012006407647ac6cda1 https://lore.kernel.org/linux-btrfs/CAJCQCtTRseEwoN4cbsAaE_Y...) That being said, the bug only causes the filesystem to become permanently degraded if the number of devices fall below the required number of devices needed for the raid type, and IIRC was caused by btrfs being unable to write metadata correctly. If you had a 3 drive raid1 pool, and one of the drives failed, it would happily continue working in degraded state.
- oarsinsync 6y ago> Interesting post. They do get a lot of things right, but I tend to prefer a full OSS stack, so jellyfin instead of plex, and btrfs instead of ZFS. Liking the view on Jellyfin over Plex. I'm a relatively long time Plex user (switched over from XBMC (now Kodi) to Plex in ~2011), but also immensely dissatisfied with the direction they've taken, focusing on growth to satisfy PE backers over the needs of the user base that enabled them to even qualify for any PE money. It looks to me that their focus is increasingly on "collecting analytics" on their users behaviours (logging everything they watch) and providing ad-supported streaming services, instead of trying to provide the best self hosted media streaming service (as it was when I started using Plex). > One data point about btrfs, FWIW: I've been using it since 2016, the only "issue" I had is that it forced a failing drive into read-only, while other filesystems didn't detect the upcoming failure, thank checksuming for this. One more data point about BTRFS, is that it doesn't support parity-stripe based redundancy models (raid5/6, raidz{1..n}, etc), which makes it less interesting for a lot of people. Another note about ZFS is that it doesn't allow for growing of parity-stripe based volumes (although there's a tweet referenced in TFA that notes there should be a pull request with that feature expected soon). This can make it very expensive for people who don't have the funds to buy disks in groups of 6 at a time (my personal preference for a raidz2 zpool)
- tremon 6y agoBTRFS [..] doesn't support parity-stripe based redundancy models (raid5/6) Before someone looks at man btrfs-device and gets confused: doesn't reliably support those levels. Support for parity-based redundancy models has been in the code for ages, but that part of the code is not considered mature.
- mfritsche 6y agoI am using raid5 for data for some years now. Not using raid5 for meta data though, as that isn't recommended.
- 8fingerlouie 6y ago> One more data point about BTRFS, is that it doesn't support parity-stripe based redundancy models (raid5/6, raidz{1..n}, etc), which makes it less interesting for a lot of people. It does however support raid1 on multiple drives, and raid1c3 and raid1c4 for increased redundancy. With Btrfs raid1, you can pool I.e 4 drives, meaning it will store 2 copies of each file on different devices. It’s not your traditional raid1. With raid1c3 it will store 3 copies of each file, and raid1c4 stores 4 copies. So while technically not raid5, a 3+ drive Btrfs raid1 pool will provide almost the same redundancy. Think of it more like raid10.
- andreareina 6y agoI thought OpenZFS is OSS, it's just that the license is GPL-incompatible and thus distribution in e.g. Debian is an issue, but it's perfectly fine to pull the source and compile the module oneself.
- oarsinsync 6y agoIndeed, it's CDDL: https://github.com/openzfs/zfs/blob/master/LICENSE https://github.com/openzfs/zfs/blob/master/LICENSE
- MayeulC 6y agoIt is open source, but I wouldn't exactly call it free as in freedom due to GPL-incompatibility. It has less eyes on it, requires more maintenance due to being out-of-tree, and coming from Oracle, it sounds like a legal minefield. Not that I personally risk anything, but I feel like btrfs is more future-proof (safer from being discontinued). Plus, it works OOTB on most Linux computers. Its ubiquity allows me to use it in numerous places. It is quite flexible and doesn't require that much resources (I hear ZFS is quite RAM-hungry?). It isn't perfect either, use what suits you!
- boomboomsubban 6y ago>Its ubiquity allows me to use it in numerous places Does btrfs work on anything except Linux? Apparently ReactOS too creating limited Windows support, but it's not very portable. It's a strange thing to praise btrfs for when comparing to ZFS. >coming from Oracle, Fun fact, btrfs comes from Oracle.
- tomnipotent 6y ago> I hear ZFS is quite RAM-hungry? Only if you use deduplication (off by default), in which case the rule of thumb is 1-5GB of RAM per 1TB of disk. Otherwise you can get away with less memory.
- zdw 6y agoOpenZFS has been based on the non-Oracle illumos fork of Solaris for >10 years, and has considerable backing from both corporate and community sources. The CDDL is a non-issue in most cases, and actually preferable to the GPL as it allows for the code to be integrated into BSD and Solaris-derived systems.
- afavour 6y agoI tried Jellyfin but the front end apps (Apple TV, Roku etc) are either non existent or very inferior compared to Plex. It’s a shame because the server worked great for my purposes (even has the DVR functionality I use in Plex!). I suppose it just highlights how difficult it actually is to do this stuff: sharing a front end across multiple incompatible platforms is something an open source project struggles to do. Plex seems like they’re in a bind. They need to diversify their user base because their current one is very heavily based on people sharing pirated content (every time I point this out someone says they they only use Plex with Blurays they’ve legally purchased and ripped... and good for you! But you’re not close to the normal user) and I figure they’re in constant fear of legal action shutting them down. At least the streaming, DVR etc functionality allows them to make a plausible claim that people use their product for entirely legal means. I’ve gotten enough value out of my lifetime subscription that I won’t feel cheated if Plex disappears, but it’s good to know solutions like Jellyfin are nearly there when/if it does.
- alexktz 6y agoPlex disappearing would be the best thing to happen to Jellyfin tbh. It would force a huge amount of new users their way and with those eyeballs would come progress. I agree with your take in the first sentence so much unfortunately.
- xienze 6y ago> I tried Jellyfin but the front end apps (Apple TV, Roku etc) are either non existent or very inferior compared to Plex. Apparently Infuse[0] supports Jellyfin now. I use it with Plex and have found it to be far and away the best TV media front end. So you might want to take a look at it. 0: https://firecore.com/infuse https://firecore.com/infuse
- afavour 6y agoUnfortunately I make heavy use of the DVR functionality (live TV, TV guide, looking at upcoming recordings etc) that both Jellyfin and Plex provide, but third party clients like Infuse ignore. But thanks for the suggestion! Who knows, maybe I’ll be able to pair Infuse with some kind of third party DVR client in the future.