#ASM 翻译系列第三十三弹:ASM 高级知识 REQUIRED_MIRROR_FREE_MB
2017-02-24 14:47
661 查看
原文: REQUIRED_MIRROR_FREE_MB
作者: Bane Radulovic
译者:陈亚军,沃趣科技数据库技术工程师,主要参与公司产品实施、测试、维护以及优化。
审校:魏兴华
责编:仲培艺
https://prutser.wordpress.com/2013/01/03/demystifying-asm-required_mirror_free_mb-and-usable_file_mb/
和大部分的Exadata安装一样,这里有3个磁盘组。
出于列举这个例子的目的,我们将会看下
注意最大的failgroup的总大小为257280MB。
最后,我们发现
ASM中使用如下公式计算
得到的结果为:272070MB
这里是一个来自安装了12.1.0.2.0 ASM的Exadata系统的例子。
同样,我把
最大的failgroup的总大小为298240MB,但是这一次
正如我们看到的,这是磁盘组中最大的磁盘的大小:
结果为:375970MB
在12cR1 ASM版本的Exadata中,
译者注:真实的环境中,整个存储节点整体坏掉的可能性比较小,一般都是瞬时的故障(如断电),因此整个存储出问题后,一般能及时修复,而磁盘一般故障后会直接坏掉,大多数情况不可修复,磁盘故障的概率要比整体存储节点故障的概率高很多。
作者: Bane Radulovic
译者:陈亚军,沃趣科技数据库技术工程师,主要参与公司产品实施、测试、维护以及优化。
审校:魏兴华
责编:仲培艺
REQUIRED_MIRROR_FREE_MB和
USABLE_FILE_MB是
V$ASM_DISKGROUP[_STAT]视图中非常有趣的两列。Oracle Support部门收到的很多问题是关于这两列的意义以及它们的值是怎么计算的。我本打算写些文章介绍一下,但是我意识到我不可能比Harald van Breederode做的更出色。因此我征得了他的同意来直接参考他的文章,所以还是请欣赏他的大作吧。
https://prutser.wordpress.com/2013/01/03/demystifying-asm-required_mirror_free_mb-and-usable_file_mb/
How much space can I use
既然已经解释了REQUIRED_MIRROR_FREE_MB和
USABLE_FILE_MB,我想补充说明的是ASM不会阻止你使用所有可用空间(NORMAL冗余模式下总空间的1/2或者HIGH冗余模式下总空间的1/3)。但是一旦你使用完了所有磁盘组空间,将没有剩余空间用来扩展或者新增任何其它文件,在这种情况下,如果有磁盘出现故障,同样不会有剩余空间用来让数据重新满足需要的冗余度——直到故障的磁盘被替换并且Rebalance完成。
Exadata with ASM version 11gR2
在安装了11.2 ASM版本的Exadata中,REQUIRED_MIRROR_FREE_MB等于磁盘组中最大的failgroup的大小(在真实的Exadata环境中,所有的failgroup都默认大小相同)。为了验证这个说法,让我们来看一个安装了11.2 ASM的Exadata的情况。
和大部分的Exadata安装一样,这里有3个磁盘组。
[grid@exadb01 ~]$ sqlplus / as sysasm SQL*Plus: Release 11.2.0.4.0 Production on [date] SQL> select NAME, GROUP_NUMBER from v$asm_diskgroup_stat; NAME GROUP_NUMBER --------- ------------ DATA 1 DBFS_DG 2 RECO 3 SQL>
出于列举这个例子的目的,我们将会看下
DBFS_DG这个磁盘组。通常情况下
DBFS_DG的每个failgroup有10个磁盘。为了验证
REQUIRED_MIRROR_FREE_MB就是最大的failgroup的大小,这里我drop掉了部分磁盘。
SQL> select FAILGROUP, count(NAME) "Disks", sum(TOTAL_MB) "MB" from v$asm_disk_stat where GROUP_NUMBER=2 group by FAILGROUP order by 3; FAILGROUP Disks MB ---------- ---------- ---------- EXACELL04 7 180096 EXACELL01 8 205824 EXACELL02 9 231552 EXACELL03 10 257280 SQL>
注意最大的failgroup的总大小为257280MB。
最后,我们发现
REQUIRED_MIRROR_FREE_MB就是最大的failgroup的大小:
SQL> select NAME, TOTAL_MB, FREE_MB, REQUIRED_MIRROR_FREE_MB, USABLE_FILE_MB from v$asm_diskgroup_stat where GROUP_NUMBER=2; NAME TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB ---------- ---------- ---------- ----------------------- -------------- DBFS_DG 874752 801420 257280 272070 SQL>
ASM中使用如下公式计算
USABLE_FILE_MB:
USABLE_FILE_MB = (FREE_MB - REQUIRED_MIRROR_FREE_MB) / 2
得到的结果为:272070MB
Exadata with ASM version 12cR1
在安装12cR1版本ASM的Exadata中,REQUIRED_MIRROR_FREE_MB等于磁盘组中最大的磁盘的大小。
这里是一个来自安装了12.1.0.2.0 ASM的Exadata系统的例子。
[grid@exadb03 ~]$ sqlplus / as sysasm SQL*Plus: Release 12.1.0.2.0 Production on [date] SQL> select NAME, GROUP_NUMBER from v$asm_diskgroup_stat; NAME GROUP_NUMBER -------- ------------ DATA 1 DBFS_DG 2 RECO 3 SQL>
同样,我把
DBFS_DG磁盘组中的failgroups设置成不同的大小。
SQL> select FAILGROUP, count(NAME) "Disks", sum(TOTAL_MB) "MB" from v$asm_disk_stat where GROUP_NUMBER=2 group by FAILGROUP order by 3; FAILGROUP Disks MB ---------- ---------- ---------- EXACELL05 8 238592 EXACELL07 9 268416 EXACELL06 10 298240 SQL>
最大的failgroup的总大小为298240MB,但是这一次
REQUIRED_MIRROR_FREE_MB的大小为29824MB:
SQL> select NAME, TOTAL_MB, FREE_MB, REQUIRED_MIRROR_FREE_MB, USABLE_FILE_MB from v$asm_diskgroup_stat where GROUP_NUMBER=2; 2 3 NAME TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB ---------- ---------- ---------- ----------------------- -------------- DBFS_DG 805248 781764 29824 375970 SQL>
正如我们看到的,这是磁盘组中最大的磁盘的大小:
SQL> select max(TOTAL_MB) from v$asm_disk_stat where GROUP_NUMBER=2; MAX(TOTAL_MB) ------------- 29824 SQL>
USABLE_FILE_MB的大小通过同样的公式计算获得:
USABLE_FILE_MB = (FREE_MB - REQUIRED_MIRROR_FREE_MB) / 2
结果为:375970MB
Conclusion
REQUIRED_MIRROR_FREE_MB和
USABLE_FILE_MB是为了帮助DBA和存储管理员来规划磁盘组的容量和冗余度而设计的。在ASM中,它们的值只作为参考,并不具有强制性。
在12cR1 ASM版本的Exadata中,
REQUIRED_MIRROR_FREE_MB等于磁盘组中最大磁盘的大小,设计就是这样的,反映了该领域的经验:磁盘才是发生故障的组件,而不是整个存储节点。
译者注:真实的环境中,整个存储节点整体坏掉的可能性比较小,一般都是瞬时的故障(如断电),因此整个存储出问题后,一般能及时修复,而磁盘一般故障后会直接坏掉,大多数情况不可修复,磁盘故障的概率要比整体存储节点故障的概率高很多。
相关文章推荐
- ASM 翻译系列第四十弹:理解ASM中 REQUIRED_MIRROR_FREE_MB和USABLE_FILE_MB的含义
- #ASM 翻译系列第二十五弹:ASM 高级知识 When will my rebalance complete
- #ASM 翻译系列第二十六弹:ASM 高级知识 Where is my data
- Demystifying ASM REQUIRED_MIRROR_FREE_MB and USABLE_FILE_MB
- ASM 翻译系列第四弹:高级知识kfed元数据编辑器
- ASM 翻译系列第十一弹:高级知识 Offline or drop?
- ASM 翻译系列第五弹:高级知识 ASM 元数据概述
- ASM 翻译系列第十一弹:高级知识 Offline or drop?
- #ASM 翻译系列第三十弹:高级知识 Physical metadata replication
- ASM 翻译系列第七弹:高级知识 How many partners?
- Oracle asm中 Usable_FILE_MB 和 REQUIRED_MIRROR_FREE_MB的含义
- ASM 翻译系列第六弹:高级知识 如何映射ASMLIB管理的盘到它对应的设备名
- #ASM 翻译系列第二十九弹:ASM INTERNAL Free Space Table
- #ASM 翻译系列第三十二弹:ASM INTERNAL Find block in ASM
- #ASM 翻译系列第二十一弹:ASM Attributes Directory
- ASM 翻译系列第一弹:基础知识 ASM AU,Extents,Mirroring 和 Failgroups
- #ASM 翻译系列第十七弹:ASM Internal ASM Disk Directory
- #ASM 翻译系列第十九弹:ASM Internal ASM Continuing Operations Directory
- ASM翻译系列第三弹:ASM disk的基础知识
- #ASM 翻译系列第二十三弹:ASM Internal ASM files number 12 and 254