[SOLVED] Upgrading or migrating ancient PVE to latest release

lpallard

Renowned Member
Mar 22, 2014
95
4
73
I have an ancient Proxmox server running 3.2-4 with the following packages versions:

Code:
proxmox-ve-2.6.32: 3.2-126 (running kernel: 2.6.32-29-pve)
pve-manager: 3.2-4 (running version: 3.2-4/e24a91c1)
pve-kernel-2.6.32-29-pve: 2.6.32-126
lvm2: 2.02.98-pve4
clvm: 2.02.98-pve4
corosync-pve: 1.4.5-1
openais-pve: 1.1.4-3
libqb0: 0.11.1-2
redhat-cluster-pve: 3.2.0-2
resource-agents-pve: 3.9.2-4
fence-agents-pve: 4.0.5-1
pve-cluster: 3.0-12
qemu-server: 3.1-16
pve-firmware: 1.1-3
libpve-common-perl: 3.0-18
libpve-access-control: 3.0-11
libpve-storage-perl: 3.0-19
pve-libspice-server1: 0.12.4-3
vncterm: 1.1-6
vzctl: 4.0-1pve5
vzprocps: 2.0.11-2
vzquota: 3.1-2
pve-qemu-kvm: 1.7-8
ksm-control-daemon: 1.1-1
glusterfs-client: 3.4.2-1

This server is behind a strong FW and currently has no internet connectivity. However, I'm making some networking changes and need to upgrade this server to latest PVE release for both performance & security reasons. After all, it has not been updated in over 5 years!

It is running with a IBM M5016 serveraid controller and LVM
Code:
  --- Logical volume ---
  LV Path                /dev/highperf/highperf_lv1
  LV Name                highperf_lv1
  VG Name                highperf
  LV UUID                tOVG9s-klGm-OxiJ-AUHL-ZS5h-CT34-dydkac
  LV Write Access        read/write
  LV Creation host, time proxmox, 2015-07-01 21:19:27 -0400
  LV Status              available
  # open                 1
  LV Size                120.00 GiB
  Current LE             30720
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
 
  --- Logical volume ---
  LV Path                /dev/highperf/highperf_lv2
  LV Name                highperf_lv2
  VG Name                highperf
  LV UUID                eghXF5-2V98-Onn6-6Y48-iLSL-ZleB-lYRoQi
  LV Write Access        read/write
  LV Creation host, time proxmox, 2015-07-01 21:19:49 -0400
  LV Status              available
  # open                 0
  LV Size                80.00 GiB
  Current LE             20480
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
 
  --- Logical volume ---
  LV Path                /dev/highperf/highperf_lv3
  LV Name                highperf_lv3
  VG Name                highperf
  LV UUID                tky7Cj-grDh-tKjf-a8GR-Jul2-0xnK-fju8DM
  LV Write Access        read/write
  LV Creation host, time proxmox, 2015-07-01 21:20:24 -0400
  LV Status              available
  # open                 1
  LV Size                40.00 GiB
  Current LE             10240
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3
 
  --- Logical volume ---
  LV Path                /dev/pve/swap
  LV Name                swap
  VG Name                pve
  LV UUID                ECqF86-awQq-yEKT-omPN-dtzA-7Lu9-SVrpH0
  LV Write Access        read/write
  LV Creation host, time proxmox, 2014-07-27 16:29:33 -0400
  LV Status              available
  # open                 1
  LV Size                8.00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
 
  --- Logical volume ---
  LV Path                /dev/pve/root
  LV Name                root
  VG Name                pve
  LV UUID                J9YeuQ-PY0M-ut7o-9WwL-ah7k-Qofc-a5bGlR
  LV Write Access        read/write
  LV Creation host, time proxmox, 2014-07-27 16:29:33 -0400
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
 
  --- Logical volume ---
  LV Path                /dev/pve/data
  LV Name                data
  VG Name                pve
  LV UUID                FfC8fu-3Ylv-PcNH-piOv-aYom-AYUe-5il6Y7
  LV Write Access        read/write
  LV Creation host, time proxmox, 2014-07-27 16:29:33 -0400
  LV Status              available
  # open                 1
  LV Size                243.96 GiB
  Current LE             62455
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5
  1. How can I upgrade this server to latest PVE release without losing any of the underlying hardware config (LVM, partitions, fstab, etc)?
  2. Will I lose the VM images ?
  3. Should I simply backup the VM's to a different server, wipe everything on the PVE server then reinstall fresh with USB or DVD?
 
