Getting Started with ZFS in Ubuntu 20.04

ZFS in Ubuntu 20.04 ZFS in Ubuntu 20.04

I upgraded one of the smallest servers at home office to Ubuntu 20.04 recently and realised that ZFS support has been added to Ubuntu for quite some time - so maybe I should explore it more. I actually quite miss ZFS from my Sun Microsystems days.

Loading ZFS modules in Linux

Most likely you don’t have the ZFS modules loaded by default:

greys@server:~ $ lsmod | grep zfs

… meaning you need to probe ZFS modules to activate this functionality:

greys@server:~ $ sudo modprobe zfs

As you can see, there’s quite a few modules are loaded now:

greys@server:~ $ lsmod | grep zfs
zfs 4030464 0
zunicode 331776 1 zfs
zavl 16384 1 zfs
icp 286720 1 zfs
zcommon 90112 2 zfs,icp
znvpair 81920 2 zfs,zcommon
spl 126976 5 zfs,icp,znvpair,zcommon,zavl
zlua 147456 1 zfs

Installing ZFS utils in Ubuntu

Alright, next step is installing tools that provide all these z-commands for managing ZFS:

# apt-get install zfsutils

Creating ZFS pool from virtual disks

First, I’ll need a few virtual disks:

# fallocate -l 512M /vdisks/disk1.img

# fallocate -l 512M /vdisks/disk2.img

# fallocate -l 512M /vdisks/disk3.img

# fallocate -l 512M /vdisks/disk4.img

Nice! Now let’s create a ZFS pool (it’s like a RAID array if you’re familiar with mdadm):

zpool create -f newvol raidz /vdisks/disk1.img /vdisks/disk2.img /vdisks/disk3.img /vdisks/disk4.img

Confirm ZFS pool status in Ubuntu

Show ZFS pools: zpool list

Here it is: my newly created ZFS pool called newvol:

# zpool list

NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
newvol 1.88G 212K 1.87G - - 0% 0% 1.00x ONLINE -

Show ZFS pool status and member disks

Let’s get a bit more information about the pool - for instance, confirm which disks are in it:

# zpool status

pool: newvol
state: ONLINE
scan: none requested
config:

    NAME                   STATE     READ WRITE CKSUM
    newvol                 ONLINE       0     0     0
      raidz1-0             ONLINE       0     0     0
        /vdisks/disk1.img  ONLINE       0     0     0
        /vdisks/disk2.img  ONLINE       0     0     0
        /vdisks/disk3.img  ONLINE       0     0     0
        /vdisks/disk4.img  ONLINE       0     0     0

errors: No known data errors

I’m quite happy! Will be cool to use ZFS and snapshots for home directory on this box.

See Also




Keep Learning

Follow me on Facebook, Twitter or Telegram:
Recommended
I learn with Educative: Educative
IT Consultancy
I'm a principal consultant with Tech Stack Solutions. I help with cloud architectrure, AWS deployments and automated management of Unix/Linux infrastructure. Get in touch!

Recent Tweets