Using ZFS or XFS on a Linode
I don't usually cross-post, but in this case, thought it would be pertinent to see whether any Linode forum users (not on Serverfault) have already considered the following options for filesystems on their Linodes?
Please respond on Serverfault, if possible, thanks. I'll post the winning answer here too.
Stick to ext3 or maybe ext4 if extents are worth breaking Linode's disk resizing for.
I think it depends what you're doing. ZFSonLinux is considered stable at this point, and it's probably suitable for anything short of critical systems.
ZFS loves RAM, though. It runs best on systems with a ton of it. This alone may make it poorly suited to Linodes. The rule of thumb is something like 1GB per TB of storage (although I'm violating that with 44TB of storage on 24GB of RAM), and you're not going to hit that on a Linode, but I still would not run ZFS on a system with less than 4GB of RAM.
Also, do not run ZFS on a 32-bit kernel. It almost needs the wider virtual address space, even if you don't have more than 4GB of RAM.
I'm after data integrity and ease of snapshots for backing up with minimum effect on a running system, so will be testing the following thoroughly before taking any action on my live servers:
1. ZFS on a 4GB Linode, using ditto blocks, without RAIDZ, for obvious reasons, as stated in my response to the accepted answer on serverfault.com:
2. SmartOS and Linux on Joyent's ZFS backed cloud. SmartOS looks very appealing from the perspective of the requirements outlined in this post, but their prices are considerably higher than Linode's. Joyent will be releasing the ability to install custom Linux images early next year, so that will also give me the ability to run Slackware with ZFS on what they claim is "bare metal" ZFS.
I hope to report back on my testing once complete.
ZFS is definitely a first class citizen on Linux and with Ubuntu's native and on-root support for it, this is an essential feature for Linode to support.
I use FreeBSD on my Linode…so I have ZFS. All of Linode’s infrastructure involving file systems — backups, resizing, snapshots, etc — expect you to have ext3/ext4. So if you have something else, none of that stuff is going to work.
Also, to make a ZFS file system, the discs must be initialized as “raw”. That presents a distinct problem if you’re building a Linode from a Linode-supplied image.
PS. I do my own backups to a block storage volume that’s a ZFS volume. There are pluses & minuses to that. You can prob guess the minuses. One of the big pluses is that I have file-level recovery.
You can do the same thing with object storage if you like.