Troubleshooting Windows Server AppFabric — auto restart issues
When a cache host is rebooted, Windows Server AppFabric does not start the caching services by default. Although services can always be started manually using the PowerShell commandlets, this intervention is far from ideal. Furthermore, this lack of auto-start for caching services is problematic because even when the host is backed up its caching services are not available to the cluster. In this recipe, we will learn about two possible workarounds that will allow caching services to be available after a host has been rebooted.
How to do it...
We will first set the Startup type of the AppFabricCachingService to be automatic so that the Caching Service is started every time a cache host is rebooted:
- Set the AppFabric Caching Service's Startup type to be Automatic, as shown in the following screenshot:
- Another option is to schedule a startup task to execute the
Use-CacheCluster
andStart-CacheHost
commands.
Note
For more details on how to configure a startup task in Windows 7, visit: http://windows.microsoft.com/en-US/windows7/schedule-a-task.
How it works...
Every time a Cache Host is rebooted, by default it is necessary to restart the AppFabric Caching Service manually. This is because Windows Server AppFabric Caching Services do not have a built-in mechanism for auto-start. By setting the service to start automatically, we worked around the limitation, but it is important to note that doing so carries some important caveats.
The reason Microsoft chose to require a manual restart of the caching service by default is that under certain conditions, waiting for the service to start can result in significantly longer boot times (sometimes several minutes).
On development machines, it can be useful to configure the service to start automatically so that you aren't pulling you hair out when caching all of a sudden stops working. However, if you experience excessive boot times, or errors resulting from applying this tip, it is probably best to skip it all together.
As we discussed, another option is to schedule a startup task which is a better approach as it still uses the same Windows Server AppFabric PowerShell cmdlets including Use-CacheCluster
and Start-CacheHost
, and you can define the trigger most appropriate to your environment for executing the start up task.