Paul McCran's

Portfolio

USING A CIFS/SMB VDISK STORE FOR PVS

When a PVS server reads from the Vdisk image in the PVS store, the data from that image would normally be read into the System Cache memory of the server- this means that if the PVS server has sufficient RAM, then there would be little need thereafter to read from the image saved on disk.  The target devices will have the image data streamed to them from the PVS server's system Cache memory (RAM).  A PVS server is able to read the data into memory if the image is stored on block level storage, but it will not read any of the data from a Vdisk that is stored on a CIFS/SMB share.  You will wonder why this is the case, as a Windows server has no issue reading any other type of file into system cache at any other time. 

There were traditionally 4 main Oplock types used:

L1 - Exclusive lock placed on a file.  A client can cache Read or Write operations to the file (cached on client).  This locks other users and systems form using the file

L2 - Shared Read Only Lock.  Caches RO Locks. Because only RO operations are being cached, it will allow multiple clients to access the file

The old "Opslock" system was replaced by "Leasing" in SMB version 2.1 (Server 2008R2)

If  you look at the above two locks, you will notice that it should have been possible for the Vdisk to be accessed if an L2 lock is placed on the file, but this functionality was disabled by the PVS installation, to reduce failover times.  However, the failover scenarios described by Citrix are only relevant to Write cache files that are stored on the PVS server or Vdisks placed in Private mode.  Each of those options aren't recommended in the majority of scenarios, so it's ok to enable the Opslock settings again. 

Server 2008 R2 File Server:

HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters
“autodisconnect” = dword:0000ffff
‘Smb2″ = dword:00000001

Windows 2008 R2 Provisioning Server:

HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters
“EnableOplocks” = dword:0×00000001
HKLM\SYSTEM\CurrentControlSet\services\mrxsmb\Parameters
“OplocksDisabled” = dword:0×00000000
“CscEnabled” = dword:0×00000001
HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters
“autodisconnect” = dword:0x0000ffff
“Smb2″ = dword:0×00000001

Allocate enough RAM to your file server so that the Vdisk can be read into System Cache of that server.  Do this for your PVS server too.

There will be an impact on system performance, so make sure you test this and also read up on how you can make this highly available (Clustered).  There are some articles that explain how to use Microsoft SOFS configurations for this, but be aware that at the tie this blog post was written, there where issues with Vdisk updates and performance when using Server 2012 SOFS for the Vdisk store.



Next PostNewer Post Previous PostOlder Post Home