ZPool vanished after changing connection from USB to SATA

Hey everyone,

in my homelab I have a machine running trunas scale electric eel, where I have one pool which is entirely located on an external hard drive connected via USB. No redundancy for this one, just a single drive. Now I made a hardware upgrade and finally have an internal port available so I can connect the drive directly via SATA rather than USB.
When I do this, I can see the drive using lsblk and also the UI shows it as an unsed disk. However the pool is nowhere to be found, so I cannot import it. I could of course just create a new pool with this drive and restore the data from some backups, but this would take some time, since the drive is quite large.

Anyone has an idea why the pool is not visible? If I reconnect the drive again using USB, the pool is there and can be imported without any problem.

Thanks in advance for your ideas.

What’s the output of zfs import when the drive is connected through SATA?

If you mean zpool import then the output is no pools available to import when connected via SATA.

It sounds like your USB controller is doing the typical dodgy things USB controllers can do by not providing direct access to your drive. The result is unreadable data if the USB controller isn’t used.

You will likely find that there is no way to deal with this other than ensuring you have a backup and then remaking the pool when the drive are connected with SATA instead.

5 Likes

Alright, thank you very much everyone for your input. Like I said in the first post, recreating the pool is not an issue, as there are backups for everything. So I will follow this route and bite the bullet of having to wait some time until all the data is back again.