Migrating data off an old Nexentastor appliance

I have “inherited” an old storage infrastructure and need to migrate the data off of its ZFS pool. I have remote access to it, and here is what I have been able to determine. It is running an old version of Nexentastor software version 4.0.4-FP5, which appears to be based on a version of illumos. Running uname -a returns back “SunOS 5.11 NexentaOS_4 i86pc i386 i86pc”. zfs/zpool upgrade shows it as running “ZFS filesystem version 5”. zpool list shows the main volume as 58T in size with 42.8T allocated. This environment consisted of three identical 16 bay units, a primary, a local replication target, and one for offsite replication. These units have no free drive bays to add additional drives. At some point a few months ago replication stopped so the primary is the only one with the current version of the data. It took some tinkering to get connected as the system is so old it only supported depreciated ssh encryption settings, but I was able to get in.

My primary concern first is to replicate the data off of this unit as quickly as possible so the data is no longer in this existing environment. It can then safely be gone through as some of it will need to be saved. Is it possible to do a zfs send/receive from such an old version of zfs to another machine running a current version of ZFS? Since this is an appliance it does not appear that I can install any additional tools locally. It also has no vendor support so no OS upgrades or help are available from that end.

Thoughts or suggestions on how to proceed?

Should be possible to replicate. Since that system is such a pain in the ass, start out small to verify:

root@oldbox:~# zfs create pool/testds ; touch /pool/testds/test.txt ; zfs snap pool/testds@1 ; zfs send pool/testds@1 > /tmp/snap.bin

Do whatever you gotta do to get that snap.bin to the newer system, then:

root@new:~# zfs receive newpool/testds < /tmp/snap.bin

If that works, then you know you can replicate, and you can start thinking about how to do so usefully. :cowboy_hat_face:

1 Like

Is this just a test to see if the other server can accept the send stream format the old pool creates?
Assuming this works then I will need to work on getting a more normal send/receive across the network for the main migration?

Yes and yes. No point in fighting the difficult bits until we’re pretty certain the send stream can be received at the target.