The Ubuntu LTS release cycle has an enormous impact on the industry. That is what makes the Ubuntu 20.04 LTS release, codenamed “Focal Fossa” so important. LTS stands for Long Term Support which means this release will be supported for five years. With the new LTS version, we get a slew of updates, but this will also serve as a foundation for many industries. For example, NVIDIA AI and deep learning work uses Ubuntu heavily. Examples are that it is an OS that supports the fabric manager needed to use the NVIDIA Tesla V100 NVSwitch fabric and it is even the base OS for NVIDIA’s Jetson development kits. Each LTS release is where we see vendors focus on for their OS support. Given Ubuntu’s scale, every new LTS version is a major industry event.
Ubuntu 20.04 LTS Focal Fossa Released
We wanted to cover a few highlights of the release. We recommend checking out the official release notes here.
ZFS Gets Further Integration
We are mostly going to focus on some of our server highlights from this release, but there is a feature we wanted to first cover on the desktop side. Ubuntu 20.04 LTS has support for installing directly to a ZFS root in the desktop edition. You can find this in the “Advanced Features” option of the desktop installer. We already ran through the Ubuntu 20.04 LTS server installer and the ZFS option is not there.
Once booted, you can see that we have Ubuntu running directly on ZFS.
This is a big deal. With Ubuntu 20.04 LTS we get ZFS 0.8.3 which brings features such as:
- Native Encryption (with hardware acceleration enabled in Focal)
- Device removal
- Pool TRIM
- Sequential scrub and resilver (performance)
Beyond these features, this is another step in turning ZFS into a more widely adopted storage solution for the Linux side. We still do not have this option for the server version, but this is a big step. Ubuntu also now uses zsys to take snapshots before apt operations. If something goes poorly, it is only seconds away from a reversion.
At this point, the writing is on the wall. Once ZFS is fully integrated into Ubuntu, it is going to create a massive opportunity for a Ubuntu-based FreeNAS/ TrueNAS Core alternative potentially integrated as a snap and on the installation screen. Proxmox VE already has features such as booting from ZFS and arrays so the Ubuntu team has precedent for further integration on a Debian Linux server platform.
There is actually a lot going on under the hood. If you were not using the HWE kernel with Ubuntu 18.04, you will quickly notice the updated 5.4 kernel in Ubuntu 20.04 LTS. This brings features such as support for AMD EPYC 7002 Series “Rome” CPUs and other platforms out of the box on the base installation. We also get features such as KVM support for AMD Secure Encrypted Virtualization (SEV.)
Another big change is that Python is going Python3 with Python 2.7 being moved to Universe. For those still using older Python scripts, it is now time to change.
As we normally expect, we are also getting new gcc version (GCC 9.3) as well as a host of other updates.
Big Virtualization Changes
In the official release notes, you will see a more comprehensive list. Still we wanted to point out a few items that are going to change if you are virtualizing on Ubuntu 20.04 LTS.
We have a new QEMU update. Among other features, this brings support for Intel Optane DCPMM (pmem) and NV-DIMMs. With the new libvirt we geat features such as faster access to NVMe disks leading to higher-performing VMs. We also get better support for mediated devices such as virglrenderer for virtual 3D GPUs inside VMs. That is one to read about if you are interested.
We get new dpdk (19.11.1) and Open vSwitch versions (2.13.) The Linux networking stack both for virtualized and non-virtualized workloads has received a lot of attention to increase performance. We are seeing the results of that here.
We also have a new cloud-init. While this is not necessarily virtualization, that is how many will use it with Ubuntu.
OpenStack Ussuri is now part of the not out just yet, but it is included as a preview in this version and will be included in Ubuntu 20.04.1 LTS in a few months.
A few other fun ones here include upgraded netplan support for SRIOV virtual functions. We also see high-availability improvements with KRONOSET (knet) for setting up active/active and active/passive links between nodes. A lot has changed here so that is probably worth a trip to the release notes. For higher-level HA, we also get HAProxy 2.0 with this release.
This one has been around for awhile, but if you are installing a system, and want a basic md raid setup with mdadm during installation, the installer has made this a bit more visible in recent versions. This is not net-new, but it is also very easy compared to what you were accustomed to if you decided to skip 18.04 LTS and are coming from 16.04 LTS. There is a basic GUI in the installer to setup RAID arrays.
Samba 4.11 disables SMB1 shares by default. For some with Ubuntu SMB boxes, this is going to be one to watch out for although you can re-enable SMB1.
A lot has changed with the new version. Given recent history, we know that a Ubuntu LTS release is an enormous industry milestone. That means as an IT professional, you should check it out as soon as possible. It also means that if you are on the venerable Ubuntu 16.04 LTS, which was really the first mainstream Linux distribution to support Arm servers natively among other changes, you should be on notice that you only have a year left to upgrade.
To our STH readers, get playing with the newest server OS, and get ready to deploy it in July when the first “dot” release comes out.
I switched to daily builds of 20.04 LTS Mate early march for use on a Threadripper 3rd generation motherboard ASUS ROG Zenith II Extreme TRX40. Issue with 18.04 LTS was described by Phoronix, workaround did not work for me, I’m no expert in Kernel drivers and entrails.
Manjaro 18.1.5 also worked fine on the TRX40, but I’m so used to CentOS and Ubuntu Mate that I wanted to avoid yet another distribution to the set I’m using.
Regular workstation usage, development, Cassandra, web, mobile, Python, etc. Using ext4, not ZFS.
20.04 LTS Mate has been working AOK so far. Happy.
I have been using vanilla Ubuntu 18.04.4 with the mce work around on a ASRock TRX40 Creator board. I had forgotten what a joy Linux was with bleeding edge hardware /s.
The 18.04.4 hwe kernel (5.3.0) lets my nVidia card work, but doesn’t have any of the TRX40 fixes. Lots of gnome things seem to be really crash-prone on the Threadripper. The newer mainline kernel let’s me see and use my 10G NIC, but skunks CUDA. Now that 20.04 is officially released, I cannot wait to upgrade in the hope that everything will be more stable. My fear is that I’ll need to wait another 6 months for the next hwe kernel to find what I’m looking for.
LenE, just curious, why did you run 5.3.0 on 18.04.4 & not 5.4.7 which should resolve most if not all of your issues? The mce workaround has not been needed for 3-4 months now. I have no stability issues running 18.04.3 on 5.4.7 with TR or Epyc
I was hoping to use 5.4.7 on 18.04, but when I moved off of a hwe kernel, I couldn’t get all of the CUDA stack back to a stable, usable state. 20.04 has been differently unstable enough, that I’m already planning my retreat back to 18.04. Interestingly, the 5.4.0 kernel that is in Focal doesn’t need mce turned off to boot.
Are you running a nVidia card with 5.4.7 on 18.04.3?
I guess you were luckier with the ASRock TRX40 Creator. With the ASUS board, I was stopped not only by MCE but also by ACPI. I was able to install 18.04 using the MCE trick, but then it failed again when rebooting after a sudo apt && sudo apt upgrade -y.
Given that I’m using this system for work, I did not want to play troubleshooting for days and was happy to punt to 20.04 LTS pre-release as plan B.
On 18.04, I used ACPI=OFF, too. I haven’t used it yet on 20.04, as I haven’t had any ACPI error messages yet. I’m hopeful that the forthcoming 18.04.5 with the 20.04 5.4.0 kernel will bring stability and enough hardware support. Until then, my target is to follow Jesper in trying to get 5.4.7 working with the nVidia stack.