ASM 翻译系列第三十四弹:ASM磁盘组重要属性介绍

原作者:Bane Radulovic

译者: 邱大龙

审核: 魏兴华

DBGeeK社区联合出品

原文链接:http://asmsupportguy.blogspot.sg/2014/05/disk-group-attributes.html

ASM Disk Group Attributes

磁盘组的属性是ASM 11.1版本引入的,是磁盘组层面而非ASM实例层面的。磁盘组的属性有一些只能在创建磁盘组时指定,有一些只能在创建之后指定,还有一些可以在任何时候指定。

本篇内容是对本系列文章-【ASM Attributes Directory】的展开。

ACCESS_CONTROL.ENABLED

ACCESS_CONTROL.ENABLED属性指定了一个磁盘组的ASM File Access Control是否启用,参数的值可以设置为true或者false(默认)。

如果这个属性设置为true,ASM文件的访问权限就会受到控制。如果设置为false,任何用户都可以访问磁盘组上的任意文件。该属性只影响文件的访问,不影响其他操作。

这个属性可以用alter disk group语法来修改。

ACCESS_CONTROL.UMASK

ACCESS_CONTROL.UMASK属性与通常os层面的umask类似。用来设置ASM文件的属主,属组和其他用户的权限。这个特性对磁盘组中所有文件生效。

属性的值是3位数的组合,每一位可以是0,2,6数字中的一个。默认情况下为066.

某一位的值设置为0表示不排除任何权限;设置为2,表示排除掉写权限;设置为6表示把读写权限都排除。

在设置该属性之前,要先设置ACCESS_CONTROL.ENABLED为true。

这个属性只能使用alter diskgroup 语法设置。

AU_SIZE

AU_SIZE属性控制了磁盘组au的大小,只能在创建磁盘组时指定。值得一提的是每个磁盘组可以有不同的au_size。

CELL.SMART_SCAN_CAPABLE [Exadata]

在Exadata环境下,使用来自存储节点的磁盘创建的磁盘组可以设置CELL.SMART_SCAN_CAPABLE属性。对于磁盘组中的对象,这个属性可以开启smart scan功能。

COMPATIBLE.ASM

COMPATIBLE.ASM属性指定了可以使用磁盘组的ASM实例的最低软件版本。

这个属性也会影响ASM元数据结构的格式。

当使用create diskgroup语法,asmcmd mkdg命令和EM中的create disk group页面时,COMPATIBLE.ASM默认为10.1。在ASM版本11gR2中,当使用asmca创建磁盘组时,默认为11.2,在版本12.1中,默认为12.1.

COMPATIBLE.RDBMS

COMPATIBLE.RDBMS属性指定了可以使用磁盘组的db实例的最小COMPATIBLE参数值。

在修改该属性的值之后,要确保所有正在访问磁盘组的db实例COMPATIBLE参数大于等于这个值。

COMPATIBLE.ADVM

COMPATIBLE.ADVM属性指定了磁盘组是否可以包含ASM卷,其值要不小于11.2.

要设置该属性,COMPATIBLE.ASM必须在11.2(含)以上,环境中需要加载ADVM卷驱动。默认情况下,该属性的值为空。

CONTENT.CHECK [12c]

CONTENT.CHECK属性的作用是控制磁盘组在rebalance时,是否进行内容校验。该属性的值可以设置为true或者false。

内容校验包括用户数据的HARD(Hardware Assisted Resilient Data)校验,文件目录中文件类型和文件目录信息的校验,以及镜像内容的对比。

该属性设置为true以后,将启用所有rebalance操作的逻辑校验。内容校验也被称为磁盘清理特性。

CONTENT.TYPE [11.2.0.3, Exadata]

CONTENT.TYPE属性将磁盘组指定为几种类型:DATA, RECOVERY或者SYSTEM。它还决定了到最近的partner磁盘或者failgroup的距离。默认值是DATA,同时指定了距离为1;值为RECOVERY则指定了距离为3;值为SYSTEM指定了距离为5.

距离为1的意思是ASM认为所有的磁盘都具有partner关系。

距离为3的意思是每第三个磁盘具有partner关系。距离为5的意思是每第五个磁盘具有partner关系。

该属性可以在创建磁盘组时指定,也可以通过alter diskgroup语法指定。如果用alter diskgroup语法修改 ,新配置将在下一次显式地指定了rebalance之后生效。

该属性只在normal或者high冗余的磁盘组中可用。并且COMPATIBLE.ASM要设置为11.2.0.3及以上才能启用该属性。

DISK_REPAIR_TIME

DISK_REPAIR_TIME的值指定了ASM保持磁盘offline状态的时间,超过这个时间之后,将该盘drop。和fast mirror resync特性一样,COMPATIBLE.ASM属性要设置为11.1或者更高。 该属性只能使用alter diskgroup语法修改。

FAILGROUP_REPAIR_TIME [12c]

