Jump to content

I have a Truenas ZFS Z2 array of 10x4TB drives. I just purchased a bunch of 18 TB drives since I have a 4 TB showing SMART errors (I have had to buy ~3 replacements over the 10 years of deployment) and instead of trying to keep this array going, I figure I should upgrade to larger capacity, but less quanitty (only 6x18 still in Z2) as an upgrade to save some electricity.

 

What is the best way to transfer all of the data from the old array to the new? I have never had to do this so I am not entirely learned on the options. I know ZFS replication is a thing (never done it), and I know ZFS send is a thing (also never done this).

 

The server in question is a HL15, so I can fit all of the new drives (with 1 hanging out on the side) so I can do this all local to a single truenas instance. No need to spin up a new truenas and transfer that way, I can do it fully locally.

 

At the end, I would like to offine the old array, and preferably not have to re-set up any network share mount points etc. If possible, I would like the new array to be a mirror of the old so all network mounts "just work"™

 

Thoughts, advice?

Rig: i7 13700k +Contact Frame - - Asus Z790-P Wifi - - RTX 4080 - - 4x16GB 6000MHz - - Samsung 990 Pro 2TB NVMe Boot + Main Programs - - Crucial P3 2TB NVMe for photo work - - Corsair RM850x - - Sound BlasterX EA-5 - - Corsair XC8 JTC Edition - - Corsair GPU Full Cover GPU Block - - PTM 7950 - - XT45 X-Flow 420 + UT60 280 rads externally mounted - - EK XRES RGB PWM - - Fractal Define S2 - - DellAlienware AW3423DWF 34" -- Logitech Pro X Superlight - - Logitech G710+ - - LTT Northern Lights Deskpad

 

Headphones/amp/dac: Schiit Bifrost Multibit - -  Schiit Lyr 3 - - Fostex TR-X00 - - Sennheiser HD 6xx

 

Homelab/Media Server: Proxmox VE host - - 512 NVMe Samsung 980 RAID Z1 for VM's/Proxmox boot - - Xeon e5 2660 V4- - Supermicro X10SRF-i - - 128 GB ECC 2133 - - 10x8TB WD Red RAID Z2 - - 2x 800 GB SAS SSD’s (1 SLOG, 1 L2Arc) - - 45 HomeLab HL15 15 Drive 4U - - Corsair RM650i - - LSI 9305-16i HBA - - TreuNAS + many other VM’s

 

Unifi UDM Pro in front of full unifi network infrastructure

 

iPhone 17 Pro - - MacBook Air M3

Link to comment
https://linustechtips.com/topic/1607305-how-to-best-migrate-zfs-array/
Share on other sites

Link to post
Share on other sites

The array is healthly right? No data errors when a scrub is ran?

 

I'd snapshot the old pool then use ZFS send/recv. Gonna have to change the shares to the new pool name, but other wise should be painless. I guess you could make the mount points of the new pool the same after moving though.

 

Then export the old array and remove it.

Link to post
Share on other sites

7 minutes ago, Electronics Wizardy said:

The array is healthly right? No data errors when a scrub is ran?

 

I'd snapshot the old pool then use ZFS send/recv. Gonna have to change the shares to the new pool name, but other wise should be painless. I guess you could make the mount points of the new pool the same after moving though.

 

Then export the old array and remove it.

Correct, no ZFS errors. I am not sure how long that will last... but I did a scrub yesterday since I actually just resilvered with a different "old" drive. It had a ZFS error a while ago, but I bad blocks'ed it and it was totally fine, so I popped it back in for the short term as another drive started showing issues.. I recognize this is dumb, and I am on borrowed time. But as of now, no errors. 

 

How do I got about snapshotting and doing a send? Of note, I do have snapshots (not of the entire array, just particular datasets), would they also be captured in that send? Would be nice to take the snapshots "with me" to the new array..

Rig: i7 13700k +Contact Frame - - Asus Z790-P Wifi - - RTX 4080 - - 4x16GB 6000MHz - - Samsung 990 Pro 2TB NVMe Boot + Main Programs - - Crucial P3 2TB NVMe for photo work - - Corsair RM850x - - Sound BlasterX EA-5 - - Corsair XC8 JTC Edition - - Corsair GPU Full Cover GPU Block - - PTM 7950 - - XT45 X-Flow 420 + UT60 280 rads externally mounted - - EK XRES RGB PWM - - Fractal Define S2 - - DellAlienware AW3423DWF 34" -- Logitech Pro X Superlight - - Logitech G710+ - - LTT Northern Lights Deskpad

 

Headphones/amp/dac: Schiit Bifrost Multibit - -  Schiit Lyr 3 - - Fostex TR-X00 - - Sennheiser HD 6xx

 

Homelab/Media Server: Proxmox VE host - - 512 NVMe Samsung 980 RAID Z1 for VM's/Proxmox boot - - Xeon e5 2660 V4- - Supermicro X10SRF-i - - 128 GB ECC 2133 - - 10x8TB WD Red RAID Z2 - - 2x 800 GB SAS SSD’s (1 SLOG, 1 L2Arc) - - 45 HomeLab HL15 15 Drive 4U - - Corsair RM650i - - LSI 9305-16i HBA - - TreuNAS + many other VM’s

 

