FSLogix -Concurrent access to O365 Containers VHDAccessMode Explained!

In an expansion to FSLogix documentation Concurrent Office 365 Container Access the following goes into more detail on the topic on allowing concurrent access to the Office365 Container using VHD Difference disks to achieve this frequent requirement especially in a citrix environment.

What is a difference disk?

differencing disk is a virtual hard disk (VHD) that stores changes made to another VHD. The purpose of differencing disks is to make it possible to maintain information about changes made so that they can be reversed or merged into parent VHD if necessary.

What is the Default Access mode?

The default configuration out of the box for FSLogix is normal direct access where is the a one to one relationship with User & VHD. Only one connection can be made to the VHD at any one time therefore it would be unsuitable for circumstances where multiple session could be established by one User. No difference disk is used in this method.

Default scenario is direct access stored on the network , below an overview:-

FSLOGIX_VHDA1

How can i allow multiple sessions for one user (i.e Citrix XenApp)?

There is three possible options to allow multiple sessions, they are as follows

Network:-

This scenario difference disk will be used and stored on the network , below an overview:-

FSLOGIX_VHDA2.PNG

During login if it detect for presence of difference disk on the VHD Location Share, it will successfully open and merge to parent disk and then remove the difference disk as well as any other difference disk on the users share. It will then create a difference disk in the format of %computername%_ODFC.VHD(X) and then mount that disk next to the Parent VHD on the share.

Network Share directory after logon:-

FSLOGIX_VHDA1-Disks.PNG
During logoff it will detach difference disk, attempts to rename it to merge.vhd(x) and then merge it into the parent VHD but only if all sessions are closed. It will then delete the difference disk.

Network Share directory after logoff:-FSLOGIX_VHDA1-Disks1

NOTE: Differences has been merged and parent VHD has increased in size.

Local:-

This scenario difference disk will be used and stored on the PC/Server , below an overview:-

FSLOGIX_VHDA3.PNG

At logon it detect any previous ODFC.VHD_%usersid%_(X) disk in the temp directory(C:\windows\temp) and remove it,  it will then create a new difference disk called %usersid%_ODFC.VHD(X) in the temp and attached the difference disk.

C:\windows\temp directory after logon:-

FSLOGIX_VHDA2-Disks1.PNG

During logoff it will detach difference disk, attempt to merge the difference disk with the Parent VHD in the network share and delete difference disk if all sessions are’s closed.

C:\windows\temp directory after logoff:-

FSLOGIX_VHDA2-Disks3

Network Share VHD after logoff:-

FSLOGIX_VHDA2-Disks2.PNG

NOTE: Differences has been merged and parent VHD has increased in size.

User Session:-

This scenario does not use difference disk but a  unique VHD(X) will be used for each concurrent session , below an overview:-

FSLOGIX_VHDA4.PNG

At logon it searches for a session VHD(X) not currently in use, if found it will attach the VHD(X) otherwise it will create one in format of ODFC-%username%-SESSION-<sessionnumber>.VHD(X)

Network Share directory after logon:-

FSLOGIX_VHDA4-disk1.PNG

At logoff, it detaches the VHD(X) and if marked for delete it will be removed otherwise the Session based VHD(X) will remain on network share available for the next session from the user

Network Share directory after logoff:-

FSLOGIX_VHDA4-disk1.PNG

NOTE: In this option each Session VHD is independent on each other and there is a maximum of 10 sessions.

This option has specific disadvantages as there is not a single merged copy/parent VHD, therefor depending on which session it attached (0-9) the data contained within the VHD maybe recent/may take some additional syn’ing to be fully up to date and require extra time along with x times more data storage depending on number of sessions required (although this can be limited).

How do i change the VHD Access Mode?

This can be adjusted by adding the following registry key on the device

HKEY_LOCAL_MACHINE\Software\Policies\FsLogix\ODFC
DWORD:  VHDAccessMode
  • A value of ‘0’ (default) means normal direct access behaviour
  • A value of ‘1’ means that a difference disk will be used and stored on the network.
  • A value of ‘2’ means that a difference disk will be used and stored on the local machine
  • A value of ‘3’ means that a unique VHD(X) will be used for each concurrent session. These VHD(X) files will typically persist so that they can be used the next time a user creates a session. To control the number of VHD(X) files that will persist, see the NumSessionVHDsToKeep setting.

There is currently no GPO setting to do this at the minute but hopefully this will come in future releases to ease the configuration on mass.

2 comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s