Is the author not aware that you can use zfs on linux with both lxc and docker? Article doesn’t really go into any of the details of what goodies that I’m missing out on.
Newer features like encryption and raw sends (likely crucial to some end-to-end encryption features Datto is planning on offering; Tom Caputi, one of their engineers, authored that feature) might take a while to land in FreeBSD and IllumOS.
At the same time, FreeBSD ZFS has had TRIM for a while, but it’s still being developed on Linux and appears to be in some sort of development hell (c.f. https://github.com/zfsonlinux/zfs/issues/598 https://github.com/zfsonlinux/zfs/issues/5925).
See http://open-zfs.org/wiki/Features for more details - it seems to be a bit out of date, especially regarding things like encryption which made their way to 0.8.0-pre in Linux.
So, the result is that a lot of newer pool feature flags are Linux-only for now, and pools created with -pre releases of ZFS can’t be imported on other platforms. Not a problem if you’re only using Linux, but something to keep in mind.
We’re working on importing the encryption changes, but we’re not going to finish that process until we’re sure they’re ready. There have been some panics and other issues that we’ve been chasing down. It’s the file system, so it’s extremely important to get this stuff right, even when it takes a while.
Absolutely, and the encryption changes are rather extensive.
Related: what do you think of channel programs? Running Lua in the kernel scares me a little.
I’m not sure that I’m scared. I think the Lua interpreter we have is almost certainly a high quality piece of code that has seen a lot of testing and (I believe?) fuzzing in the upstream codebase. I definitely had (and, really, still have) reservations about it – you can read about some of them in comments I made on the pull request.
That said, because the implementation is still (as far as I know) constrained to use by the super-user – and even then, only in the global zone – I don’t think it’s been the cause of much if any havoc on general purpose or multi-tenant systems. I do appreciate that if you’re building a sealed appliance that happens to sit on top of illumos, it probably does help with certain internal ZFS administration functions that you might want to build.
Sure, I can accept that there will be version/feature skew, however that’s a long way from the claims the author is making about “doing it wrong”.