Using FreeNAS to sync files from a Windows Server

RockW

Dabbler
Joined
Apr 4, 2019
Messages
14
Hi everyone, I'm new to FreeNAS. I work for a small company that has a network of about 15 computers (all Windows 10) and 2 servers (both Windows Server 2016). Recently management approved the purchase of a new server to replace our ageing domain controller so I've completed that project and now I have the decommissioned server set up on the LAN with FreeNAS. Here's the specs: Asus TS500-E6 PS4 with a P5BP-E/4L motherboard (6 onboard SATA connectors, we did not opt for the PIKE card so we miss out on the additional ports unfortunately), two Xeon E5504 cpus and 24 GB ECC ram. I installed FreeNAS on two SanDisk Ultra Fit 64GB usb drives in order to save all the SATA ports for storage. I was left with two 2TB hdds, two 1TB hdds and two 500GB hdds to use for the pool(s). I decided to set up three pools with each of the matching-capacity drives striped together so I could get as much available space as possible - one 3.51TB pool, one 1.76TB pool and one 891GB pool. I am aware that this gives zero redundancy, but all of our critical files currently reside on the domain controller on mirrored data drives with nightly backups going to a D2D device also on the LAN. So if a drive dies in the FreeNAS or I decide to replace all the drives with larger ones down the road I won't be losing anything. Now if a giant meteor hits our building that's a different story... but in that case I'm sure I'll have bigger problems than just missing files.

Since we've already got a backup in place and we don't plan on moving the data off the windows server, I opted to use the FreeNAS to host a second copy of all our critical data files. After researching the options it seems people have used rsync successfully for this purpose. I had to set up OpenSSH and Cygwin on the Windows Server as a work-around to get rsync working on both sides of the equation (Linux Subsystem for Windows is not available for the version of Windows Server 2016 that I have). It required quite a bit of experimentation but I was able to successfully use shell on the FreeNAS to pull some test files from the Windows server data drive. I'm still testing to see what rsync options will work best before I start syncing regularly but this brings me to my questions:

1) Does anyone else here have a similar setup and requirements that can comment or critique this particular method or suggest a different setup that works for syncing between the FreeNAS and Windows? I realize most people are using the FreeNAS as their main storage so what I'm attempting is not typical but it looks like it should work.

2) If it's not critical that the windows users on the network have access to the files would it still be advisable to set up SMB shares on the FreeNAS and sync to that but lock down the permissions or should I sync directly to a pool and just use rsync to send file(s) back from the FreeNAS to the Windows server if the situation arises that I need to? The main reason I think not sharing the files would be useful is if we ever get hit with a virus or ransomware that can travel through the network shares. I'm just not sure if there are any caveats or other implications that I haven't thought of yet doing it that way.

3) If it's feasible, I would like to move the FreeNAS offsite, our internet should have sufficient speed to sync the changed files at least once per day (typically the changed files per day would only amount to a few hundred MB) but I have no idea at this point if I can use this same setup with rsync over the internet and also have a sufficient amount of security for the transfer.

At this point I will continue to experiment but if anyone can give their thoughts I would be appreciative!
 

artlessknave

Wizard
Joined
Oct 29, 2016
Messages
1,506
  • if you are striping everything anyway, why not just have one pool?
  • 100% stripe as a backup means that the pool can tell you if data goes bad but not fix it at all, so if you main dies your backup might be of limited use.
  • installing openssh and cygwin were not really necessary in your current setup, you can mount an smb and do any commands on the freenas entirely.
Code:
(sudo) mount -t cifs //1.2.3.4/windowsshare /mnt/windowsshare -o username=somebody
(sudo) rsync (-a) /mnt/windowsshare /mnt/zfspool/whatever

  • if you run all the sync on the freenas, there would be no need for any share at all, but it wouldn't hurt anything. you could make it read only to be paranoid.
  • you can setup snapshots to allow "previous versions" seemless integration, making configurable user accessable versioning nearly effortless.
  • freenas with properly setup snapshots is basically immune to ransomware, since you can just roll back (instantly) to before the ransomware, or clone any snapshot (instantly). windows does not have this at all afaik, you would rely on backups and restoration downtime.
  • you can rsync across the internet with ssh and be about as secure as it's possible to be.
there is a reason many of us use freenas, or other *nix, instead of windows. windows is like bring a commodor64 to a LAN party....
 
Top