暂无图片
ASM重新发起rebalance后,操作还是等待,arb0进程启动后停止?
我来答
分享
在路上
2025-04-11
ASM重新发起rebalance后,操作还是等待,arb0进程启动后停止?

之前由于catalog磁盘组空间不足导致rebalance error,后面迁移数据文件到另外磁盘组后,重新发起rebalance,发现还是wait,日志有arb0启动后停止的操作。下面是具体的操作步骤和相关日志,麻烦大佬给分析下?

开始前的状态

ALTER DISKGROUP CATALOG REBALANCE POWER 0; 暂停平衡

ALTER DISKGROUP CATALOG REBALANCE power 8; 重新发起后没有running,之前同样的操作就会running,估计执行次数多了?

之前正常的情况应该这样,不是wait

asm alert日志 arb0进程后面停止了

asm trace日志,有人说是pst槽位满了,但是这个没有相关报错

我来答
添加附件
收藏
分享
问题补充
19条回答
默认
最新
e

可以进ASM实例查询一下全局重平衡视图,可能你的重平衡操作在asm实例二上进行。

select * from gv$asm_operation;

暂无图片 评论
暂无图片 有用 0
e


看之前正常情况下是还在这个阶段,但是时间很短了,还可以看一下是不是有盘的free小于300M,这个也会影响

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-04-16
重新reblance后,立马去lsop查看进度,可以看到但是很快结束了,然后状态还是wait。我不明白到底等待什么?之前有次是因为磁盘空间不足,lsop有err,迁移空间后重新reblance也看到执行操作。后面又提示空间不足,又迁移,然后执行平衡就wait了。。。
e

检查磁盘组中FREE_MB最小的信息
set linesize 300 pages 999
col path for a65
col disk_group_name for a15
col FAILGROUP for a25
col disk_name for a28
select a.group_number ,b.name as disk_group_name ,HEADER_STATUS,a.MODE_STATUS,a.STATE ,a.NAME as disk_name ,a.FAILGROUP ,a.TOTAL_MB,a.FREE_MB,a.path from v$asm_disk a,v$asm_diskgroup b
where a.group_number=b.group_number
and a.FREE_MB < 1000000
order by 1,2,7,6;

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-04-16
catalog磁盘组是hign冗余,votedisk用了5个磁盘,其中两个是quorum,磁盘大小是128m,见下图
在路上

我这个catalog磁盘组是hign冗余,votedisk用了5个磁盘,其中两个是quorum,磁盘大小是128m。目前_DROPPED_0009_CATALOG有这个一直去不掉,这个当时应该一个盘offline了,后面加上后,因为rebalance一直等待,所以这条记录一直没有被删除!


暂无图片 评论
暂无图片 有用 0
在路上

我刚才暂停reblance后,重新发起平衡,可以看到有操作在跑,但是过会执行完,状态是wait,不是应该跑完查询v$asm_operationn视图是没有数据才正常吗?

暂无图片 评论
暂无图片 有用 0
e


你把这个盘加进去,asm会自动重平衡的,你有操作这一步吗

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-04-16
这个盘查询历史日志已经加进去了,你看你标记的上面第18行就是这个磁盘,catalog_cd_09_za01celadm02。我刚才本地做个实验,不管是手动offline磁盘,还是模拟故障将磁盘直接物理删除。超过repair time,asm实例会将这个盘标记为_dropped这个状态,最后这个盘会被drop掉,查询不到这条记录!!!(这个_dropped只是中间过渡状态,reblance结束后很快就没了) 但是,这个catalog磁盘组当时应该也有另外一个报错,空间不足(如果没有这个错估计就没有_drop这个记录了),导致reblance一直报错和等待,这是历史遗留问题,都很多年了。所以我迁移文件腾出空间让reblance继续,执行完这个_drop应该也就消失了,现在的问题就是卡在这里了,它无法执行下去了,v$asm_operation一直wait!!死循环了。。
e

alter diskgroup xxx add failgroup xxx disk 'disk_path' rebalance power 12;

暂无图片 评论
暂无图片 有用 0
e

我看数据基本上都打散啦

暂无图片 评论
暂无图片 有用 0
在路上

这是刚才本地环境做的实验,删除一个磁盘,中间会被标记为drop,reblance结束这个记录就没了

下图是我再次执行添加磁盘的时候提示已经存在

暂无图片 评论
暂无图片 有用 0
e

1.先试一下froce加一下
2.如果force加不进去的话就dd一下才能加到磁盘组里面

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-04-16
大佬 dd if=/dev/zero of=/dev/mapper/sdg_fra1 bs=8k count=256 您看这个命令行吗?这个是oracle 一体机,路径链接到cell存储,我是在存储里操作这个吗? 另外咨询下:现在如果dd会丢失数据吗?因为这个reblance一直没有结束,应该不会丢失数据吧,这个是high冗余,截图看数据分散了。
e

dd一下drop的磁盘

暂无图片 评论
暂无图片 有用 0
e

froce加不进去吗

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-04-16
是的,还是提示已存在,见下图。按说不是报错ORA-15033: disk '/dev/mapper/sdg_fra1' belongs to diskgroup "ARCH"(状态部位candidate)这种的才要dd一下吗? 我能把这个磁盘删除重新加入吗?
在路上

暂无图片 评论
暂无图片 有用 0
e
2025-04-16
因为盘被drop掉之后还留有盘头信息,而不会被asm认为一块新盘,kfed也能读到盘头信息,确认属于哪个磁盘组,可以加上force参数强制添加或者dd磁盘。你这个有点不太一样,我看下这个ORA-15029的报错
e

计算节点执行一下:cellcli -e list griddisk attributes name,asmmodestatus


我看mos上类似的报错是先把那个磁盘drop,然后重新加

暂无图片 评论
暂无图片 有用 0
在路上

cell节点2上

暂无图片 评论
暂无图片 有用 0
e

看着都是正常的

暂无图片 评论
暂无图片 有用 0
e

现在重平衡状态咋样啊

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-04-16
还是那样,operation下还是几条数据,状态wait,lsdg看reblance标记Y说明还在平衡。磁盘组可用空间之前移动几个数据文件,空间是没问题的。
e

看看其他人有没有什么方法

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-04-16
行呢,感谢大哥耐心指教,非常感谢!后续我也在测试下模拟出来这个情况看看。有结果也给你说@你
在路上
题主
2025-08-08
已经解决了,详细方法可以参考这个,我发的文档https://www.modb.pro/doc/146462
jieguo

现在咋样了呢?

暂无图片 评论
暂无图片 有用 0
在路上
题主
2025-08-08
已经解决了,详细方法可以参考这个,我发的文档https://www.modb.pro/doc/146462
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