内核
信息内核版本 | 内核版本 | CPU架构 |
---|---|---|
ubuntu | 5.15.0-39-generic | ARM |
前置
系统依赖// 系统包依赖
$ sudo apt install -y \
alien \
autoconf \
automake \
build-essential \
dkms \
fakeroot \
gawk \
gdebi-core \
libacl1-dev \
libaio-dev \
libattr1-dev \
libblkid-dev \
libdevmapper-dev \
libelf-dev \
libselinux-dev \
libssl-dev \
libtool \
libudev-dev \
nfs-kernel-server \
python3 \
python3-dev \
python3-cffi \
python3-setuptools \
uuid-dev \
zlib1g-dev
// 内核头文件安装
$ sudo apt install -y linux-headers-$(uname -r)
zfs
源码编译zfs
编译过程$ git clone https://github.com/openzfs/zfs.git && cd zfs && git checkout zfs-2.1.5
$ ./autogen.sh
$ ./configure
// 可以选择如下三种编译方式
方式一:$ make
方式二:$ make deb-utils
方式三:$ make deb-dkms
zfs
安装过程// 安装[root@ubuntu-dev /home/perrynzhou/zfs-2.1.5]$ for file in *.deb; do sudo gdebi -q --non-interactive $file; done// 加载[root@ubuntu-dev /home/perrynzhou/zfs-2.1.5]$ modprobe -v zfs
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/spl.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/icp.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/zavl.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/znvpair.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/zcommon.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/zlua.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/zzstd.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/zunicode.ko
insmod /lib/modules/5.15.0-40-generic/kernel/zfs/zfs.ko
zfs
验证[root@ubuntu-dev /home/perrynzhou]$ sudo zpool create -o ashift=12 \
-O compression=lz4 \
-O dnodesize=auto \
perryn-pool mirror sdb sdc
[root@ubuntu-dev /home/perrynzhou]$ zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
perryn-pool 15.5G 396K 15.5G
[root@ubuntu-dev /home/perrynzhou]$ zfs create perryn-pool/fs
[root@ubuntu-dev /home/perrynzhou]$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
perryn-pool 528K 15.0G 96K /perryn-pool
perryn-pool/fs 96K 15.0G 96K /perryn-pool/fs