We recently moved the data from several of our small offices to being hosted at a central regional data center. In one case, a site that formerly had it’s own Celerra for file access was now accessing NAS through a WAN link. As expected, access to files was much slower. After doing some research on how to speed up file access for users at the branch office locations I came across Microsoft’s BranchCache feature.
BranchCache is a WAN bandwidth optimization technology and is available on Windows 7 & 8, Server 2008 R2 and Server 2012. When BrancheCache is enabled, it creates a cache of the content from the file server locally within the branch office. A client from the same network can then access the file very quickly from cache instead of having to download it across the WAN again. It’s a great feature for optimizing local link utilization, increasing the responsiveness of applications, and reducing WAN bandwidth consumption.
BranchCache can operate in either Hosted Cache Mode or Distributed Cache mode. In Hosted Cache mode, there is a Windows server configured to store the cached files. In distributed cache mode (appropriate for smaller sites) local clients in the office keep a copy of the content and make it available to other clients that access the same files.
Once your Windows Administrator has BranchCache configured on a server (or it’s been enabled on the local client PC’s), enabling it on the Celerra/VNX side is very simple. Log in to the CLI and su to gain root credentials. Then type in the following command:
server_cifs server_2 -smbhash -service enable
If you’d like to enable BranchCache auditing so the Windows server administrators can see audit info the Windows event logs, type in this command:
server_cifs server_2 -smbhash -audit enable
After that, you will need to restart the CIFS service on the data mover. Here are the commands to stop and start CIFS:
server_setup server_2 -P cifs -o stop
server_setup server_2 -P cifs -o start
To confirm that BranchCache was successfully enabled, type the following command:
server_cifs server_2 -smbhash -info
The output should look like this:
Current smbhash parameters:
Enabled : Yes
Started : Yes
Finally, To enable hash support on each individual CIFS Share that you want to use for Branch Cache clients, use the command syntax below. Note that EMC’s “Configuring Branch Cache” document I link to at the bottom of this post does not contain this next command (major oversight). It was pulled from page 58 of EMC’s Configuring CIFS Guide.
# server_export <datamover_name> -name <fs_name> -option <netbios_name_of_CIFS_Server>, type=hash /<fs_name>
EMC has a detailed document on how to configure BranchCache, including all the steps you’d need to take to configure the server and PC clients. If you have an EMC support account you can download it here:
There is also a lengthy section on BranchCache in EMC’s CIFS Management for VNX guide here:
Here is the link to Microsoft’s TechNet guide for BranchCache: