Feb 012021
 

Windows 2016 Deduplication on FSLogix Containers and ODFC 

During the time of running my Shrink Scripts (yes I have a couple I go back and forth with) for FSLogix, I noticed that my 4 TB Drive is becoming used more and more. There wasn’t really anything I could do at this point other than adding Disk space( Call me old, but I try to optimize as much space as possible before throwing more hardware at it). One of the things I could do is delete all older profiles that haven’t been used in 90 days. There are scripts that can do this for you. One is Jim Moyle, another is Rene Bigler ( Posted at the end of the quick blog). However, I must test this, and I don’t have the time to do this right now. So, Manuel Winker reminded me about Windows Deduplication. I have totally forgotten about this, and I am not sure how I did, to be honest.  So, this is how I did it and my results.

  1. Install the Data Deduplication Role (GUI)
  1. Powershell Install
  2. Install-WindowsFeature -Name FS-Data-Deduplication -IncludeAllSubfeature -IncludeManagementTools 
  1. After things are installed you need to set it up for the Volume that you will apply this to
  2. Open server manager, then navigate to File and storage services -> Volumes, select the desired volume, right-click and from the menu select Configure Data Deduplication.
  1. For this test, I am going to use the “General Purpose File server”
  2. This is a chart I pulled from the MS site on the difference
  3. https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/understand#usage-type-default
  1. For the Schedule, I had some advice from Mike Streetz.
  2. https://worldofeuc.slack.com/archives/CKBVDG48H/p1610685976025900
  3. I removed Enable Background Optimizations because I feel that it could cause issues and enabled a schedule based on some feedback with better control
  1. Let’s check my schedule with PowerShell
  2. Get-DedupSchedule
  1. I am going to kick it off and see what it does for me.
  1. Powershell
  2. Start-DedupJob -Volume D: -Type Optimization -Memory 75 -Cores 100 -Priority High -Full
  1. Before
  1. After
  1. Let check the status
  2. Get-DedupStatus -Volume D: | fl
  1. So, I save 1GB? WOW. After looking at this, I realized that I ran an FSLogix Shrink script 2 days ago. So, I needed to change it to 1 day for me. So that was not a really fair test.
  1. Test 2 is switching to VDI and to 1 day. Based on what I read on MS. This would help in saving around see the same OS over and over. But in this case, it’s just a test and I am not worried about that. 
  1. After
  1. So, I saved 92.71 GB.

10 I will switch it back just to see if I can squeeze more out, or if it better this way. But I doubt it.

  1. So ill run this again
  2. Start-DedupJob -Volume D: -Type Optimization -Memory 75 -Cores 100 -Priority High -Full 
  1. Results are the same. But this was a good experiment and If I saved 91GB on 500GB Volume. I gained 18.5% of Disk space back. 500×18.2% = 92.5
  1. What could I save on 4TB? If we take the math I have here, and just guesstimate (Guessing and estimating). Based on that, 4000 x 18.5% = 740GB. I could gain another 740GB. At 4TB Volume, my current free space is 670GB after an FSLogix Shrink job was run.  So, overall, that is 1.4TB back in my pocket. I call that I win and very happy. However, this could be less or more. 

In my opinion, this is a huge value to anyone running FSLOGIX Profile servers, or really any file servers. This quick blog is not anything fancy, but more of a reminder out there for those who forgot like me. Everyone be safe and  Until Next time folks.

Resources

https://worldofeuc.slack.com/archives/CKBVDG48H/p1610685976025900

https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/understand

https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/advanced-settings

Cleanup Jobs

Cleanup unused FSLogix Office 365 Containers – dready’s Blog

Delete Inactive FSLogix Profiles using PowerShell – hallspalmer_Blog (wordpress.com)

Delete old Profiles script

GitHub – FSLogix/Invoke-FslShrinkDisk: This script will shrink a FSLogix Disk to its minimum possible size

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.