Last edited:
hi,

How can I upgrade this server to latest PVE release without losing any of the underlying hardware config (LVM, partitions, fstab, etc)?
you can follow the wiki instructions [0] [1] [2] [3]

Will I lose the VM images ?
not if you make backups ;)

  1. Should I simply backup the VM's to a different server, wipe everything on the PVE server then reinstall it using install medium (USB or DVD)?
yes, might be a simpler approach to do that and import/restore the VMs afterwards

[0]: https://pve.proxmox.com/wiki/Upgrade_from_3.x_to_4.0
[1]: https://pve.proxmox.com/wiki/Upgrade_from_4.x_to_5.0
[2]: https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0
[3]: https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0
 
  • Like
Reactions: lpallard
Upgrade to 7.0 went smooth, but re-adding existing LV's to the VM's would have been difficult to do without looking in the qemu-server/VMID.conf files to remember how I got this up & running back in 2014.... :)

I couldnt find a way to detect the LV's from the WebUI and add them to VM's. The WebUI listed the top level VG but not the underlying LV's.
 
Upgrade to 7.0 went smooth,
that's great

I couldnt find a way to detect the LV's from the WebUI and add them to VM's. The WebUI listed the top level VG but not the underlying LV's.
can you see the LVs from lvs -a? you should check your /etc/pve/storage.cfg file (that's where the storages on the GUI are defined)
 
Hello Oguz, yes I see them: they are highperf_lv1 to lv3
Code:
root@proxmox:~# lvs -a
  LV              VG       Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  highperf_lv1    highperf -wi-ao----  120.00g                                                  
  highperf_lv2    highperf -wi-a-----   80.00g                                                  
  highperf_lv3    highperf -wi-a-----   40.00g                                                  
  data            pve      twi-aotz-- <181.02g             66.07  4.13                          
  [data_tdata]    pve      Twi-ao---- <181.02g                                                  
  [data_tmeta]    pve      ewi-ao----   <1.85g                                                  
  [lvol0_pmspare] pve      ewi-------   <1.85g                                                  
  root            pve      -wi-ao----   69.25g                                                  
  swap            pve      -wi-ao----    8.00g                                                  
  vm-101-disk-0   pve      Vwi-aotz--   10.00g data        87.71                                
  vm-103-disk-0   pve      Vwi-aotz--   30.00g data        97.66                                
  vm-105-disk-0   pve      Vwi-aotz--   40.00g data        16.55                                
  vm-105-disk-1   pve      Vwi-aotz--   40.00g data        94.48                                
  vm-106-disk-0   pve      Vwi-aotz--   10.00g data        97.18                                
  vm-107-disk-0   pve      Vwi-aotz--   10.00g data        59.81                                
  vm-109-disk-0   pve      Vwi-aotz--   10.00g data        90.13                                
  vm-110-disk-0   pve      Vwi-aotz--   10.00g data        76.06                                
  vm-111-disk-0   pve      Vwi-aotz--    5.00g data        96.15

What I find weird is that after installing PVE 7.0 the storage.cfg had NO reference to the LV's but only contained a single entry for the VG. Here's the original storage.cfg (right after installing PVE7):

Code:
dir: local
        path /var/lib/vz
        content vztmpl,backup,iso

lvmthin: local-lvm
        thinpool data
        vgname pve
        content images,rootdir

nfs: pve-backup
        export /mnt/zpool/pve-backups
        path /mnt/pve/pve-backup
        server freenas
        content backup
        prune-backups keep-all=1

lvm: highperf
        vgname highperf
        content images
        shared 0

Here's the storage.cfg now (after I modified it to manually add the LV's):
Code:
dir: local
    path /var/lib/vz
    content vztmpl,backup,iso

lvmthin: local-lvm
    thinpool data
    vgname pve
    content images,rootdir

nfs: pve-backup
    export /mnt/zpool/pve-backups
    path /mnt/pve/pve-backup
    server freenas
    content backup
    prune-backups keep-all=1

lvm: highperf_lv1
    vgname highperf
    content images
    nodes proxmox

lvm: highperf_lv3
    vgname highperf
    content images

lvm: highperf_lv2
    vgname highperf
    content images

You see the PVE installer seems not to have detected the LV's properly and had assigned the VG name to the LV (highperf).

Now the LV's are shown in the WebUI and lv1 is attached (in VMID.conf) to a specific VM and works just fine. The other LV's are not used...
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!