ZFSguru export pool....can't import to Nexenta

Silenus

Limp Gawd
Joined
Jan 6, 2011
Messages
177
Edit: (SOLVED) The problem below was because the disks were formatted with GPT partitions (which FreeBSD recognizes but Solaris doesn't) instead GEOM. After reformatting with disks with GEOM the pool was able to be exported from ZFSguru and reimported into Nexenta without issue.
--------------------------------------

So I've been lurking and reading here for a while. I've got a NAS system I'm building which has it's main storage pool a 7 drive RAIDz2 of the Samsung 2TB F4 (4k) drives. As per reccomendation by sub.mesa I am trying to use his ZFSguru live CD to create the pool with 4k sector override and later import it to NexentaStor Community Edition (3.0.4). I can't get it to work and I'm not sure what I'm doing wrong. I am NOT very savvy with the command line stuff but have no problem using it if I know what to do.

After creating the pool (named "Storage") with zfsguru I am logging into the shell and running the command:
Code:
zpool export Storage

I get no error, and after the export a zpool status returns no available pools, which should be correct. I then restart the machine and boot up to my already installed Nexenta, go to command line and:
Code:
zpool import Storage

I guess it's not that easy because it then says "unexpected option 'import' " and gives a choice to create, import, ect. I highlight IMPORT and then it asks for a VOLUME name to import. Typing "Storage" (the pool name) or anything else just returns an error saying there are no volumes that can be imported. Running a "show volume import" or "show volume import -D" command both say there are no volumes to import. :(
 
Last edited:
Hey Silenus,

Could you tell me how you formatted your disks in ZFSguru? Using GPT partitions or GEOM? Do you still have the zpool status output of how you left the pool? Did you reboot before exporting after using the sectorsize override feature?

Also, in Solaris, can you try "zpool import" ? That should give you a list of importable pools.

Are you using a Solaris release with the "ashift" ZFS patch?
 
I used GPT to format (because I didn't know the difference and GPT was the only thing I'm familiar with). I created the pool in the web GUI and it was online and looked ok. I did NOT reboot. I just went straight to command line and ran zpool export Storage (my pool name). After that I ran zpool status and it simply said there were no pools to give status on. I figured that meant it had exported since it shouldn't be visible anymore after export.

The current version of Nexenta is built on OpenSolaris b134. I don't actually know for sure what that means as far as the ashift patch, and I'm not sure how to find out.

Running zpool import in Nexenta command line doesn't give a list a pools...it actually says "unexpected option 'import' " and then it shows a list of things to do such a create, import, ect. If I then highlight import it asks for a volume name to import and typing the pool name there doesn't do it. There is a tip displayed on screen which says to find available volumes to import to type "show volume import" or "show volume import -D" to show destroyed volumes. Neither of those commands lists any volumes available for import.

PS- When I created the pool I used ZFS filesystem version 4 and ZFS pool version 15. I just now thought of that. Could that be the problem?
 
Update and more info:

1) I have tried destroying and recreating the pool with ZFS ver 3 and pool version 13. No change, same results with nexenta.

2) I have tried taking a spare hard drive and I loaded Solaris Express 11 + Napp-it GUI. I started up and tried to import the pool there....but still it can't find any exported or destryoed pools to import. It sees all the drives, but no pools to import.

3) I can reboot the system with ZFSguru disc and search for hidden pools using the GUI. It immediately finds the pool I had made and can re import it no problem!
 
Did you use GEOM formatting on the disks? Solaris doesn't support the freebsd-zfs GPT partitions, apparently, so you have to use GEOM formatting.

What you should do:
1) format your disks as GEOM
2) create a new pool with sectorsize override
3) now reboot into ZFSguru again! now execute the export command
4) now reboot into Solaris environment and try to import it again

Please tell me if that works for you.
 
I did format with GPT. I will try what you say tomorrow (the system is at work) and let you know happens.
 
UPDATE: It works!

sub.mesa I did what you said and reformatted the disks GEOM, created the zpool in ZFSguru with 4k override, rebooted, exported zpool, rebooted into Nexenta and was able to import it immediately. Awesome and thanks for the heads up on GEOM and Solaris...I'm glad it was something simple!

PS- I created the zpool with ZFS fs v4 and pool version 15. It was no problem importing and in fact Nexenta alerted me that it was an older zfs pool version. I ran a zpool upgrade and it upgraded it to v26. Just FYI.
 
Great to hear that it worked, thanks for testing!

Do keep in mind that once you upgrade your pool, you cannot downgrade anymore. That's why i recommend keeping the pool version low unless you need the higher features. But the idea is that you can upgrade anytime you want.
 
That's why i recommend keeping the pool version low unless you need the higher features.

Aren't there bugfixes in the higher zfs versions that address issues in features of lower zfs versions? Or is it your understanding that only new features are being added with every pool version increment?
 
You would still benefit from newer ZFS system version; so working with v26 on a v13 pool still would be ALOT better than v13 system on v13 pool, simply because the v26 has many fixes and also feature enhancements that did not change the on-disk format.

So the pool/filesystem versions actually only document incompatible changes; changes that require alterations to the on-disk format. That's why older versions cannot work with newer versions.

So you should use the latest stable ZFS system version, but keep the pool version as low as you need its features, basically. If you do need them one time, then upgrade to that version on the spot. Doesn't even require you to unmount or anything. And you don't have to upgrade to the latest version, you can upgrade to a specific version, like v13 to v19 if you're running v26 system.

So the system version and pool version are two different things. And newer system versions have fixes, added features and performance enhancements that are undocumented.
 
Ok so then my question is where can I go to see what the feature differences are between pool versions so I can decide what would work for me?

The system I built in not in production yet and will be tested for a bit so I can still redo everything. In fact I've decided to bump the system from a 7 drive to a 9 drive RAIDz2 because we need a bit more space for breathing room, so I would have to rebuild the pool anyway.
 
I don't think a GEOM-formatted disk even has a partition table in the traditional sense. I think it might just have a label, and I'm not even sure if that's stored permanently on disk. Why it's called GEOM-format is something I can't answer. GEOM is actually a software layer in FreeBSD that sits between the storage device driver and higher layers of the OS, and basically allows you to plug in any kind of filesystem or partitioning scheme you want, assuming there's a GEOM module written for it.
 
Back
Top