I have an AMD64 KVM VPS at RamNode, it has 30 GB disk, 256 MB RAM, and 1 "virtual CPU" (I have no idea of the specs of the host CPU). It will be used to store many small, easily compressed files, mostly <50kb, text/HTML. I want to use a compressing filesystem to conserve what little disk space i have. The first that came to mind was ZFS, but from what I've read, ZFS don't play well with anything less than 1-2GB RAM, so I need something more lightweight. As for BTRFS, from what I've read, its heavy on CPU and not yet stable (as for RAM, I have no idea). Any suggestion for the file system? Performance and throughput is not a concern, but disk usage and RAM usage is. As for the operating system, I was thinking Linux Debian 8, but if a fitting FS does not support Debian8/Linux, I can switch (*BSD perhaps?)
I've run both ZFS and BTRFS on Linux in the last two years. My experience is that BTRFS uses less RAM than ZFS for comparable disk usage. Not including RAID5/6, BTRFS has been very stable for me on Ubuntu 14.04 with BTRFS 3.12.
I've been using LZO compression in BTRFS, and it has been just as fast on writes as uncompressed.
Well, decision what fs to use is dependent on your file access pattern.
I'd suggest squashfs with xz compression for read-only files if maximum compression ratio is a goal.
It will save both space and free inodes in case of millions of small files. Appending new ones without deleting/moving/rewriting is also ideal usecase. Just use aufs/overlayfs/unionfs for merging r/o and r/w directories. Periodical update of squashfs file by merging files from r/w directory is necessary. I've read that some company used this bundle. Not very frequent content generation is also good usecase.
Frequent updates of small portions - use abovementioned zfs/btrfs or fusecompress (use only 0.9.x). These three solutions work well with rsync. fusecompress allows stronger lzma compression.
archivemount doesn't work with rsync. It sleeps on disk while update:(