Unifi UDM Pro in front of full unifi network infrastructure

 

iPhone 17 Pro - - MacBook Air M3

Link to post
Share on other sites

1 hour ago, LIGISTX said:

Correct, no ZFS errors. I am not sure how long that will last... but I did a scrub yesterday since I actually just resilvered with a different "old" drive. It had a ZFS error a while ago, but I bad blocks'ed it and it was totally fine, so I popped it back in for the short term as another drive started showing issues.. I recognize this is dumb, and I am on borrowed time. But as of now, no errors. 

 

How do I got about snapshotting and doing a send? Of note, I do have snapshots (not of the entire array, just particular datasets), would they also be captured in that send? Would be nice to take the snapshots "with me" to the new array..

How many datasets do you have? You should be able to snapshot recursively to move them all.

 

I don't think it will take the old snapshots by default. Probably could make a script to send them all, but I'd just keep the drives with the array offline if its for previous versions.

Link to post
Share on other sites

2 minutes ago, Electronics Wizardy said:

How many datasets do you have? You should be able to snapshot recursively to move them all.

 

I don't think it will take the old snapshots by default. Probably could make a script to send them all, but I'd just keep the drives with the array offline if its for previous versions.

That sounds easy enough. I have ~10 datasets. Nothing crazy. 

Rig: i7 13700k +Contact Frame - - Asus Z790-P Wifi - - RTX 4080 - - 4x16GB 6000MHz - - Samsung 990 Pro 2TB NVMe Boot + Main Programs - - Crucial P3 2TB NVMe for photo work - - Corsair RM850x - - Sound BlasterX EA-5 - - Corsair XC8 JTC Edition - - Corsair GPU Full Cover GPU Block - - PTM 7950 - - XT45 X-Flow 420 + UT60 280 rads externally mounted - - EK XRES RGB PWM - - Fractal Define S2 - - DellAlienware AW3423DWF 34" -- Logitech Pro X Superlight - - Logitech G710+ - - LTT Northern Lights Deskpad

 

Headphones/amp/dac: Schiit Bifrost Multibit - -  Schiit Lyr 3 - - Fostex TR-X00 - - Sennheiser HD 6xx

 

Homelab/Media Server: Proxmox VE host - - 512 NVMe Samsung 980 RAID Z1 for VM's/Proxmox boot - - Xeon e5 2660 V4- - Supermicro X10SRF-i - - 128 GB ECC 2133 - - 10x8TB WD Red RAID Z2 - - 2x 800 GB SAS SSD’s (1 SLOG, 1 L2Arc) - - 45 HomeLab HL15 15 Drive 4U - - Corsair RM650i - - LSI 9305-16i HBA - - TreuNAS + many other VM’s

 

Unifi UDM Pro in front of full unifi network infrastructure

 

iPhone 17 Pro - - MacBook Air M3

Link to post
Share on other sites

11 hours ago, Electronics Wizardy said:

How many datasets do you have? You should be able to snapshot recursively to move them all.

 

I don't think it will take the old snapshots by default. Probably could make a script to send them all, but I'd just keep the drives with the array offline if its for previous versions.

Zfs send has an option to include all snapshots IIRC

 

edit: -R appears to be what is wanted in this case: https://openzfs.github.io/openzfs-docs/man/master/8/zfs-send.8.html

Looking to buy GTX690, other multi-GPU cards, or single-slot graphics cards: 

 

Link to post
Share on other sites

4 hours ago, brwainer said:

Zfs send has an option to include all snapshots IIRC

 

edit: -R appears to be what is wanted in this case: https://openzfs.github.io/openzfs-docs/man/master/8/zfs-send.8.html

Perfect, thanks! 
 

ZFS sure makes things easy. 

Rig: i7 13700k +Contact Frame - - Asus Z790-P Wifi - - RTX 4080 - - 4x16GB 6000MHz - - Samsung 990 Pro 2TB NVMe Boot + Main Programs - - Crucial P3 2TB NVMe for photo work - - Corsair RM850x - - Sound BlasterX EA-5 - - Corsair XC8 JTC Edition - - Corsair GPU Full Cover GPU Block - - PTM 7950 - - XT45 X-Flow 420 + UT60 280 rads externally mounted - - EK XRES RGB PWM - - Fractal Define S2 - - DellAlienware AW3423DWF 34" -- Logitech Pro X Superlight - - Logitech G710+ - - LTT Northern Lights Deskpad

 

Headphones/amp/dac: Schiit Bifrost Multibit - -  Schiit Lyr 3 - - Fostex TR-X00 - - Sennheiser HD 6xx

 

Homelab/Media Server: Proxmox VE host - - 512 NVMe Samsung 980 RAID Z1 for VM's/Proxmox boot - - Xeon e5 2660 V4- - Supermicro X10SRF-i - - 128 GB ECC 2133 - - 10x8TB WD Red RAID Z2 - - 2x 800 GB SAS SSD’s (1 SLOG, 1 L2Arc) - - 45 HomeLab HL15 15 Drive 4U - - Corsair RM650i - - LSI 9305-16i HBA - - TreuNAS + many other VM’s

 

Unifi UDM Pro in front of full unifi network infrastructure

 

iPhone 17 Pro - - MacBook Air M3

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×