缓存服务器维护注意事项(Windows Server AppFabric 缓存)

Windows Server AppFabric 缓存功能依赖于物理服务器来支持缓存群集。所有服务器在某些情况下需要维护,并且很多时候维护需要重新启动服务器。本主题介绍需要为维护重新启动服务器时最大限度地减少或避免缓存群集停机时间的重要注意事项。

重新启动服务器

在一个服务器上部署时,群集配置存储位置是缓存群集的单一故障点。如果主要主机执行群集管理角色,则重新启动过多的错误缓存服务器可能也会导致缓存群集关闭。

群集配置存储位置

群集配置存储位置可以是 SQL Server 数据库或共享的网络文件夹。如果不访问该位置,缓存群集无法运行超过几分钟。重新启动托管 SQL Server 的服务器或文件服务器之前,使用 Stop-CacheCluster 命令关闭缓存群集。此命令按照正确顺寻停止所有缓存服务器上的缓存主机 Windows 服务。有关群集配置存储位置的详细信息,请参阅群集配置存储选项(Windows Server AppFabric 缓存)

缓存服务器

作为一般规则,我们建议一次只重新启动一个缓存服务器。当您关闭要重新启动的服务器时,不需要特熟步骤。如果您希望只停止缓存主机 Windows 服务,请使用 Stop-CacheHost 命令。不支持使用 Windows 服务控制台停止服务。重新启动后,使用 Start-CacheHost 命令以允许缓存主机 Windows 服务器重新加入群集。有关详细信息,请参阅使用 Windows PowerShell 管理 Windows Server AppFabric 缓存功能

当主要主机正在执行群集管理角色时,为使得缓存群集保持可用,大多数主要主机必须保持可用。如果要在您的群集中实现这一目的,则在任意某次仅重新启动少数主要主机以避免缓存群集关闭。可以随时重新启动非主要主机,而不会影响缓存群集的运行状态。有关主要主机的详细信息,请参阅主要主机和群集管理(Windows Server AppFabric 缓存)

备注

如果系统正在执行群集管理角色,则 Stop-CacheHost 命令将不会停止缓存主机 Windows 服务,并且停止缓存主机将导致整个群集关闭。

如果 SQL Server 执行群集管理角色,则无需考虑缓存主机是否是主要主机。只使用一个缓存主机即可继续运行群集。

任何时候当缓存服务器上的缓存主机 Windows 服务停止时,该计算机上内存中的所有数据将被刷新。要帮助避免应用程序由于服务器重新启动导致的这种数据丢失,请启用命名缓存上的高可用性功能。此功能对性能有一些影响,但额外开销可能超过重新加载缓存的成本。

为实现高可用性功能以帮助避免应用程序由于缓存主机导致的故障(或停止),至少三个缓存主机必须是缓存群集的成员。这是因为强大的一致性要求表明启用高可用性的缓存中必须始终存在缓存对象或区域的两个副本。要维护缓存或区域的两个副本,启用高可用性的缓存至少需要两个缓存主机功能。有关详细信息,请参阅高可用性(Windows Server AppFabric 缓存)

除了少数服务器需要保持群集运行之外,考虑应用程序的内存需求也很重要。由于缓存服务器已重新启动,因此不可能更改应用程序的缓存需求。足够的缓存服务器保持运行以支持应用程序的缓存需求,这一点十分重要。

管理建议

为简化重新启动顺序,我们建议使用 SQL Server 数据库来存储您的配置设置并使用 SQL Server 的实例来执行群集管理角色。这样,便无需担心维护期间重新启动了哪个缓存服务器。

要优化缓存服务器的可用性,我们建议使用 Windows Server 2008 故障转移群集托管缓存群集配置存储位置的“群集”数据库或文件夹资源。在群集存储位置,您可以使用多个 Windows Server 2008 服务器来托管“群集”配置存储位置,允许您一次重新启动一个故障转移群集节点,而不会影响缓存群集配置存储位置的可用性。

如果可能,通过添加更多缓存服务器(多于您的应用程序当前所需的缓存服务器)来扩展您的缓存群集。这将使您能够重新启动少数缓存服务器,而不会对缓存群集的性能产生实质性的影响。

需要停机时间的操作

多个操作需要缓存群集的停机时间。下面列出的所有操作的共同点是它们都需要对缓存群集配置进行更改。

  2011-12-05