通用内核中的 ZFS 支持是否需要 zfs-dkms?

Ave*_*man 6 kernel initramfs dkms zfs

我改编了 ZoL 指南,将 Ubuntu Server 14.04 放在 ZFS 根目录上,用于 18.04 Bionic Beaver 和桌面安装:http : //vlog.averyfreeman.com/doku.php/ubuntu.18.04.desktop.on.zfs

我正在努力确保我拥有的所有信息都是正确的,但我遇到了几个我不知道如何回答的问题:

Ubuntu 中对通用内核的 ZFS 支持是否需要该zfs-dkms软件包,还是就zfs-initramfs足够了?(Ubuntu 中的通用内核是否具有 kABI 扩展?)

如果有人真的遵循它,我希望他们在内核升级后有一个可引导的系统!:)

另外,有没有办法防止# zfs import -f rpool在启动更新的内核后必须调用和重新启动?

Win*_*nix 0

来自Ubuntu Wiki ZFS

ZFS

概括

ZFS 是一个组合文件系统和逻辑卷管理器,由 Jeff Bonwick 和 Matthew Ahrens 领导的 Sun Microsystems 团队设计和实现。它的开发始于2001年,并于2004年正式发布。2005年它被集成到Solaris的主干中,并作为OpenSolaris的一部分发布。目前,截至 2015 年 1 月,它原生支持 Solaris、OpenSolaris、OpenIndiana、illumos、Joyent SmartOS、OmniOS、FreeBSD、Debian GNU/kFreeBSD 系统、NetBSD、OSv,并在带有 MacZFS 的 Mac OS 上受支持。

“ZFS”这个名称最初代表“Zettabyte 文件系统”。目前它最多可以存储 256 ZiB(zebibytes)。

在 Ubuntu 上安装 ZFS

ZFS 文件系统可作为 FUSE 模块或本机内核模块用于 Ubuntu。内核模块是默认提供的。要安装用户级工具,只需安装:

sudo apt install zfsutils-linux 
Run Code Online (Sandbox Code Playgroud)

适用于 16.04 及之后的所有当前版本。

除了能够在 root 上安装 ZFS 之外,还可以安装:

sudo apt install zfs-initramfs 
Run Code Online (Sandbox Code Playgroud)

没有任何地方提到这zfs-dkms是先决条件。


卡比

kABI是内核应用程序二进制接口。它不会经常更改,但当更改时,所有程序都必须共享相同的版本。

跟踪 ABI/API 更改

ABI实验室我们可以看到最后一次变化是在2018年6月4日、5日和6日:

Linux ABI 更改.png

我们可以看到2018年6月修订的Linux内核编号是:

  • 4.14.484.9.107以及4.4.136所有 6 年 LTS 内核

相应的Ubuntu 内核版本号可能是:

当新的硬件支持或现有硬件的错误修复发布时,我们需要升级 Linux 内核。当涉及 ABI/API 更改时,Ubuntu 内核可能会也可能不会工作。即使 ABI/API 未发生更改,Ubuntu 内核仍可能因其他原因而对某些人造成破坏。

在此示例中,如果您在 2018 年 6 月之后拥有通用 Ubuntu 内核和 Linux Mainline 内核,那么它​​们将共享相同的 kABI。