暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

为什么我的USABLE_FILE_MB为负数

原创 董宏伟 云和恩墨 2023-07-06
448

为什么我的USABLE_FILE_MB为负数,理解了其内部计算方法,就可以自己计算出此值。

USABLE_FILE_MB

USABLE_FILE_MB表示磁盘故障后可用于新文件恢复冗余的可用空间量(经过镜像调整rebalance后)。表示可以安全使用的空间。USABLE_FILE_MB的计算方法是在磁盘组的总空闲空间中减去REQUIRED_MIRROR_FREE_MB,然后根据镜像调整该值。

计算方法如下

USABLE_FILE_MB = (FREE_MB - REQUIRED_MIRROR_FREE_MB)/2 for normal redundancy
or
USABLE_FILE_MB =(FREE_MB - REQUIRED_MIRROR_FREE_MB)/3 for high redundancy

例如:

$ asmcmd lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512   4096  1048576  12582912  1688789          2097152         -204181              0             N  DATADG/
复制

磁盘组为normal冗余,带入公式,(1688789-2097152)/2=-204181.5

REQUIRED_MIRROR_FREE_MB

REQUIRED_MIRROR_FREE_MB表示在磁盘组可以容忍的最坏故障发生后(故障组损坏),在不增加额外存储的情况下恢复完全冗余所需的磁盘组可用空间量。
这个要求确保有足够的故障组来恢复冗余。

此列中显示的空间量考虑了镜像的效果。

计算方法如下

1、normal冗余盘组存在两个以上故障组
该值为最大故障组中所有硬盘的裸空间之和。最大的故障组是总原始容量最大的组。
例如,如果每个磁盘都在自己的故障组中,那么该值将是最大容量磁盘的大小。

2、故障组多于3个的high冗余磁盘组
该值为两个最大故障组中所有磁盘的裸空间总和。

总结

由于FREE_MB、REQUIRED_MIRROR_FREE_MB和USABLE_FILE_MB之间的关系,USABLE_FILE_MB可以变为负值。虽然这并不一定是一个危急的情况,
但意味着:下一次故障可能导致文件冗余减少。
如果USABLE_FILE_MB变为负数,强烈建议尽快向磁盘组添加更多空间。如果此时某个磁盘发生故障,后续的再平衡过程将在完全恢复所有文件的冗余之前耗尽空间。

附:磁盘组使用率检查sql(考虑冗余度)

set lines 200
col "Total MB" for a20
col "Free MB" for a20
col "Usable Free MB" for a30
col ReqMirrorFree for a25
SELECT  dg.name "Disk Group Name",
      to_char(NVL(dg.total_mb, 0)) "Total MB",
      to_char(NVL(dg.free_mb, 0)) "Free MB",
      type "Type",
      to_char(NVL(dg.usable_file_mb, 0)) "Usable Free MB",
      to_char(NVL(dg.required_mirror_free_mb, 0)) "ReqMirrorFree", 
	  decode(type, 'EXTERN', 1, 'NORMAL', 2, 'HIGH', 3, 1) redundancy_factor, 
	  100 - (dg.free_mb/dg.total_mb*100) "percentUsed" , 
	  (100 - (dg.usable_file_mb/((dg.total_mb - dg.required_mirror_free_mb)/ decode(type, 'EXTERN', 1, 'NORMAL', 2, 'HIGH', 3, 1)))*100) "safe_percent_used"
FROM V$ASM_DISKGROUP_STAT dg
WHERE state = 'MOUNTED';

Disk Group Name 	       Total MB 	    Free MB		 Type	Usable Free MB		       ReqMirrorFree		 REDUNDANCY_FACTOR percentUsed safe_percent_used
------------------------------ -------------------- -------------------- ------ ------------------------------ ------------------------- ----------------- ----------- -----------------
DATADG			       12582912 	    1688789		 NORMAL -204181 		       2097152					 2  86.5787109	      103.894444
复制

订阅号:DongDB手记
墨天轮:https://www.modb.pro/u/231198

image.png

最后修改时间:2023-07-06 22:58:19
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论