FAILGROUP_REPAIR_TIME属性指定了磁盘组中failgroup的修复时间。当ASM判定一整个failgroup发生故障时,这个参数就会启用。默认值为24小时。如果在alter diskgroup offline disk语句中加入drop after子句,指定的repair time会覆盖FAILGROUP_REPAIR_TIME。

这个属性只能通过alter fiskgroup设置,并且只对normal和high冗余的磁盘组可用。

IDP.BOUNDARY and IDP.TYPE [Exadata]

这两个属性用来配置Exadata存储,和Intelligent Data Placement 特性相关。

PHYS_META_REPLICATED [12c]

PHYS_META_REPLICATED属性用来跟踪磁盘组元数据的复制状态。当磁盘组的ASM兼容性设置为12.1或者更高时,每个磁盘的物理元数据会做复制。这些元数据包括此盘头,FST表和AT表。

元数据的复制是在线异步做的。如果磁盘组中每个磁盘的元数据都做了复制,那么该属性的值就会被ASM设置为true.

该属性只有在COMPATIBLE.ASM设置为12.1或者更高的磁盘组中才可以定义。用户无法设置或者修改该属性的值,只是用来提供元数据复制状态的信息,要么为true,要么为false.

SECTOR_SIZE

SECTOR_SIZE属性指定了磁盘组中磁盘的扇区大小,只能在创建磁盘组时指定。

SECTOR_SIZE可以设置为512,4096或者4k(如果磁盘支持这些值)。默认值依平台而定。如果要修改该属性的值,需要把COMPATIBLE.ASM和COMPATIBLE.RDBMS设置为11.2或者更高。

注意:ACFS不支持扇区为4KB的设备。

STORAGE.TYPE

STORAGE.TYPE属性指定了磁盘组中磁盘的类型。属性的值可以是EXADATA,PILLAR,ZFSAS和OTHER。如果设置为 EXADATA|PILLAR|ZFSAS,那么磁盘组中所有的磁盘类型必须和设置的吻合。如果设置为OTHER,那么磁盘组中可以加入任意类型的磁盘。

如果属性值设置为PILLAR或者ZFSAS,那么对于磁盘组中的对象可以启用HCC(Hybrid Columnar Compression)功能。Exadata本身已经支持HCC。

注意:ZFS类型的存储必须是通过dNFS(Direct NFS)提供;Pillar Axion类型的存储必须是通过SCSI或者光纤通道提供。

要设置STORAGE.TYPE属性,COMPATIBLE.ASM和COMPATIBLE.RDBMS属性都要设置为11.2.0.3或者更高。

如果要支持ZFS存储,COMPATIBLE.ASM和COMPATIBLE.RDBMS属性要设置为11.2.0.4或者更高。

STORAGE.TYPE属性可以在创建磁盘组时设置,也可以通过alter diskgroup语法修改。当有客户端连接到磁盘组时,属性是无法修改的。比如说,当磁盘组上有ADVM卷启用时,无法修改该磁盘组的STORAGE.TYPE属性。

在修改该属性之前,无法在V$ASM_ATTRIBUTE视图或者通过ASMCMD lsattr命令看到它。

THIN_PROVISIONED [12c]

THIN_PROVISIONED属性值用来控制在磁盘组reblance结束后,是否丢弃未使用的存储空间。

支持thin provisioning的存储产品可以重用丢弃的存储空间,这样可以有效提升物理存储的利用率。

APPLIANCE.MODE [11.2.0.4, Exadata]

APPLIANCE.MODE属性可以在磁盘组drop一块或多块ASM磁盘时,缩短磁盘rebalance的完成时间。这也就意味着在有(磁盘)故障发生后,数据冗余可以更快的恢复。在Exadata中创建磁盘组可以自动打开该属性。已经创建的磁盘组必须使用ALTER DISKGROUP语法来设置该属性。这个特性也被称为fixed partnering。

只有满足以下条件的磁盘组才能启用该属性:

  • COMPATIBLE.ASM设置为11.2.0.4或者更高
  • CELL.SMART_SCAN_CAPABLE属性设置为true
  • 磁盘组中的磁盘是同一类型,比如都是普通硬盘或者都是闪存盘
  • 磁盘组中的磁盘大小相同
  • 磁盘组中所有failgroup有相同的磁盘数量
  • 磁盘组中没有磁盘是offline状态
  • 最低软件版本要求: Oracle Exadata Storage Server Software release 11.2.3.3; Oracle Database 11g Release 2 (11.2) release 11.2.0.4 注意:在Oracle 12.1.0.1中该特性不可用。

Hidden disk group attributes

不是所有的磁盘组属性都在官方文档中有记录,下面列举一些比较有意思的属性。

_REBALANCE_COMPACT

_REBALANCE_COMPACT属性和rebalance过程中的compact阶段有关。属性值可以为true(默认)或者false。设置为false则可以禁止磁盘组rebalance过程中做compact。

