Zpool status devices names after upgrading from Core to Scale

I recently did a fresh install of TrueNAS CORE 13.6 → SCALE 24.10. I did a clean install and imported the pool, but I noticed all of the devices names are now sd instead of the gptid.

13.0U6

pool: tank2
state: ONLINE
scan: scrub repaired 0B in 11:41:02 with 0 errors on Sun Oct 20 11:41:02 2024
config:

    NAME                                            STATE     READ WRITE CKSUM
    tank2                                           ONLINE       0     0     0
    raidz2-0                                        ONLINE       0     0     0
        gptid/787xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0
        gptid/787xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0
        gptid/787xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0
        gptid/787xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0
        gptid/786xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0
        gptid/787xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0
        gptid/787xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0
        gptid/787xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ONLINE       0     0     0

After importing the pool to 24.10

pool: tank2
state: ONLINE
status: Some supported and requested features are not enabled on the pool.
The pool can still be used, but some features are unavailable.
action: Enable all features using ‘zpool upgrade’. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: scrub repaired 0B in 11:41:02 with 0 errors on Sun Oct 20 11:41:02 2024
config:

    NAME        STATE     READ WRITE CKSUM
    tank2       ONLINE       0     0     0
    raidz2-0    ONLINE       0     0     0
        sdb2    ONLINE       0     0     0
        sda2    ONLINE       0     0     0
        sdc2    ONLINE       0     0     0
        sdd2    ONLINE       0     0     0
        sde2    ONLINE       0     0     0
        sdf2    ONLINE       0     0     0
        sdg2    ONLINE       0     0     0
        sdh2    ONLINE       0     0     0

Is this intended behavior? I didn’t have any issues accessing the pool, so it seems fine, but a bit off. I was also able to export the pool, and re-import it back into core. After reimporting it back into Core, the gptid was showing

Sorry if the first post was a bit confusing. the NAS was originally running TrueNAS Core (pool was created on core), and I did a fresh install of Scale 24.10 as an upgrade (cannot directly upgrade to 24.10 from core)

As a quick follow up, I can see the gptids in TrueNAS Scale in /dev/disk/by-partuuid/.

I’m still not sure why TrueNAS Scale is using /dev/sd instead of the UUID, but I know that drives moving around, etc can cause problems with the /dev/sd approach.

Sometime during TrueNAS Scale, pools do not include the swap partition anymore, so it might be seeing there’s 2 partitions per drive instead of one, and choosing the sd name? I’m not sure.

So far, other topics I’ve seen say it’s not a problem, while others recommend backing up and recreating the pool… A bit inconsistent

Maybe take that with a grain of salt.

At most I would export and reimport, but there are some gotchas and it’s a bit finicky to get it to grab the UUIDs instead.

Yeah, I agree, but was just pointing out some inconsistencies I was seeing about how to resolve this.

I was able to get this fixed in a weird way. I had taken a config backup from my TrueNAS Core System before the pool was exported. So when I’d restore the config on a fresh TrueNAS Scale VM, it’d auto import the pool during boot with the sd labels.

So, I booted the pool back up with Core, exported/disconnected the pool and created a new backup. I setup a new TrueNAS Scale VM, restored my configuration file and rebooted.

Once it was booted, I imported the pool, and I’m now seeing the correct UUIDs in “zpool status”. I’ve rebooted and shutdown a few times, and it’s staying as the UUID and haven’t had the sd device names show up.

I think there might have been something stored in the config file that was causing it to fail to find the disk by UUID and fall back to the sd labels.