第二篇|ASM基础概念——磁盘组、磁盘和文件

Oracle ASM使用磁盘组来存放数据库的相关文件。每一个ASM的磁盘组由一些ASM磁盘组成,每一个ASM磁盘组本身是一个独立的存储单元,是自描述的,对于ASM磁盘组中数据库文件,ASM提供一个文件系统的接口,方便DBA做管理。

原作者 Bane Radulovic
译者 沃趣技术

Oracle ASM使用磁盘组来存放数据库的相关文件。每一个ASM的磁盘组由一些ASM磁盘组成,每一个ASM磁盘组本身是一个独立的存储单元,是自描述的,对于ASM磁盘组中数据库文件,ASM提供一个文件系统的接口,方便DBA做管理。存放在ASM磁盘组中的文件被均匀的分布在磁盘组中的所有磁盘上,通过这种方式,每一块磁盘都可以提供一致的性能,同时ASM的性能可以比得上裸设备的性能。【摘录自11GR2版本的ASM官方文档】

ASM Disk Groups


一个ASM磁盘组是由一个或多个ASM磁盘组成的,每个ASM磁盘组也是自包含的,有它自己的ASM元数据(不在磁盘组之外存储任何元信息),这些元数据由ASM实例进行维护和管理。

一般情况下ASM只需要有非常少的磁盘组就可以了,在ASM 11.2版本之前,两个磁盘组一般就足够了,一个用来存放数据文件,另一个存放备份/归档日志文件,在11.2版本,你可能还想单独创建一个磁盘组存放ASM的spfile,OCR和voting盘,当然前提是你计划把这些文件存放到ASM中。

ASM Disks


ASM使用到的磁盘,需要提前由OS/存储管理工程师安装、配置好,这些盘可以是本地的物理设备(IDE, SATA, SCSI,等等),也可以是基于SAN网络输出的LUNs(iSCSI, FC, FCoE, 等等),也可以是通过NAS/NFS网络输出的盘。建议给ASM使用的盘都做分区,即使是计划把一整个盘提供给ASM使用,也建议做成一个单一的分区。

在Exadata环境下,ASM会使用通过LIBCELL接口创建的grid disk,这些盘来自于Exadata的存储节点。

ASM磁盘组可以有最多10000个磁盘,每一个ASM磁盘最大可以有2TB,由于BUG 6453944的存在,往磁盘组中添加大于2TB大小的磁盘有可能会成功,这个BUG在10.2.0.4、11.1.0.7、11.2版本被修复,更多的内容可以参考MOS Doc ID 736891.1 。

译者注:12C的ASM版本在磁盘组的各种限制上进一步得到了释放,具体请参照本书的【ASM 12C新特性】篇译者注:12C的ASM版本在磁盘组的各种限制上进一步得到了释放,具体请参照本书的【ASM 12C新特性】篇

ASM会在初始化参数ASM_DISKSTRING设定的路径下寻找ASM的磁盘,所有平台下这个初始化参数都有默认值,因此这个参数并不是必须设置的,在一个集群环境中,ASM磁盘在不同的节点可以有不同的OS名称,实际上ASM并不关心OS里磁盘的名称,所有ASM需要的信息都会被当做元数据存放ASM磁盘组中。

ASM Files


任何一个ASM文件只能存放在一个ASM磁盘组中,但是,一个磁盘组可以包含多个数据库的文件,一个数据库里的相关文件也可以存放在多个磁盘组中。

ASM磁盘组可以存储所有类型的数据库文件-数据文件、控制文件、REDO日志、备份集、数据泵文件等等,但是二进制文件和文本文件不能被直接存储。此外ASM也会存储它自身的元数据——以文件的形式到磁盘组中,元数据文件有它自己的编号机制,与数据文件的编号是独立的,ASM 256以下的编号都是为ASM元数据文件预留的。

ACFS集群文件系统在11.2版本被引入,它进一步扩展了ASM能够支持的文件类型,支持数据库和应用程序的二进制文件、文本文件、日志文件,trace文件,几乎任何传统文件系统能够存放的文件。最为重要的,它是一个集群文件系统。

发表评论

电子邮件地址不会被公开。 必填项已用*标注