Hi all. I’m currently running a home server using Ubuntu OS, but I’d like to try and explore other options for operating systems to better my skills with linux/unix.
Currently I’m considering switching to Fedora server (though feedback is welcome) because I’ve been running it as my daily OS for a few months now and I quite like it. I’m also looking at Debian server because that’s what my old professor used and he did nothing but speak its praises.
Only issue is I’m concerned about data loss from moving the installation. Currently, the server is setup to run several Docker images running my programs. While moving over the images shouldn’t be difficult whatsoever, I’m afraid my storage setup might not be so easy. Currently, it’s two 4TB hard drives running in a logical volume. I’d love to simply be able to move over all the files to a backup drive, but I don’t have anywhere I can store >5TB of files as a backup.
I googled around, but I couldn’t find too many guides on migrating logical volumes. The one or two I did find were most definitely written for someone with far more linux knowledge than I have as a relative noob, so any advice would be extremely welcome!
I’m currently running a home server using Ubuntu OS, but I’d like to try and explore other options for operating systems to better my skills with linux/unix.
What are you hoping to explore? Distrohopping servers is pretty much pointless, especially if you’re using docker.
Like you’re going to use dnf to install docker instead of apt, maybe configure selinux instead of apparmor, and that’s it. Definitely not worth it IMO.
This is the answer OP, your flavor of Linux matters when it’s your daily driver work/play machine. But for a server OS? You’re not missing anything using Ubuntu, and your experience won’t change much with another distro.
Another point to keep in mind - many distros now ship Podman instead of Docker, with Fedora being at the forefront of that change. If you‘re currently running Docker, you might want to check if your setup is drop-in compatible with Podman as some images will not work (usually related to permission or user switching, privileged ports).
Yeah, I was gonna try and check on that as well pretty soon! Thanks for the alert!
I think basically all Linux distros will support lvm? It seems like some installers do not, but as long as you leave the disks alone during installation it should be fine. As for distro, Debian is a great choice for a server. I’ve had no issues over the years since I ditched Ubuntu since they keep moving towards commercialization. If you want to learn more compared to Ubuntu you might not learn much though. Fedora could offer more learning, though honestly it’s kind of all the same.
Yeah, they definitely support it, I’m just worried about things being overwritten by the install
Can you detail the storage and is drives and mounts as well as the lvm structure? Knowing that will help people give useful advice.
Currently it’s 2 4TB harddrives setup to look like a single 8TB logical volume. Might have to do some poking around if you want more, just setting that up required a ton of googling on my end!
Okay, more details will be required, but here’s what I’m thinking will work.
One of the benefits of an LVM is its pretty easy to resize it.
The outline of what you can do is this (and we can refine the steps with more details)
Right now you’ve got your 8TB physical volume, and within that, you should have your volume group, and within that volume group, you should have one or more logical volums that are mounted for your system. The idea is to resize the existing logical volume by shrinking it, creating addition space within the volume group that can be used to create a new logical volume. Then, that new logical volume can be used to install Fedora.
Depending on how much free space you have on the entire physical volume, you could potentially dual boot Fedora and Ubuntu. Roughly speaking, the steps would look like this:
WARNING: These steps are not exhaustive because I don’t know the full details of your system. This is not meant to be a guide for you to immediately implement and follow, but to help get you down the right path DO NOT FOLLOW THESE STEPS WITHOUT FIRST FULLY UNDERSTANDING HOW THIS WILL APPLY TO YOUR UNIQUE SYSTEM SETUP.
- Download a Linux ISO of your choice. Ubuntu, Fedora, it doesn’t really matter. This one is going to be used to live boot on your server so you can make adjustments to your lvm without having the lvm mounted.
- Boot into the live usb
- Once you get to the desktop environment of the live usb dismiss any installation prompts, etc and open a terminal
- Install the logical volume tools with
sudo whatever-the-package-manager-install-command-is lvm2
- If your volume group is encrypted (typically with LUKS), you’ll need to decrypt it to make sizing changes to the lvm(s) in the volume group. You can decrypt it with:
cryptsetup open /dev/your-disk-here name-of-your-volume-group
- For example, on my system if I were doing this it would be
cryptsetup open /dev/nvme0n1p2 server
(I very creatively named my server volume groupserver
)
- Once you can access your volume group, you can use the
df
command to see how much space is free in your volume group. The full command you’ll want to run is:sudo df -h
- This command will list all mounted disks along with filesystem usage data. With this you should be able to determine how much free space you have in your volume group.
- Once you’ve determined how much free space you have, you can decide how big you want to make your new logical volume. For example, if your current usage is 6TB out of the 8TB total, you could resize the current logical volume down to 7TB, and then create a new logical volume that’s 1TB in size for the Fedora install
- You will do the resize using the
lvm2
tools installed. The command to shrink the logical volume looks like this:sudo lvreduce --resizefs --size -1TB /dev/your-volume-group/the-lvm-name
- Once you’ve shrunk the lvm, You can create your new lvm
IMPORTANT NOTES:
- If at all possible, you should really back up the data. If you don’t have any kind of backups in place, you’re risking losing all of your data, not just in doing this operation, but in general.
- If you want to dual boot, things are more complicated because of where your
/boot
exists
Thanks a ton for the very detailed reply!
First off, do you know a good command I could run to give you a better idea of my system’s LV setup?
Secondly, I was hoping to fully migrate the data on my ubuntu server to a fedora or debian server rather than leaving it on the ubuntu server
Happy to help!
lsblk
will give exactly the info needed. Copy the output oflsblk
and paste it into a reply and that will be perfect. Or a screenshot. Whatever’s easier for youSorry this took a while, I got distracted. Trying to also learn Dart cause why not.
Here’s the output of
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 3.6T 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 3.6T 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 7.3T 0 lvm / sdb 8:16 0 3.6T 0 disk └─ubuntu--vg-ubuntu--lv 252:0 0 7.3T 0 lvm /
Fedora is great if you want a faster rolling release and you’re already familiar with it.
Debian is great if you want a slower release schedule but stable LTS.
Two different use-cases, but both great options.