请就以下错误提出建议:
群集角色“AG1_NAME”中类型“SQL Server 可用性组”的群集资源“AG1_NAME”失败
根据资源和角色的故障策略,集群服务可能会尝试在此节点上使资源联机或将组移动到集群的另一个节点,然后重新启动它。使用故障转移群集管理器或 Get-ClusterResource Windows PowerShell cmdlet 检查资源和组状态。
环境:
AG1:(主要 = SRV01\DEV1,次要 = SRV02\DEV1,SRV03\DEV1)
AG2:(主要 = SRV02\DEV2,次要 = SRV03\DEV2,SRV01\DEV2)
使用 SQL Server 2016 SP2 CU7(即 SQL Server 2016 SP2 CU4)更新 AG2 副本时发生错误。
更新顺序如下,更新向导时没有报错
- 在SRV01\DEV2 上将故障转移设置为手动
- 更新了 SRV01\DEV2 --注意到 WSFC 错误(如上所述)
- 在SRV01\DEV2 上将故障转移模式设置为自动
- 在SRV03\DEV2上将故障转移模式设置为手动
- 更新了 SRV03\DEV2
- 在SRV03\DEV2上将故障转移模式设置为自动
- 从SRV02\DEV2(主要)手动故障转移到SRV03\DEV2
- 更新了 SRV02\DEV2
- 从SRV03\DEV2手动故障回复到SRV02\DEV2(主要)
在更新 SQL Server 的第二个实例时是否正常,第一个实例在服务器涉及可用性组时被中断,或者我们应该在这种情况下遵循任何特定方法以避免任何错误。
幸运的是,当我立即(在错误之后)回顾 WSFC 管理器的角色页面时,特定的AG1和 WSFC 的所有资源都正常工作。还有 PowerShell Get-ClusterResource
。但我担心生产更新和未来的更新。任何建议都将是可观的。谢谢!
不,这不是预期的。但是,该错误表示它试图使资源联机并且至少失败了 3 次(默认情况下,除非您更改了此值)。这使我相信该实例在它是主实例时已被修补,当服务脱机以进行修补时,这当然会失败。如果它不是主要的,那么您需要查看 SQL Server 错误日志和集群日志以了解发生了什么。
再次感谢@SeanGallardy,我已尝试重现该问题,不幸的是它没有再次发生。仔细查看SQL错误日志和集群日志,发现漏掉了一行
The availability group is being asked to stop the lease renewal. This is an informational message only. No user action is required.
,好像不是因为补丁更新,不知道具体是什么原因,从MS博客发现的,可能是CPU利用率高,内存压力大或特定时刻的大量 IO 请求。在我的情况下,增加资源租用时间将是解决方案,因为它是 DEV 环境。