我改编了 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
在启动更新的内核后调用并重新启动?
答案1
虚拟文件系统
概括
ZFS 是一个组合文件系统和逻辑卷管理器,由 Sun Microsystems 的 Jeff Bonwick 和 Matthew Ahrens 领导的团队设计和实施。它的开发始于 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 File System”。目前它最多可以存储 256 ZiB(zebibytes)。
在 Ubuntu 上安装 ZFS
ZFS 文件系统可作为 FUSE 模块或原生内核模块用于 Ubuntu。内核模块是默认提供的。要安装用户级工具,只需安装:
sudo apt install zfsutils-linux
适用于 16.04 及以上的所有当前版本。
除了能够在 root 上拥有 ZFS 之外,还要安装:
sudo apt install zfs-initramfs
没有任何地方提到这zfs-dkms
是先决条件。
卡比
卡比是内核应用程序二进制接口。它不经常更改,但一旦更改,所有程序都必须共享同一版本。
跟踪 ABI/API 变化
来自ABI实验室我们可以看到最后的更改是在2018年6月4日、5日和6日:
我们可以看到Linux 内核2018 年 6 月修订的数字如下:
4.14.48
以及4.9.107
所有4.4.136
6 年 LTS 内核
相应的Ubuntu 内核版本号大概:
4.13.0-43
标头安装失败:Linux 内核头文件与当前内核匹配4.15.0-23
apt 删除脚本损坏
当发布新的硬件支持或现有硬件的错误修复时,我们需要升级 Linux 内核。当涉及 ABI/API 更改时,Ubuntu 内核可能会或可能不会工作。即使没有发生 ABI/API 更改,Ubuntu 内核仍可能因其他原因而对某些人造成影响。
在此示例中,如果您有一个通用 Ubuntu 内核和一个 2018 年 6 月之后的 Linux 主线内核,则它们都将共享相同的 kABI。