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!

  • kboy101222@sh.itjust.worksOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    15 hours ago

    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!

    • harsh3466@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      14 hours ago

      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.

      1. 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.
      2. Boot into the live usb
      3. Once you get to the desktop environment of the live usb dismiss any installation prompts, etc and open a terminal
      4. Install the logical volume tools with sudo whatever-the-package-manager-install-command-is lvm2
      5. 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:
        1. cryptsetup open /dev/your-disk-here name-of-your-volume-group
        2. 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 group server)
      6. 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:
        1. sudo df -h
        2. 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.
      7. 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
      8. You will do the resize using the lvm2 tools installed. The command to shrink the logical volume looks like this:
        1. sudo lvreduce --resizefs --size -1TB /dev/your-volume-group/the-lvm-name
      9. Once you’ve shrunk the lvm, You can create your new lvm

      IMPORTANT NOTES:

      1. 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.
      2. If you want to dual boot, things are more complicated because of where your /boot exists
      • kboy101222@sh.itjust.worksOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        14 hours ago

        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

        • harsh3466@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          14 hours ago

          Happy to help!

          lsblk will give exactly the info needed. Copy the output of lsblk and paste it into a reply and that will be perfect. Or a screenshot. Whatever’s easier for you

          • kboy101222@sh.itjust.worksOP
            link
            fedilink
            English
            arrow-up
            2
            ·
            13 hours ago

            Sorry 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  /
            
            
            • harsh3466@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              3 hours ago

              Perfect. So you’ve got separate /boot and /boot/efi partitions, which means dual booting will be much easier if you want to do that.

              The ubuntu--vg-ubuntu-lv is the logical volume you’ll want to resize. So now we need to see how much space is available on the volume. To get that, run the command sudo df -h and paste that output into a comment.

              From there we can figure out how much space you have and how you might want to resize the volume to prep for a new install.

              What is challenging about this is that your data is under your root (/) mount, which is also the ubuntu os. If in the end you want to entirely remove ubuntu, it’ll be a little trickier than if your data was in a separate logical volume that you mounted into your root system during boot.

              For example many people have a separate logical volume for /home, which makes it easier to switch distros while preserving your home folder with all of your user data, config files, etc…

              But that’s getting a little ahead of ourselves. Start with sudo df -h for the filesystem usage info and we can go from there.