ZFS to UNRAID migration


Recommended Posts

So I am planning on moving from FreeNAS to UNRAID, primarily to take advantage of the flexibility of increasing the size of the array.

My current setup is 5 x 2TB drives in RAIDZ and a single SSD as system/docker drive

 

My plan is to buy two 10TB drives but I am not sure about the best way to approach the data migration as I only have 6 available SATA ports in my HP microserver.

 

From what I have read I could remove the SSD and attach a single new 10TB drive then either:

 

1) Copy the array data to the new 10TB migration drive in freenas, reboot and initialise UNRAID with 1 10TB and 4 2TB disks and then copy data into the new array then replace a 2TB disk with that 10TB migration disk

or

2) Init UNRAID on a single 10TB drive, use the zfs plugin to mount the pool disks, copy data to the single drive then add the rest of the other disks to unraid?

 

I am leaning towards number one, but does anyone know if there is a better solution or if there would be any issues with the above? Also I am probably going to be buying WD MyBooks so could possibly use the fact they have USB connection but I don't think the microserver has USB3 so not sure if the transfer rate would be so slow it would be useless?

 

Any advice is appreciated!

Link to comment
3 hours ago, threesquared said:

I don't think the microserver has USB3 so not sure if the transfer rate would be so slow it would be useless?

If I remember correctly from my experiences with USB drives (I use compact UBS hard drives for my off-site storage of my irreplaceable data.), Transfer speeds for USB2 is around 30-40MB/s   and for USB3 it is closer to 100MB/s.  (Of course, the USB3 speeds are also limited by the network speed.) 

 

Can your FreeNAS box format a drive using XFS?   If it can, you could mount a 10TB drive in that box (removing the cache drive) to copy the files to that drive, then put that drive straight into your Unraid server and assign it as disk1.  The other 10TB drive would be assigned as parity.  This would require that you start the array using the 'New Config' tool and building parity would be a part of the procedure. 

 

EDIT:  You would have to boot the server up in Unraid.  Assign it as disk1 and format it in XFS.  You would then format (if that is possible on the FreeNAS box) and copy the files to that disk.  You could then boot to Unraid and assign it disk1.

Edited by Frank1940
Link to comment
14 minutes ago, Frank1940 said:

Can your FreeNAS box format a drive using XFS?   If it can, you could mount a 10TB drive in that box (removing the cache drive) to copy the files to that drive, then put that drive straight into your Unraid server and assign it as disk1. 

That won't work, array and cache devices need to be formatted by Unraid or UD, or it won't mount.

Link to comment
20 minutes ago, johnnie.black said:

That won't work, array and cache devices need to be formatted by Unraid or UD, or it won't mount.

Thanks Johnnie, I never realized that.  So you can't move a data drive (formatted, say, in XFS) from any other Linux computer and use it in an array with the data intact--- correct?  But it can be mounted using the Unassigned Devices' plugin and copy the data to the array.  

Link to comment
9 minutes ago, Frank1940 said:

So you can't move a data drive (formatted, say, in XFS) from any other Linux computer and use it in an array with the data intact--- correct?

Correct, you can format a drive with Unraid/UD, mount it with another Linux distro and copy data, the issue is just the format itself.

  • Like 1
Link to comment
  • 2 months later...

Just incase anyone comes across this, what I ended up doing was:

 

Stoped and backed up my VMs in FreeNAS and replaced the SSD cache drive with one of the new 10TB disks.
Create a new zpool called transfer with just the single new 10TB disk.
Created a ZFS snapshot of my main pool and used send/receive to copy it to the new disk:

zfs snap pool@migrate
zfs send pool@migrate | pv | zfs recv -F transfer

That took about 31hrs to copy 6.6TB.
Then I stoped everything accessing my pool to create a final snapshot and updated the new disk with it incrementally:

zfs snap pool@incremental
zfs send -i migrate pool@incremental | pv | zfs recv transfer

Then I was able to reboot into unraid and install the ZFS plugin to import and mount my transfer pool:

zpool import -f transfer

I then created my unraid array with the other 10TB disk and 3 of the remaining 2TB disks without parity.
Finally I used rsync to move all the data from that disk into my new array:

rsync -aHP /transfer/ /mnt/user/RAIDZ/

NB: I used the NerdPack plugin to install screen so I could run rsync detached in the background, I also added the -H flag to preserve some hard links I had in my data.

 

The rsync transfer is still running but once it completes I plan to format the transfer 10TB disk and add it as a parity drive to the array.

I already miss FreeNAS and ZFS in particular, but I need the flexibility to create an array with odd sized disks and unraid seems to do everything I need so far.

Link to comment
  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.