Experiences in migrating Proxmox 6.0 to new hardware

I recently decided to fully upgrade the hardware on my Proxmox machine. But can I get away without having to reinstall Proxmox and all my VMs?

Experiences in migrating Proxmox 6.0 to new hardware
Photo by Fidel Fernando / Unsplash

My journey with homelabs is much like everyone else I know - start small, use old hardware and limp along. When I installed Proxmox on my old Intel i7 2600k, I didn't really expect the need to want to upgrade later in the future. Lots of cores, enough memory and a couple of cheap spinning disks.

Fast forward 18 months and I'm getting increasingly annoyed that my server is rebooting randomly for no apparent reason and feeling sluggish - especially during Plex transcodes, which were made even worse with visual artifacts that are apparently common in Sandy Bridge chips where QuickSync first debuted.

With patience worn completely thin, I've decided to upgrade to an Intel i5 13500 - one of the newer Raptor Lake based chips that is 11 generations on from my old hardware. That, coupled with DDR4, instead of DDR3 memory and an NVMe drive would provide a healthy boost.

However - I was concerned about whether I could swap out the hardware with Proxmox without impacting my current VM setup. This post highlights some of my experiences transplating the heart of a computer in a Proxmox setup.

Clonezilla

Rather than opting to install Proxmox on this hardware fresh and migrating VMs and LXCs over (I had no spare PSU and wouldn't have relied on my old hardware not rebooting in the middle of a migration) I decided to migrate my Proxmox install off a 10 year old SSD over to my NVMe drive by cloning the contents using Clonezilla.

This worked without any issue whatsoever. The process took an hour or so, but completed successfully - I was happy.

Until I rebooted. And got an error.

Turns out Proxmox will not boot if there are multiple drives with the same volume name. That figures. I disconnected the old drive and we were off to the races!

Or were we?

Network

Where was my NIC?

I was now unable to access the server remotely despite the network cable being plugged in and lights flashing on the port.

Turns out my old motherboard had an Intel NIC. My new one (an Asus Prime D4-Plus) did not. I am now the proud(?) owner of a Realtek chipset.

One driver download later, followed by a copy on to a USB stick and then mounted in Proxmox (this, by the way, isn't terribly obvious - I had to modify /etc/fstab for the drive to mount - probably fairly easy for more seasoned Linux pros!) I had the NIC loaded in Linux.

Finally, updating /etc/network/interfaces for the Virtual Switch settings to point at the new name for my NIC then meant Proxmox was finally back on the network.

ZFS

Proxmox found my old ZFS volume absolutely fine - and I thought everything was absolutely fine, until I realised that my volume was in a degraded state.

Why? The drive mounts had changed and ZFS had detected the change in disks - I'd basically inserted them on my new motherboard in the opposite order. Rather than opening the server back up and swapping the cables round, I resilvered and everything was fine.

Until - what the hell - why is my IO delay suddenly spiking to 30%?

In all honesty, I still don't know - I think this had been happening for a while, possibly as a result of a Proxmox upgrade I'd previously the week before in preparation for the upgrade. A quick 5 minute Google suggested I turn off ZFS sync'ing on the volume, at the expense of a possible 5 second loss of data if my server lost power unexpectedly - this is fine as most of my critical data is stored on mounted NFS drives hosted by TrueNAS.

IO delay now averaging around 3% and we have a happy volume, finally.

Upgrading to Proxmox 7.4

Given that I effectively had a backup of my whole drive on my old SSD after the clone, I figured an upgrade to Proxmox 7 would be worth the jump.

Got to hand it to the folks at Proxmox - this almost worked without a hitch. In the middle of the upgrade the grub upgrade process was hanging.

Again, another 5 minute Google suggested this was a hanging memtest process and that it should be fairly safe to kill. Logged in to the server over SSH, killed the rogue process and the upgrade carried on seamlessly.

Performance

Oh my - why did I leave it so long to upgrade? 11 generations of Intel chips is a huge leap forward. The server is snappier, hasn't randomly rebooted and Plex is lightning fast now. Transcoding via QuickSync is in fact Quick and now without visual artifacts. Some videos that previously refused to play are now working and I'm able to watch transcoded videos on my commute in to work over cellular data.

So, can Proxmox handle an upgrade of hardware? Yeah, sure - just make sure you have an Intel NIC and don't swap your SATA cables around!