因为版权的问题,使用 GPL 协议的 Linux 内核无法直接使用 CDDL 协议的 ZFS 文件系统,有一个办法可以绕过这个问题,就是先把 ZFS 代码编译成版权为 CDDL 的内核模块,然后 Linux 内核加载一个 CDDL 协议的内核模块,很高兴已经有人这么做了,所以我们终于有了原生的 Linux ZFS 文件系统。在 Linux 上和 ZFS 相似的还有一个 Btrfs 文件系统,被称为 Linux 下一代文件系统,起初是由 Oracle 开发的,有意思的是 Oracle 收购 SUN 后又得到了 ZFS,不过因为 Btrfs 使用的是 GPL 协议,所以不管 Oracle 的态度如何,对 Btrfs 的影响有限。
安装必备软件包:# yum install kernel-devel rpm-build
下载、编译和安装 SPL 包:# wget
# tar zxvf spl-0.5.1.tar.gz
# cd spl-0.5.1
# ./configure
# make rpm
# rpm -Uvh *.x86_64.rpm
加载 splat 模块到内核,并测试:# /sbin/modprobe splat
# splat -t kmem:all
------------------------------ Running SPLAT Tests ------------------------------
kmem:kmem_alloc Pass
kmem:kmem_zalloc Pass
kmem:vmem_alloc Pass
kmem:vmem_zalloc Pass
kmem:slab_sm