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.
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:
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.
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.