Other Which FS on an old computer

Hi,
I use ZFS on every machine (workstation, laptop, netbook), basically for studying purposes (doing some experiment, testing some configuration, and so on).
Apart from obvious advantages of ZFS (eg. snapshot), I wondering if it is a good idea to use ZFS on a very old machine (let's say, EEEPC 900, 1 GB RAM), compared to UFS.
What do you think?
Thank you very much
 
ZFS has a reputation for needing lots of RAM. People say that you need at least 8 or 16 GB of RAM to use it. That is clearly not completely true: my machine at home has 3GB of RAM, and ZFS runs perfectly fine on 3 or 4 disk drives (but with some sysctl variables tuned for low memory consumption). The question is: how far would I push that? Trying this on a 1GB machine, you might not get lucky. But if you have some time, and don't have to put valuable data on the machine, just try it with ZFS and some tuning, it might just work.

I would use UFS. It is a very good and solid file system, just missing lots of features that today are desirable or essential (built-in RAID, checksums, variable-size, ...). And since it is inherently very old, it was well tested on machines when common memory sizes were 4 and 16 MB (not GB), so it will work excellently on a 1GB machine.
 
The CPU in the eeePC would be the first bottleneck, RAM would be the second, disk controller would probably be the third. With that in mind, ZFS might not be the best fit. :)

It is possible to run ZFS in low-memory setups. It just requires a lot of manual tuning, testing, and monitoring. But it is doable. My home media server ran on a single-core Pentium4 system with 2 GB of RAM for many years (32-bit FreeBSD install). Originally with 4x 160 GB IDE drives in raidz1. Then with 4x 250 GB SATA drives in raidz1. Then finally with 4x 500 GB drives in dual mirror setup (RAID10 essentially). It wasn't a speed demon, and it took a good 6 months+ to get the loader.conf settings dialed in for it to remain stable. But it worked. Was our main desktop for awhile as well (KDE 3 then KDE 4).

It's now running a quad-core Phenom II CPU with 16 GB of RAM and 6x 1 TB drives in a triple mirror setup (still essentially RAID10) and 64-bit FreeBSD. Things work much better with that hardware. :D

But running it on a eeePC might be more hassle than it's worth. :) UFS will be better for it.
 
It's now running a quad-core Phenom II CPU with 16 GB of RAM and 6x 1 TB drives in a triple mirror setup (still essentially RAID10) and 64-bit FreeBSD.

What motherboard are you using?

I'm quite happy with my Phenom II and FX boxen, but it's not possible (afaik) to find replacements when the cheesy Shenzhen-sweatshop motherboards fail. I'm on my last 2 now, keeping them as cool as 4 husky Delta fans apiece can manage, but when they go, my cp and DDR3 memory investments will go with them unless there's still some board fab hiding in the weeds somewhere making AMD AM3+ mamaboards worth buying.
 
What motherboard are you using?

I'm quite happy with my Phenom II and FX boxen, but it's not possible (afaik) to find replacements when the cheesy Shenzhen-sweatshop motherboards fail. I'm on my last 2 now, keeping them as cool as 4 husky Delta fans apiece can manage, but when they go, my cp and DDR3 memory investments will go with them unless there's still some board fab hiding in the weeds somewhere making AMD AM3+ mamaboards worth buying.
Aside from a couple of "test" boxes I use Insmel ... I mean Intel on. I'm exclusively on AMD (Phenom/Athlon/FX).
From my experience, MSI is the best match for these (A|C)PU's. I choose the models that have solid/military cap's. All of them continue to run -- a couple are in excess of 10yrs. of age. :)
The new, as well as the old, run rock solid. I have no difficulty overclocking them for years of uninterrupted use, and unlocking cores are trivial -- shh... ;)

--Chris
 
I have a server with 1GB of RAM that uses ZFS (with arc limited to 256MB) and it works OK. It runs a full web stack with around 15 websites and the performance has been good with no crashes. However, I think UFS is a really good option for systems with smaller amounts of memory so you might want to just go with that if you don't need any specific ZFS features.
 
There are more or less three general reasons why one would want to use ZFS.
1. Performance. That definitely needs a lot of memory and CPU.
2. Ease of maintenance. That improvement depends on how complex the specific disk layout is, and obviousely at some point the advantage is consumed by bad behaviour from a lack of resources.
3. copy-on-write allows certain configurations which wouldn't be allowed otherwise. For instance, in postgreSQL the "full_page_writes" option can be switched off, and that can make the backup size (wal archive) shrink by factor 10.

Now it makes a real difference if you need ten tapes or one tape for backup, and therefore I wanted ZFS when it appeared in FBSD. The machine at that time had 256MB ram installed, and that did not work. With 384MB it did work, but it was no fun. Finally, with 750MB it did work good, and then I moved most of the filesystems to ZFS (3 pools, ~50 filesystems). Worked solid for years. Config was
#vm.kmem_size="512M"
#vm.kmem_size_max="512M"
#vfs.zfs.arc_max="160M"
#vfs.zfs.arc_min="26M"
The database is mostly busy collecting the backup file-lists from some other systems, so performance wasn't important. And reliability was always perfect.

There is another issue, not with memory, but with weak CPUs. On certain operations, the disk access may stall for a couple of seconds. Depending on the kind of work this may be an issue or not. It definitely is an issue when scrubbing, because then the loadavg climbs to 20 and more, and the machine is unresponsive. A possible workaround is to set vfs.zfs.scan_idle to an arbitrary high value of ms (so that it is always true, i.e. there will always have been a write access to the pool during that timespan) and then adjust vfs.zfs.scrub_delay accordingly, making the scrub run very slow (but resilver will also become slow).

Over all, if there is a really good reason why one wants to use ZFS, it can be done, but it will bring along some work.
 
Back
Top