So my FreeNAS server is full.
I wanted to build it again in a rack mount case for inclusion in my new A/V rack in the new cinema room, and bring all my ‘home compute & network’ together in a single place – but I couldn’t afford to take it offline.
Since it’s been a while since I built it, I had a look on eBay for all the same parts (since it’s just a FreeNAS file server, it doesn’t need a whole bunch of power) and I was really quite happy with how solid the original build has been. I therefore purchased all the same parts again (except for a different case)
SuperMicro X9-SCL-O motherboard
Xeon E3-1260v3 Processor
32Gb ECC RAM
8 x 6Tb Seagate NAS drives (increasing from 6 x 3Tb drives)
2 x 120Gb SSD
1 x 800w PSU
1 x Rosewill 4U rack mount case
Apart from the drives, I managed to get the whole lot for about $350 which was a steal compared to my original build.
Throw on the latest FreeNAS 11 and it’s ticking along nicely.
However, I now have about 12Tb of data to move from the old server to the new one, without bringing the old one offline.
I’ve always been a fan of rsync… I know there are faster ways of transferring data, but rsync is solid, handles incremental updates, and is very very mature. But it ain’t fast.
After having a dig around, I finally found a magic incantation which upped my transfer rate from about 150Mbps to about 850Mbps!!!
rsync -aHAXv -e "ssh -T -o Compression=no -x" user@<source>:<source_dir> <dest_dir>
There’s a fantastic discussion here :
[UPDATE] — so, using this to migrate servers is missing some special sauce. Using the command line as-is was resulting in some odd copy failures, mainly related to the mismatch of user/group permissions between the source and target machines.
We need to tell rsync NOT to transfer permissions (and I added a parameter which cleans up the target folder too) – this seems to work well, and saturates my network connection while running 🙂
rsync -aHAXv -A --no-perms --stats --delete -e "ssh -T -o Compression=no -x" remote:/Music/Compressed/ /Media/Music/MP3