Oracle-ASM日志提示空间不足问题

问题:

        ASM实例的后台日志出现大量的rebalance空间不够提示WARNING: No free space to complete rebalance after disk failure: diskgroup XXXX,导致ASM日志增长很快。

问题分析:

        从报错的日志可以看到,提示rebalance空间不够的磁盘组为PDBXXX,检查当前的ASM磁盘使用情况,可以看到PDBXXX磁盘组的冗余模式为Normal,当前的可用空间Usable_file_GB小于0,为-3553GB。

        这里讲一下Usable_file_GB的含义,它表示ASM磁盘组的可用空间大大小,在External冗余模式下,Usable_file_GB的值等于Free_MB的大小,可以直接理解为ASM磁盘组的剩余空间,在Normal模式或是High模式,它表示减去维持故障冗余镜像保留空间之后的可用空间大小,在Normal冗余模式下,Usable_file_GB的计算公式为:

Usable_file_GB=(Free_MB - Req_mir_free_MB)/2

在high冗余模式下,Usable_file_GB的计算公式为:

Usable_file_GB=(Free_MB - Req_mir_free_MB)/3

Free_MB:ASM磁盘组的剩余空间

Req_mir_free_MB:ASM磁盘组在故障丢盘的情况下,为了维持冗余模式下的镜像数量所预留的空间,计算公式为:

Normal模式:

2个Failgroup:Req_mir_free_MB = 2 disk size

3个Failgroup:Req_mir_free_MB = 1 failgroup size 

4个Failgroup+:Req_mir_free_MB = 1 failgroup size 

High模式:

3个Failgroup: Req_mir_free_MB = 3 disk size

4个Failgroup:Req_mir_free_MB = 1 failgroup size + 3 disk size

5个Failgroup+:Req_mir_free_MB = 2 failgroup size

根据公式可以得知,在Req_mir_free_MB大于Free_MB的情况下,Usable_file_GB会出现负数,此时如果丢盘的磁盘空间大于Req_mir_free_MB,会出现没有足够空间rebalance的情况。

        关于WARNING:的提示信息我们在Oracle官方的Understanding ASM Capacity and Reservation of Free Space in Exadata (Doc ID 1551288.1)文档中找到了这样的说明,在GI 19.16版本之后, ASM日志的后台日志,如果磁盘组没有足够的空间rebalance会出现WARNING: No free space to complete rebalance after disk failure: diskgroup XXXXX的告警信息,这里磁盘组没有足够的空间应该就是指在ASM磁盘组Usable_file_GB小于0的情况下,但该文档没有说明告警信息触发的操作或是禁用该告警信息的方法。

问题解决:

        从上述分析来看,如果磁盘组Usable_file_GB小于0就会出现该告警信息,所以修复该告警信息的直接方式就是扩容ASM磁盘组,增加磁盘组Free_MB的大小,进而将Usable_file_GB的值调整到大于0,当前磁盘组为Normal模式,由于磁盘组里面的Failgroup数量大于2,因此Req_mir_free_MB大小的估算算法偏大,等于1个 failgroup size大小,并且后续我们发现其他19.16的集群,Usable_file_GB小于0的都出现该告警信息,总体扩容的磁盘容量较大,短期内无法进行,需要寻求其他方式进行规避。

        一方面,我们通过比对不同RAC环境的告警日志出现时间,发现它们出现的频率并不相同,推测是由某种操作触发,后面通过测试发现当执行对数据字典表v$asm_diskgroup的查询操作,就会触发后台日志显示rebalance空间不足的告警信息,怀疑有可能是监控平台的ASM磁盘组监控语句触发导致,可以通过减少语句的执行频率,从而减少告警信息的触发。

        另一方面,我们也通过安装最新版本的GI RU补丁,以测试新版本补丁是否有对该告警信息进行优化改进,在19.21 GI集群,测试发现该版本的ASM 磁盘组,在Usable_file_GB小于0的情况下,并未出现该告警信息,但在Oracle官方并未查到相关问题修复说明,后面通过Oracle SR进一步确认,该问题是由补丁35285795所修复,该补丁包含在 19.20及以上的RU,修复的Bug 35285795 - Issue Insufficient Space For Restoring Redundancy With Smart Rebalance (Doc ID 35285795.8)

        总的来说,解决方式有4种

        1 扩容ASM磁盘组,确保Usable_file_GB的值大于0

        2 通过减少v$asm_diskgroup的查询操作,减少告警触发的频率

        3 安装补丁35285795进行修复

        4 GI RU升级到19.20及以上的RU

        注:Oracle 官方最新在2024年3月4日也发布了关于该告警信息的文档说明"WARNING: No free space to complete rebalance after disk failure" Is Seen In ASM Alert Log When Diskgroup USABLE_FILE_MB Is Negative (Doc ID 3007349.1)

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值