5 ms·
Biggest hurdle in using zfs is that it consumes a huge amount of ram and uses considerable CPU cycles when compared with xfs or ext4. It's like running a massiv
by krob 9y ago
Biggest hurdle in using zfs is that it consumes a huge amount of ram and uses considerable CPU cycles when compared with xfs or ext4. It's like running a massive MySQL server on top of another MySQL server if ever that was possible. Follow Reddit datahorders subreddit people speak all the time about how powerful freenas machine must be just to give decent transfer speeds over samba. Yes freenas will run without lot of CPU speed and ram but performance will suffer greatly.
- X86BSD 9y agoThis is patently false. FUD. And you need to stop repeating it. There are people I’ve seen running ZFS with incredibly low amounts of ram. In the megabytes. Will it perform well? Depends on what it’s doing. But it can run acceptably in low memory situations. Even if it didn’t you act like ram is expensive. Everyone that complains it takes too much ram needs to get a job. Seriously ram is cheap it’s not 1970. I think those people that complain about Freenas have no idea what the problems actually are. Samba itself has never been a performance demon. But that’s not why people use it. But to claim it’s freenas that’s slow is redonkulous.
- Fnoord 9y ago> Even if it didn’t you act like ram is expensive. Everyone that complains it takes too much ram needs to get a job. Seriously ram is cheap it’s not 1970. Could you explain how this rant or my job helps the amount of RAM on my phone or Raspberry Pi? Have you also ever considered that not everyone is from a first world country, able to afford the latest and greatest device with crazy amounts of RAM? What you say is true for x86-64 desktops and servers in the first world. For everyone else, amount of RAM matters. And its you with the ostrich politics who has to stop. A quick glance at [1] suggests that, yes, you can run FreeBSD ZFS (OP was on about FreeNAS) but not without hassle. [1] https://wiki.freebsd.org/ZFSTuningGuide https://wiki.freebsd.org/ZFSTuningGuide
- X86BSD 9y agoWhoa slow your roll willy wonka. You are contemplating a file system like ZFS for embedded devices?? Horrible idea. Horrible. Nobody said anything about the latest and greatest devices. But you clearly would not run zfs on embedded systems. You would use UFS or similar. Talk about the wrong tool for the job! Also [1] is horrendously out of date and inaccurate in regards to resource usage. And the FreeBSD universe always tends to be cautious and moderately conservative. It’s in our DNA. That doesn’t reflect anything other than were conservative and cautious.
- Fnoord 9y agoAgreed, horrible idea for the time being, but you made it seem as if ZFS could run on these low resource systems. There are certain features in ZFS which I'd love to run on embedded devices. I even remember Apple toying around with porting ZFS to macOS (back then called OSX or OS X) [1]. We're 10 years later, and only now has Apple rolled out APFS which has CoW and data integrity (yet no TimeMachine support for APFS). EDIT: to those who commented, was it ECC RAM? [1] https://en.wikipedia.org/wiki/ZFS#macOS_2 https://en.wikipedia.org/wiki/ZFS#macOS_2
- 2trill2spill 9y ago> Agreed, horrible idea for the time being, but you made it seem as if ZFS could run on these low resource systems. I've installed ZFS on a machine with only 1GB of ram. Yea that's a lot for an embedded device, But it's not a lot of RAM in the grand scheme of things. Was it fast, no, but it definitely worked.
- hnlmorg 9y agoI've run a 6TB pool (6x disks across 2x raidz2) on 2 GB RAM for several years. This was on desktop hardware. In fact it wasn't even an Intel CPU but some crappy AMD thing. Initially I ran Nexenta, then OpenSolaris before finally switching to FreeBSD. Network shares via Samba as well. I didn't have any performance issues for day to day stuff. Scrubs used to take a while, as did resilvering whenever I had to replace dead drives. But normal day to day operations worked fine. It was only around 5 years ago when I finally switched up to the Xeon with 32GB RAM machine I have now. Also FreeNAS is based on FreeBSD.
- kqr 9y agoI don't know about that. Essentially there's this range from "use a lot of storage" to "use a lot of computing power". Most traditional file systems use a lot of storage and that's that. ZFS let's you pick a point on the scale it will operate at.
- amorphid 9y agoWe use ZFS at work. ZFS wants enough memory to be happy. One learns usually learns how much memory is too little by not giving it enough memory. Basically ZFS is great if you want the benefits of ZFS, and are willing to deal with the tradeoffs.
- blackflame7000 9y agoWhat do you mean by trade-offs? My experience with it has been pretty much all upside.
- vetinari 9y agoZFS uses lot of RAM only if you enable deduplication (and once you enable it, you cannot disable it). Without it, the RAM and CPU time requirements are very modest.
- mrmondo 9y agoThat’s not at all correct, without deduplication enabled I have observed massive memory usage across BSD, Linux and ZFS on macOS.
- kinghajj 9y agoThat's probably the ARC, the in-memory caching structure, which gives up memory when applications need it. The weird thing on Linux (and maybe the others) is that the kernel marks the memory as "used" and not "cache", so tools like top/htop show high memory usage, even though ZFS will shrink its ARC when any actual applications require it.
- AndrewDavis 9y agoThat's the ARC. The ARC max size will default to (at least on FreeBSD) total ram -1GB[1]. Because the ARC is read cache it will shrink if the system needs more memory. Unused ram is wasted ram. [1]https://www.freebsd.org/doc/handbook/zfs-advanced.html https://www.freebsd.org/doc/handbook/zfs-advanced.html
- mrighele 9y agoMinor correction: you can disable it, but this doesn't change the status of the data already deduped. This is in fact true also when you enable it: current data is unaffected by the change, you need to move/copy it. The biggest issue is that there is no official tool to have a list of files that are currently deduped (I had to write a script that parse the output of zdb) so if you're not sure you have to move all the data out of the dataset.