你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何管理 Azure 托管 Redis(预览版)
本文介绍如何为 Azure 托管 Redis(预览版)执行管理任务,例如重新启动以及更新通道和计划更新。
重新启动
左侧的“重新启动”可重新启动缓存的一个或多个节点。 如果有缓存节点发生故障,此重新启动功能可用于测试应用程序的复原能力。
重要
Enterprise 层尚不可重新启动。 所有其他层都可以重新启动。
选择要重新启动的节点,并选择“重新启动”。
如果高级缓存启用了群集功能,则可选择要重新启动的缓存分片。
要重新启动缓存的一个或多个节点,请选择所需节点,并单击“重新启动”。 如果高级缓存启用了群集功能,请选择要重新启动的分片,然后选择“重新启动”。 几分钟后,所选节点将重新启动,再过几分钟后,又会回到联机状态。
对客户端应用程序的影响因用户重新启动的节点而有所不同。
- 主节点 - 重新启动主节点时,Azure 托管 Redis 会故障转移到副本节点,并将其提升为主节点。 在此故障转移期间,可能会有一段短暂的时间间隔,在此期间,与缓存的连接可能会失败。
- 副本 - 重新启动副本节点后,通常对缓存客户端没有影响。
- 主节点和副本 - 当两个缓存节点都重启时,Azure 托管 Redis 将尝试正常重启这两个节点,等待一个节点完成,然后再重启另一个节点。 通常不会发生数据丢失。 但是,由于发生意外的维护事件或故障,仍可能会发生数据丢失。 在一行中多次重启缓存会增加数据丢失的几率。
- 已启用群集的高级缓存的节点 - 重新启动已启用群集的高级缓存的一个或多个节点时,所选节点的行为与重新启动非群集缓存的对应节点时相同。
重新启动常见问题解答
- 测试我的应用程序时,应重新启动哪个节点?
- 能否通过重新启动缓存来清除客户端连接?
- 如果我执行重新启动,是否会丢失缓存中的数据?
- 能否使用 PowerShell、CLI 或其他管理工具重新启动缓存?
- 能否重新启动 Enterprise 缓存?
测试应用程序时应重新启动哪个节点?
若要针对缓存的主节点故障测试应用程序的复原能力,请重新启动主节点。 若要针对副本节点故障测试应用程序的复原能力,请重新启动“副本”节点。
能否通过重新启动缓存来清除客户端连接?
能,如果重新启动缓存,将清除所有客户端连接。 当所有客户端连接均已用完(由于客户端应用程序中的逻辑错误或 bug)时,重新启动会很有用。 每个定价层对于不同大小都有不同的客户端连接数限制,达到这些限制后,将不再接受客户端连接。 通过重新启动缓存可以清除所有客户端连接。
重要
如果通过重新启动缓存来清除客户端连接,则一旦 Redis 节点重回联机状态,StackExchange.Redis 就会自动重新连接。 如果未解决这一基本问题,客户端连接会继续用完。
如果执行重新启动,是否会丢失缓存中的数据?
如果同时重新启动主节点和副本节点,则缓存中或该分片中(如果你使用已启用群集的高级缓存)的所有数据都应安全。 但是,在某些情况下,数据可能会丢失。 重启两个节点时应谨慎。
如果只重新启动其中一个节点,数据通常不会丢失,但仍可能会丢失。 例如,如果重新启动主节点时正在进行缓存写入,则缓存写入的数据会丢失。 发生数据丢失的另一种情况是,重新启动一个节点时,另一个节点恰巧因故障而关闭。
你还应该知道,重新启动这两个节点不会导致数据刷新。 如果要清除数据,请使用门户控制台中的刷新过程。
能否使用 PowerShell、CLI 或其他管理工具重新启动缓存?
能,有关 PowerShell 说明,请参阅重新启动 Azure Redis 缓存。
能否重新启动 Enterprise 缓存?
不是。 Enterprise 层尚不可重新启动。 重新启动适用于“基本”、“标准”和“高级”层。 在“管理”下的“资源”菜单上看到的设置取决于缓存的层。 使用 Enterprise 层中的缓存时看不到“重新启动”。
刷新数据
使用基本层、标准层或高级层 Azure 托管 Redis 时,会在资源菜单上看到“刷新数据”。 使用“刷新数据”操作可以删除或刷新缓存中的所有数据。 可以在缩放操作之前使用此刷新操作,以可能减少在缓存上完成缩放操作所需的时间。 还可以配置为定期对开发/测试缓存运行刷新操作,以检查内存使用情况。
对群集缓存执行刷新操作时,会同时清除所有分片中的数据。
重要
以前,刷新操作仅适用于异地复制的企业层缓存。 现在,它在“基本”、“标准”和“高级”层中可用。
更新通道和计划更新
使用左侧的“计划更新”可为缓存实例选择一个更新通道和维护时段。
任何使用“稳定”更新通道的缓存实例都比使用“预览”更新通道的缓存实例晚几周接收更新。 建议为非生产工作负载和不太关键的工作负载选择“预览”更新通道。 为最关键的生产工作负载选择“稳定”更新通道。 默认情况下,所有缓存默认为“稳定”更新通道。
重要
更改缓存实例上的更新通道会导致缓存经历修补事件,以应用正确的更新。 请考虑在维护时段期间更改更新通道。
借助维护时段,可以控制在一周中的哪一天和哪个时间点更新托管缓存的 VM。 Azure 托管 Redis 将尽最大努力在定义的指定时间范围内启动和完成 Redis 服务器软件的更新。
重要
更新通道和维护时段适用于 Redis 服务器更新以及托管缓存的 VM 的操作系统更新。 更新通道和维护时段不适用于托管缓存 VM 或其他 Azure 网络组件的主机的主机 OS 更新。 在极少数情况下,缓存托管在旧型号上,维护时段也不适用于来宾 OS 更新。 如果缓存的 DNS 名称解析为 cloudapp.net
、chinacloudapp.cn
、usgovcloudapi.net
或 cloudapi.de
的后缀,则可以判断缓存是否在旧型号上。
目前,没有选项可用于为企业层缓存配置更新通道或计划更新。
要指定维护时段,请选中需要的日期,并指定每天的维护时段开始时间。 选择“确定”。 维护时段时间采用 UTC,只能按小时配置。
更新的默认最小维护时段为 5 小时。 此值不可以在 Azure 门户中配置,但可以在 PowerShell 中使用 New-AzRedisCacheScheduleEntry cmdlet 的 MaintenanceWindow
参数进行配置。 有关详细信息,请参阅 能否使用 PowerShell、CLI 或其他管理工具管理计划的更新?
计划更新常见问题解答
- 如果我不使用计划更新功能,何时进行更新?
- 在计划的维护时段进行哪种类型的更新?
- 能否使用 PowerShell、CLI 或其他管理工具管理计划的更新?
- “计划更新”功能涵盖和管理的更新是否可能在“计划更新”时段之外发生?
如果不使用计划更新功能,何时进行更新?
如果未指定维护时段,可以随时进行更新。
在计划性维护时段进行哪种类型的更新?
仅在计划的维护时段进行 Redis 服务器更新。 维护时段不适用于 Azure 更新或主机操作系统更新。
能否使用 PowerShell、CLI 或其他管理工具管理计划的更新?
可以使用以下 PowerShell cmdlet 管理计划的更新:
- Get-AzRedisCachePatchSchedule
- New-AzRedisCachePatchSchedule
- New-AzRedisCacheScheduleEntry
- Remove-AzRedisCachePatchSchedule
“计划更新”功能涵盖和管理的更新是否可能在“计划更新”时段之外发生?
是的。 通常不会在配置的“计划更新”时段口之外应用更新。 作为安全策略的一部分,可以在修补计划之外应用极少数的关键安全更新。