Upgrade from Proxmox 7 to Proxmox 8. ZFS import not working.

the1corrupted

New Member
Sep 30, 2023
17
2
3
Hi all,

My upgrade from Proxmox 7 to 8 has been a little fraught with issues. It all started when I wanted to install a new NIC in the Proxmox host server. I installed an upgraded network card on my Proxmox 7 server only to have it completely shut off all other network ports. HOORAY! Try as I might, I couldn't get a console working, an IP to go, or anything. So I looked into the upgrade to Proxmox 8 at that time since I was going to have to do a reconfiguration anyway.

The problems above were resolved by using the same hypervisor name during a fresh local install for Proxmox 8.0 and importing the old configuration files. I can see all my VMs with notes and their storage disks normally. Essentially, I had to do it twice in order for the VM import to work. VMs not using ZFS storage are booting normally.

  1. During installation/configuration, set the FQDN to the exact same FQDN as the previous instance of Proxmox. In my case it was hls-hypervisor.
  2. Configure the same IP layout as you had before
  3. As I did not use "local" or "lvm" storage for any of my VMs, this allowed for full recovery without any complications.
    1. I did not use an external drive for VM backup like a moron. Don't do this.
  4. Import from your ETC BACKUP the following:
    1. /etc/pve/nodes/hls-hypervisor/qemu-server/*.*
    2. /etc/pve/storage.cfg
    3. /etc/pve/user.cfg
  5. These configuration files will map the appropriate storage, and VMs with the hypervisor/host.
  6. Import your ZFS configuration and then you'll be done!

I am having a problem importing my ZFS array from the old configuration. I SSH into the hypervisor and I get this for zfs import -f. I did a full system reboot after running this command, but I thought import -f would just import all the disks?

Code:
root@hls-hypervisor:~# zpool import -f
   pool: hls-big-rust-0
     id: 5232864493660271858
  state: ONLINE
status: The pool was last accessed by another system.
 action: The pool can be imported using its name or numeric identifier and
        the '-f' flag.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY
 config:

        hls-big-rust-0                         ONLINE
          raidz1-0                             ONLINE
            ata-ST12000NM001G-2MV103_ZS802WMN  ONLINE
            ata-ST12000NM001G-2MV103_ZS802WGM  ONLINE
            ata-ST12000NM001G-2MV103_ZL28R5BG  ONLINE

   pool: hls-small-rust-0
     id: 15411729228109466542
  state: ONLINE
status: The pool was last accessed by another system.
 action: The pool can be imported using its name or numeric identifier and
        the '-f' flag.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-EY
 config:

        hls-small-rust-0                             ONLINE
          raidz1-0                                   ONLINE
            ata-HGST_HUS724040ALE640_PK1334PBHGST8X  ONLINE
            ata-HGST_HUS724040ALE640_PK1334PAKS31JS  ONLINE
            ata-HITACHI_HUS724040ALE640_P4HEVU3C     ONLINE


View attachment 56239
 
Well, the output says "The pool can be imported using its name or numeric identifier and the '-f' flag". What hinders you to do that?

My guess is that zpool import -f hls-small-rust-0 would do the job :)

Best regards
 
  • Like
Reactions: the1corrupted
Well, the output says "The pool can be imported using its name or numeric identifier and the '-f' flag". What hinders you to do that?

My guess is that zpool import -f hls-small-rust-0 would do the job :)

Best regards
Ah, apparently that did the thing. I recovered my ZFS pools. Hooray!
 
  • Like
Reactions: UdoB