说明

本文主要介绍在centos 7系统中如何从源码开始编译安装ZFS。

准备

安装必须的依赖包

sudo yum groupinstall "Development Tools"
sudo yum install kernel-devel zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libudev-devel device-mapper-devel
sudo yum install parted lsscsi ksh

下载源码

git clone https://github.com/zfsonlinux/spl
git clone https://github.com/zfsonlinux/zfs

编译

编译spl

cd spl
git checkout master
sh autogen.sh
./configure --with-linux=/usr/src/kernels/3.10.0-229.el7.x86_64/ --with-linux-obj=/usr/src/kernels/3.10.0-229.el7.x86_64/
make -s -j$(nproc)

编译完成后的spl内核模块位于modules目录下(modules/spl)

编译zfs

cd zfs
git checkout master
sh autogen.sh
./configure --with-linux=/usr/src/kernels/3.10.0-229.el7.x86_64/ --with-linux-obj=/usr/src/kernels/3.10.0-229.el7.x86_64/
make -s -j$(nproc)

编译完成后的zfs内核模块位于modules目录下(moduls/zfs)

安装

zfs分为内核模块和命令行工具,首先需要安装内核模块

sudo insmod /lib/modules/3.10.0-229.el7.x86_64/kernel/lib/zlib_deflate/zlib_deflate.ko
sudo /sbin/insmod spl.ko
sudo /sbin/insmod zavl.ko
sudo /sbin/insmod icp.ko
sudo /sbin/insmod znvpair.ko
sudo /sbin/insmod zunicode.ko
sudo /sbin/insmod zcommon.ko
sudo /sbin/insmod zfs.ko

参考