locked
Using Remote Differential Compression (RDC) with PowerShell RRS feed

  • Question

  • Hey Guys,

    to support our software deployment solution we built up repository servers in each of our bigger locations (35 servers alltogether). These servers keep antivirus pattern repository, software distribution repository, OS images and drivers and more.

    Especially the OS images and driver packages are very large files.

    The drivers are packed into zip files for each hardware model. When a driver changes we have to copy the whole package to 35 locations worldwide. Additionally we are currently setting up a new AV solution which brings its pattern files in a zipped version. This file is about 250 MiB and changed bits twice a day during the update are only about 5 to 10 MiB.

    Now here is my question:
    I am able to use .NET, Powershell and C# in advanced, but not expert level.

    Is there a easy or medium hard solution for using RDC for our more-than-daily syncs?

    I looked through the MSDN articles about RDC interfaces but for me there is no easy way visible to create a PowerShell/.Net solution for syncing files to the repositories.

    The source servers available are 2008 R2/2012 and the destination servers are all 2008 R2. IIS is installed on all destination servers, so I already thought about using BITS. But I did not find a document that states that BITS is using RDC.

    Any ideas other than RDC are welcome, too.
    But RDC was the thing that came in my mind because it is designed for the exact thing I want to do.

    The internet connections vary from 4 mbit/s to 10 mbit/s and latencies are between 20 ms and 300 ms.

    I would appreciate any helpful ideas on this!

    Best regards,
    Dennis


    Keep calm and learn PowerShell

    Wednesday, February 25, 2015 12:14 PM

Answers

  • You could exclude those folders from the main sync but then this would not be able to be replicated as if you tried to add the excluded folder DFS-R will complain about the sub folder being associated to the existing replication group. Assuming this folder is under the root replicated folder.

    Either you could set up lots of individual replication groups for each of the second level folders but this could have a large setup over head getting it all in there.

    Or can the folder that you want to replicate be moved out of the folder?

    Though the data would only be synced if it changes. Do they change every day?


    • Edited by RandomTechGuy Wednesday, February 25, 2015 4:06 PM
    • Marked as answer by DMeier_Nera Friday, March 6, 2015 9:58 AM
    Wednesday, February 25, 2015 4:00 PM

All replies

  • Would DFSR not work for you?
    Wednesday, February 25, 2015 12:16 PM
  • Hey,

    thank you for the idea!

    The problem is that I don't want to immediately replicate changes made to the repositories, because some of the build processes are running directly on the source share.
    Additionally we now have a powershell script in combination with robocopy that uses a schedule that is built to be location-aware and sync only during non-working hours for each location.

    Regarding DFS-R I have had some bad experiences regarding staging space and so on.

    I would not like to use this technology for this sync.

    Regards,

    Dennis


    Keep calm and learn PowerShell

    Wednesday, February 25, 2015 1:11 PM
  • In case you don't know with the DFS-R replication you can create a scheduled so that it only replicates during certain hours and limit bandwidth. 

    Secondly yea staging size needs to be factored in. Should be slightly bigger than the biggest file going to be transferred. 

    Also DFS-R uses RDC, but not sure robocopy does.

    Link Visa not sure if its diffrent now:

    http://blogs.technet.com/b/askds/archive/2009/06/26/debunking-the-vista-remote-differential-compression-myth.aspx

    DFS-R links:

    https://msdn.microsoft.com/en-us/library/bb540025%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

    https://msdn.microsoft.com/en-us/library/bb540031(v=vs.85).aspx




    Wednesday, February 25, 2015 2:27 PM
  • I actually didn't know that DFS-R has the ability to be scheduled, thank you for that advice!

    Is it possible to set up different sync schedules for sections inside the DFS-R shares?

    We have some data we don't need/want to be synced every day, for example the images/driver packages are only transferred over the weekend.


    Keep calm and learn PowerShell

    Wednesday, February 25, 2015 3:09 PM
  • You could exclude those folders from the main sync but then this would not be able to be replicated as if you tried to add the excluded folder DFS-R will complain about the sub folder being associated to the existing replication group. Assuming this folder is under the root replicated folder.

    Either you could set up lots of individual replication groups for each of the second level folders but this could have a large setup over head getting it all in there.

    Or can the folder that you want to replicate be moved out of the folder?

    Though the data would only be synced if it changes. Do they change every day?


    • Edited by RandomTechGuy Wednesday, February 25, 2015 4:06 PM
    • Marked as answer by DMeier_Nera Friday, March 6, 2015 9:58 AM
    Wednesday, February 25, 2015 4:00 PM
  • That's the point, some data changes every day but is not needed to be replicated all over the world after it reaches a finished state. But that's I problem I can solve I think by moving the data build process out of the DFS. I just had a look on one of our existing DFS-R setups and maybe this could be a better solution than I initially thought.

    I checked the options of the sync schedule and that seems to be satisfying my needs in a good manor.

    I will start to fiddle around with the DFS-R setup, maybe you convinced me of this solution.

    We also have locations that are connected over the line of another location (asia locations like Taiwan or Singapore are connected over the strong main line of Japan e.g.).

    With replication paths in DFS-R I will be able to help the systems in Taiwan or Singapore to fetch their data not from Germany but from Japan. So first sync Germany -> Japan and then Japan -> Taiwan for example.

    That would be a good improvement for the whole process I think.

    Thanks for your explanations, I will try this solution next week.

    maybe in the meantime there will be any reply regarding RDC usage in other applications.

    Stand by!


    Keep calm and learn PowerShell

    Thursday, February 26, 2015 2:34 PM
  • Actually we now decided to build up the DFS-R.

    I checked the possible configurations and the solution seems to fit best.

    Thanks for the hint, RandomTechGuy!


    Keep calm and learn PowerShell

    Friday, March 6, 2015 10:08 AM