_EXTENT_COUNTS

_EXTENT_COUNTS属性和可变区大小特性有关,它决定了区大小在何时会增加。

属性值设置为“20000 20000 214748367”,意指前20000个区的大小为1个AU,接下来20000个区大小由_EXTENT_SIZES属性的第二个值决定,剩下的区大小由_EXTENT_SIZES属性的第三个值决定。

_EXTENT_SIZES

_EXTENT_SIZES属性也和可变区大小特性有关,指定了区大小的增幅 -- 以AU为单位。

在ASM版本11.1,该属性值为1 8 64,在11.2及更高版本中,属性值为1 4 16。

V$ASM_ATTRIBUTE view and ASMCMD lsattr command

磁盘组的属性可以通过V$ASM_ATTRIBUTE视图或者ASMCMD lsattr命令查看。

下面是查看磁盘组PLAY的属性的一个方法:

$ asmcmd lsattr -G PLAY –l
Posted by Bane Radulovic
Name Value
access_control.enabled FALSE
access_control.umask 066
au_size 4194304
cell.smart_scan_capable FALSE
compatible.asm 11.2.0.0.0
compatible.rdbms 11.2.0.0.0
disk_repair_time 3.6h
sector_size 512
$

可以通过SQL的ALTER DISKGROUP SET ATTRIBUTE语法,ASMCMD setattr命令和ASMCA来修改磁盘组属性值。下面是使用ASMCMD setattr修改PLAY磁盘组的DISK_REPAIR_TIME属性值的例子:

$ asmcmd setattr -G PLAY disk_repair_time '4.5 H'
Check the new value:
$ asmcmd lsattr -G PLAY -l disk_repair_time
Name Value
disk_repair_time 4.5 H
$

Conclusion

ASM 11.1推出的磁盘组属性,可以用来优化磁盘组的使用。有些属性值是专门针对Exadata,还有一些只在特定版本可用。(前文都有标注)

大部分属性在官方文档中都有记录,并且可以通过V$ASM_ATTRIBUTE视图查看。有一些没有官方文档记录的属性前面也有所介绍,这些属性值除非有Orcle Support,否则不要修改。

原文发布于微信公众号 - 沃趣科技(woqutech)

原文发表时间:2017-02-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AILearning

Apache Zeppelin 中 JDBC通用 解释器

概述 JDBC解释器允许您无缝地创建到任何数据源的JDBC连接。 在运行每个语句后,将立即应用插入,更新和升级。 到目前为止,已经通过以下测试: ...

3207
来自专栏向治洪

React Native移植原生Android

(一)前言 之前已经写过了有关React Native移植原生Android项目的文章,不过因为RN版本更新的原因吧,跟着以前的文章可能会出现一些问题,对于初学...

1957
来自专栏

后端开源软件集合

缓存系统:memcached(group cache)、redis、mongodb、Couchbase(CouchDB、Membase、CouchOne) ht...

2499
来自专栏糊一笑

react脚手架改造(react/react-router/redux/eslint/karam/immutable/es6/webpack/Redux DevTools)

公司突然组织需要重新搭建一个基于node的论坛系统,前端采用react,上网找了一些脚手架,或多或少不能满足自己的需求,最终在基于YeoMan的react脚手架...

3665
来自专栏乐沙弥的世界

cannot set user id: Resource temporarily unavailable

    前阵子,Infra报告无法透过putty以及SecureCRT连接到数据库服务器,提示的错误为Resource temporarily unavaila...

800
来自专栏依乐祝

Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)

上一篇文章中,给大家讲解了如何通过 Asp.Net Core Web Api实现图片上传的接口,具体的可以[点这里查看][https://www.cnblogs...

1241
来自专栏Linux 杂货铺

使用Apache Guacamole连接虚拟云桌面

Apache Guacamole是一款HTML5应用程序,可通过RDP,VNC和其他协议访问远程桌面。您可以创建一个虚拟云桌面,用户通过Web浏览器即可访问。本...

3.5K4
来自专栏开心的学习之路

Fedora27搭建GPU版TensorFlow

主机:华硕(ASUS)G11飞行堡垒 显卡:GeForce 1070 原操作系统为win10,准备安装Fedora 27,从零开始搭建GPU版TensorF...

3487
来自专栏自然语言处理

Anaconda+Sublime搭建机器学习开发环境

1 安装Anaconda集成环境,Anaconda下载,安装下一步一路安装结束。(无需环境变量配置),配置完成后,查看是否成功。

982
来自专栏数据之美

使用 django-blog-zinnia 搭建个人博客

django-blog-zinnia 虽然小巧,但是具备了个人博客应用的全部基础功能,且具有很高的拓展性,并且开箱即用。以下是官方列出的一些特性: 评论 站...

3179

扫码关注云+社区

领取腾讯云代金券