One of the things I needed was a fast, quick, down-and-dirty secondary FSLogix profile server. At the time, the business required me to deploy FSlogix ASAP, so I only built one server to satisfy what the company wanted. Now, ideally, you would like to do some HA in your profile solution, architect this out, and put a lot more time into this solution, as this wasn't an option for me during that time.
Please note my statement that "One of the things I needed was a fast, quick, down-and-dirty secondary FSLogix profile server" isn't saying Bvckup2 is a cheap solution. It's the best solution, in my humble opinion. I discussed this with James Kindon on this blog many moons ago, when James went into this HA difference in an older blog of his. I am not going to repeat what he said. The URL below will help show some differences and options for you. I have been writing up the blog for a while now, and I'll go into how I did it. You can read all the details in settings and more about what the options do in another blog James Kindon released.
I am referencing this link for a more in-depth configuration and explanation of the history and back story: "High Level for HA configuration types"
Bvckup2 settings (Great break down)
FSLogix Container Replication with Bvckup2 (jkindon.com)
Bvckup2 could achieve this for me, and it is something I highly recommend for FSLogix HA solutions. It handles the block level and even opens files. It is nice to have the VHDX file in a RW mode when using FSlogix.
As you can see here, there are a couple of blogs on FSlogix HA, and users spread around HA, or even putting users on specific Profile servers:
QuickPost – using FSLogix object-specific settings – JAMES-RANKIN.COM
Designing Profile Management with Active-Active Resource Locations – James Kindon (jkindon.com)
I borrowed this screenshot from Jame Kindon's article. (Thanks, James)
"Multiple SMB Locations with Multiple VHD Paths – Choosing to use VHDLocations rather than Cloud Cache does not mean that the ability to define multiple locations is lost. FSLogix allows for multiple paths to be defined to allow for Failover should one location be unavailable. The priority for which location will be used first is defined by the order that the paths are specified in the VHDLocations path."
For this use case, it's a straightforward setup:
1. I created my shares identical on each server.
2. Server1 (FS01) already had my data in it, it was already in production, so I needed the data replicated to Server2 (FS02) in my remote location.
3. I Installed the software on both servers. The Source is FS01, and the destination is FS01. They are in different regions as well (different states).
4. To make it run continuously, you have to run it as a service account, and you will need grant permission. I created a domain account and added the permissions to the software to control the service.
5. Permission is granted in the location of the folder.
6. Here are some base settings I set. The Source Is the FS01, and it's replicating the backup to its FS02 server.
7. Let's start the job and watch the data pour in on the FS02 server.
8. See the data coming in and matching.
9. As you can see, the data is the same.
10. In this example, I am making a user profile that is in use and performing an ideal production use case.
11. Before on FS01
13. FS02 now matches with what FS01 has.
14. Now, what if the data changes on FS01 or when the user logs off the RW disk are gone from FS01? The detect changes will clean this up and make the profiles match the source and destination locations.
15. Once I was logged off from my main profile on FS01, BCKUP2 detected data was a change from the Source FS01. It compared the replicated VHDX only. Then, on FS02, it took the RW disk and created a folder under my main profile folder called $Archive (Bvckup 2), then dumped the needed data with a recent replication. In this case, I used the Archive feature just in case something was screwed up, and I could go back to the point in time for the user's container.
16. What if an outage occurred on FS01 and FS02 gets turned into the primary, and the detect changes can't happen because there is nothing to detect from the Source? I am not 100% on this yet. I can only assume. In this case, FSLogix will do what it does with any RW disk and create a RO option to get the profile going. ( I need to test this and create an outage and compare results)
These options are what achieved that for me:
- Re-Scan destination, archive backup copies of deleted items, and use delta copying.
Here are the high-level steps it does:
- It will detect when a user logs off.
- FSLogix natively takes the RW file and merges it back into the FS01 base VHDX.
- Bvckup2 sees this change and adjusts it on the destination to match. Which is an extra backup of the old file.
Let's test this.
As you see below, two RW files in the location of FS02. The reason for this is that I have a session in Site 1 ongoing, and it copied it as it should.
At this time, I logged off Site 1. You will see only a test. VHDX here on FS01 because of the VHDX Merge. (I am using Profile type 3)
Let's replicate the job now, being the RW. VHDX has gone from the Source FS01 Server
a. Me replicating it
This is a quick blog showing how it works, and it is excellent software for replicating containers. There are many ways to set this up and achieve the desired replication for you in your environment. Feel Free to ask me any questions. I may not be able to answer them all. But I can test the use case in my lab and try to help.