Network and Storage Protocols

What is the best way for CIFS migration?



Does anyone know what is the best way for CIFS data migration? 

We are currently using IBM SAN as our CIFS server and we want to migrate its data into our new NetApp 2240 , these files have user map with different security access and etc, so what is the best way to migrate these files to NetApp and keep their security styles, user maps and etc.





Believe it or not, your best bet at this time is still good old Robocopy.  We've had some issues with Robocopy not copying permissions correctly on the newer versions of the tool, but this is about your best bet.  There are many tools available, both free and purchased.  One of the better purchased tools we've found is called Beyond Compare, but it does not copy permissions.  There is a free (i.e. unsupported) tool from Microsoft called RichCopy, but it sometimes has issues with permissions as well.

Long story short, there is no silver bullet.  You just have to find what works for you.



usualy we use robocopy, there is a /b switch which uses backup operator permissions to properly copy all permissons even if the administrator cannot access these.

Good to know.  I'll give that a try and see if it fixes my issues.  Thanks.

thank you for your quick help , but we did try robocopy which is somehow fine but will not copy permission (or maybe we do it wrong) and has some issue. any other option ?


I have had good experiences with rsync.

would you please give me more details ?

Ricardo,  You're using rsync with Windows shares?  Are you using a Windows port?


There's a Windows port based on Cygwin, it gives you a basic "Unix like" terminal.


Just to know where to start from: have you ever heard of/used rsync?




  1. Create a CIFS share on the new target, best case only for your sync user/tool initially
  2. Copy the data initially
  3. Keep the data incrementally sync'ed
  4. Configure your usermappings in the /etc/usermap.cfg on your new NetApp Filer, make sure you use the same name services on the old and new NAS systems (or check and copy /etc/passwd and/or /etc/group entries)
  5. Break (CIFS) access to the original data for all users / applications beside your sync-user/application
  6. Final data sync
  7. Remove original data or make sure it will not be accessible whatsoever
  8. Re-point DNS CNAMEs or MS DFS, if needed/in-use
  9. Grant access to the new data pool (CIFS shares)

For 1 and/or 8, you may want to check

To copy and sync Windows data, I'd highly recommend the latest (W2k8+) ROBOCOPY. This one has many cool features, like multiple threads, "monitor" capabilities and so on.

  • You may want to make sure your "robocopy" server(s) is physically (network-wise) close to your NAS systems
  • Depending on your amount of data, LAN infrastructure and system load, you may want to use multiple "robocopy" servers (TCP/IP [round-trip] latency)

I wouldn't use rsync here for two reasons:

  1. Depending on your data and environment, you may run into some Cygwin limitations (max. path/file length, unsupported characters, permissions, (rsync) memory usage, ...)
  2. rsync and related tools are great if you want to compare changed files, compute the sometimes small changes within those (large) files and then transfer and apply only those small changes. All this is cool if your LAN or better WAN link is slow (high latency!). But the computation of the file differences may produce a high load on the rsync-server and take very very very long. With a hopefully fast LAN, it's most of the time quicker just to copy a hole file if it was changed before computing the difference for hours

Hope this helps





To all folks who may read this question and yet looking for an answer I would say , securecopy is the best option since it copies all files and share folders along with security permissions. I did use it for this task and works 100 % for me.