So in the new Ubuntu 20.04 (which I have) it is written on their blog page that
Ubuntu 20.04 LTS ships with a newer ZFS which features native, hardware-enabled encryption, device removal, pool trim and improved performance. While still experimental, we’ve built upon this feature with the addition of zsys.
I wanted to understand this 'support' and what actually they mean by that.
So upon doing df -T
I got the following output (of which I am posting the first 2 relevant columns):
Filesystem Type
udev devtmpfs
tmpfs tmpfs
/dev/sdb2 ext4
tmpfs tmpfs
tmpfs tmpfs
tmpfs tmpfs
/dev/loop0 squashfs
/dev/loop4 squashfs
/dev/loop3 squashfs
/dev/loop2 squashfs
/dev/loop5 squashfs
/dev/loop7 squashfs
/dev/loop11 squashfs
/dev/loop9 squashfs
/dev/loop10 squashfs
/dev/loop1 squashfs
/dev/loop12 squashfs
/dev/loop8 squashfs
/dev/loop13 squashfs
/dev/loop14 squashfs
/dev/loop18 squashfs
/dev/loop17 squashfs
/dev/loop16 squashfs
/dev/loop15 squashfs
/dev/loop6 squashfs
/dev/loop19 squashfs
/dev/sda2 vfat
tmpfs tmpfs
tmpfs tmpfs
/dev/sdb1 fuseblk
So I can see ext4 not zfs, then I got to know that we have zfs module but not loaded as lsmod | grep zfs
gave nothing, so I did sudo modprobe zfs
(now I could see it upon doing lsmod
) but upon loading it, zfs
command was still unrecognized and I found in this Getting Started With ZFS Ubuntu 20.04 article that I have to install it using apt.
Also on a side note if I try to find ext modules then lsmod | grep ext4
gives nothing.
So what purpose does the module serve? Why the whole thing is not already pre-installed?
Am I missing something here?
So I have understood that why and where ZFS is configured when installed, but what I do not understand is, suppose you do not configure ZFS upon installation and now want to do it, then first you have to load some modules and then install zfsutils. Why is that? Why it is not build like we can just load the whole thing?
Also, currently I am not able to find the ext4 modules
Whenever Ubuntu is installed, the root partition
/
require some file system to be created. Ubuntu, prior to 19.10, had options such as extended file system, btrfs, JFS, XFS, etc. Of all the options available, extended file system, to be precise, ext4 is preferred for now*.*There are some blogs that says Linux might gradually move to btrfs.
Eoan Ermine announced the support for ZFS for root file system. According to New Features - Eoan Ermine/ReleaseNotes:
Eoan Ermine had ZFS version 0.8.1. The option to use ZFS for root filesystem is only available from the installer, i.e., while installing Ubuntu. The usage is experimental and thus optional.
Focal Fossa (20.04) introduced the newer version of ZFS and this was the first LTS release to have ZFS support for root filesystem. From Storage/File Systems - Focal Fossa/ReleaseNotes:
Although Ubuntu supports ZFS but Linus Torvalds discourages its usage because of licensing issues from Oracle.
It seems you've installed Ubuntu in
/dev/sdb2
which is formatted in ext4 file system. sqashfs is the filesystem being used by snaps in small loop devices (See Small snap loop devices visible in gnome-disk-utility OR what is the function of snap ubuntu-core). As a result, you didn't find anything related to ZFS in your system.Though Ubuntu started supporting ZFS for root partitions after the release of Eoan Ermine, ZFS was supported for other partitions since Xenial Xerus (16.04) (see Ubuntu 16.04 LTS (Xenial Xerus) - Ubuntu version history - Wikipedia).
zfsutils-linux
is a package which provides some management utilities for ZFS. If you runcat /proc/filesystems | grep zfs
without installing the above said package, the output would be empty which means that some, if not all, operations for ZFS won't be available and may not work as expected.Similarly,
e2fsprogs
provides management utilities for extended file systems. This include ext2, ext3 and ext4. This package mostly comes pre-installed since as of now ext4 is the widely used filesystem for Linux system. For information about pre-installed packages, see the corresponsing manifest file. For example, this is the manifest file for 20.04's server image.Some related articles:
Enhancing our ZFS support on Ubuntu 19.10 – an introduction | Ubuntu
Using ZFS Filesystem on Ubuntu 19.10 - It's FOSS
Install Ubuntu 20.04 with ZFS - LinuxConfig.org
Which Linux File System Should You Use? - How-To Geek
Linux File System Explained: Boot Loading, Disk Partitioning, BIOS, UEFI and File System Types - TecMint
The installer uninstall unused packages taking into account your current configuration. It does not leave installed most file system administration utilities by default because most people won't be editing partitions further but will readily recognize the file system types you use.