Since the file system is on both logical volumes, you need to use a LIVE CD.
For Ubuntu 20.04 desktop or server, you need to create a mountable USB OS with RUFUS and the DESKTOP VERSION OF UBUNTU (as it has the option to TRY UBUNTU; ubuntu-20.04.2.0-desktop-amd64.iso).
Then I found an answer posted somewhere (sorry, I can't find the link) about what to do next:
BEFORE YOU CHANGE ANYTHING MAKE SURE YOU HAVE A CURRENT BACKUP. This all worked for me, but it might not work for you. If it blows up for some reason, you don’t want to lose anything that you can’t recover. Continuing on…
It is not possible (to my knowledge) to shrink a filesystem while it is mounted, so we need to do the actual resizing from a Live CD. All the following instructions assume you have booted off of the 20.04 Desktop Install CD.
After the Live CD boots up to the desktop, open up the Terminal.
The LVM tool are not built-in to the Live CD, so first we must install them:
sudo apt-get install lvm2
Find the name of the Volume Group (henceforth “ubuntu--vg”) that contains the root Logical Volume:
sudo lvs
(If it’s not showing up, try running sudo lvmdiskscan
and sudo pvscan
then try again.)
If you run ls /dev/mapper/
you may see that the Logical Volumes is not showing up. If it’s not there, you need to run the following command to make the kernel aware of the logical volumes:
sudo vgchange --available y ubuntu--vg
Since we haven’t mounted the root filesystem, it should be safe to resize. Proceed to perform the actual resizing of the Logical Volume. Note that this command (--size -50G) shrinks the volume by 50GB — read the lvreduce(8) man page to learn how to specify a different size.
sudo lvreduce --resizefs --size -50G /dev/ubuntu--vg/storage--lv
This command will first shrink the filesystem, then shrink the Logical Volume that contains it, which is the only safe way to do it.
Now if you want to extend with un-allocated (free space) you use:
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu--lv
to extend the logical volume and
resize2fs /dev/ubuntu-vg/ubuntu--lv
to extend the file system.
You can now restart the system and boot into your now-resized root filesystem.