questions about migrating from solaris

anaxagorasbc

Dabbler
Joined
Dec 3, 2021
Messages
15
I'm migrating from Solaris to TrueNas. I know that OpenZFS can not read zfs v34 that i have on Solaris. If i create a new pool with a single 6x18tb raidz2 vdev at v28 in Solaris, move all my data over to it, i should be able to import that v28 pool in truenas? Then I assume I should be able to upgrade that pool's zfs version to the latest openzfs version?

Then, I could create another 6 disk raidz2 vdev, add it to the new pool, create a new dataset in the pool and move all the data to the new dataset so it will rebalance between the 2 vdevs in the pool?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Yeah, your v28 route is expected to work. It's not a very well-traveled road and there may be weird bugs on both sides when dealing with v28 pools, but it should work well enough to move your data over. Upgrading to feature flags and enabling the ones you want should then be painless.

Then, I could create another 6 disk raidz2 vdev, add it to the new pool, create a new dataset in the pool and move all the data to the new dataset so it will rebalance between the 2 vdevs in the pool?
Yes, but as long as you're not filling the first vdev with stuff that will never change, just continue using the pool normally and let ZFS balance things out naturally.
 

anaxagorasbc

Dabbler
Joined
Dec 3, 2021
Messages
15
Yeah, your v28 route is expected to work. It's not a very well-traveled road and there may be weird bugs on both sides when dealing with v28 pools, but it should work well enough to move your data over. Upgrading to feature flags and enabling the ones you want should then be painless.
Well i decided to test it after 24 hours of copying data, probably should have done a test sooner....

TrueNas could not read the v28 pool from solaris, and after trying to import it solaris said the pool was now corrupted. I found an old post on google of different people having both issues, when creating the v28 pool you also need to set "-O version=5", the default filesystem version is 6 which openZFS can't read. Doing a quick test TrueNas was able to import this v28/v5 pool. But again once i imported it (i didn't even write any data) solaris could no longer read the pool.

EDIT: Just to add for others reading in the future, if you create a child dataset in solaris it defaults to "-O version=6" even if the pool is set to v=5. i just figured this out after creating another unreadable copy of data for truenas
 
Last edited:
Top