1

For diagnostics on a problem I am experiencing I really need to be able to copy files between windows servers - including the NTFS permissions without using smb. Is there a ready way to do this? If I were working on Linux I'd just use a tcp stream or SSH.. The SSH implementations I've looked at don't do NTFS permissions and I haven't seen anything as far as a raw tcp stream yet.

Background:

I am preseeding a DFS share that will be used to migrate away from a 2003r2 file server to a 2012r2 server. I have several terabytes of data that need to be moved.

I've ruled out network level issues using iperf. We are getting 800 megabits throughput or better. I also disabled antivirus and followed the other standard performance troubleshooting steps.

Tim Brigham
  • 15,545
  • 10
  • 75
  • 115
  • I kinda think you need to tell us more about your actual problem here. Your last paragraph really doesn't make a sense in the context of the rest of your question. OK, you don't have network level issues, how does that relate to you wanting a non-SMB tool to transfer data? – Zoredache Apr 22 '15 at 17:04

2 Answers2

2

Well one method that would completely avoid SMB, but would probably be fairly difficult to build would be based on iSCSI.

Windows 2012r2 can be an iSCSI target, and Windows 2003r2 can act as a client. So you could setup a volume on the destination, and present it through iSCSI, then connect to it through your client system, and then mount the volume directly on the Windows 2003r2 box. Then you can use your local copy tools (ie robocopy) to do your preseeding.

Zoredache
  • 130,897
  • 41
  • 276
  • 420
0

You should really give us some more information, especially on why you want to avoid smb/cifs in the first place.

Anyway, presuming you can't really use smb, you have two possibilities:

  • follow Zoredache's suggestion, using a lower-level protocol (iSCSI) to export the remote filesystem and then copy the data required using robocopy;
  • install cygwin on both servers and use rsync to copy the required files.

Let me elaborate on the second method (rsync). Some month ago I needed to migrate about 200 GB from a Windows 2003 fileserver to a new Linux+Samba setup, all without downtime. My solution was to use rsync to incrementally synchronize the two fileserver, with a very brief final synchronization step during which the original share was put in read-only mode.

I encountered the following problems:

  1. at first, ACL were not synchronized. The solution was to pass the -A option to the rsync command;
  2. after that, the ACL where synchronized but in a wrong manner (bad uid where assigned to the files). The solution was to first connect the new Linux server to the domain and to correctly configure windbind so that calling getent passwd returned the domain users list;
  3. the data transfer was slow. It turned that CygWin's SSH implementation is quite slow. To work around that I configured the Windows-running rsync instance in standalone daemon mode, without requiring SSH.

The ene results were an almost perfect ACL replica on the Linux machine (some minor differences were due to how SMBACL and Posic ACLs differs).

You are in a somewhat similar, but better, position: both your fileserver are Windows based, and I suppose they are in the same domain. This means that they have access to the same user database, with the same RID in place - in other word, you should encounter no problem in replicating ACLs. Moreover, rsync is a very efficient and versatile tool, and it should have no problem in incrementally copying your files.

Before doing all that, however, really reconsider why (and if) you can't use SMB/CIFS for file transfer. Are you really, really, really sure? If so, why?

shodanshok
  • 47,711
  • 7
  • 111
  • 180
  • Preseeding for DFS-R is extremely picky about having ACLS/Ownership and so on be exactly right. I would be extremely hesitant about relying on rsync/cygwin for this. A mistake with a DFS-R preseed will make a extremely huge mess out of things. – Zoredache Apr 22 '15 at 21:33