技术开发 频道

管理Oracle RAC中的存储

    【技术开发  技术文章

    管理Oracle RAC中的存储(1)

    1、什么是自动存储管理

    自动存储管理(automatic storage Management ASM)是Oracle 10g的新特性。它对文件系统和逻辑卷标管理(logical volume Manager LVM)提供了纵向的管理,专门为Oracle Database文件建立。ASM可以为single SMP提供管理,也可为cluster中的多节点提供Oracle RAC支持。

    ASM自动的将I/O分配到所有的可用资源,从而优化性能,免除了需要手工调节I/O的需要。ASM帮助DBA管理动态Database environment,可以实现在不关闭Database的情况下增大Database的size调节存储分配。

    ASM可以维护冗余的data副本,从而提高可用性,可以被建立在卖方提供的存储机器之上。data 管理是通过选择data对可靠性和性能特点的类型来进行的,而不是对每个文件进行与人的交互选择实现的。

    1)它的特点与好处

    ASM将文件分成pieces,并将其分配到不同的磁盘上。ASM通过一个索引技术来跟踪每个piece的位置。传统的striping技术使用数学函数进行stripe的划分,从而实现逻辑卷标。

    当改变存储能力时,ASM无需重新restripe所有数据,但会成比例的将一定的存储data添加或是移出,从而均匀的分配文件,维持磁盘I/O的平衡。这些是可以在Database运行期间进行的。

    可以调节平衡操作的速度,加快它的速度或是降低对I/O子系统的影响。

    ASM包括了镜像保护,不需要购买第三方的逻辑卷标管理。ASM特有的优点是其镜像是在文件的基础之上的。而不是以卷标为基础的。因此,相同的磁盘组可以通过镜像含有文件的保护或是根本不保护。

    ASM支持data files、log files、control files、archive logs、RMAN的backup set和其他Oracle Database文件类型。ASM支持RAC,从而可以取代cluster的逻辑卷标管理器或是cluster file system(CFS)。

    ASM是与Database绑定在一起的,没有单独作为用户安装的选项。它在企业版和标准版中都可获得。

    2)ASM的新概念

    ASM并没有阻碍已经存在的数据库功能。新的文件可以被创建作为ASM文件,同时已经存在的由旧的方法管理的文件可以被迁移到ASM中。

    图中描述了Oracle Database中各种存储部件的关系。图的左边和中部显示的是以前发布的版本中的存储关系,右边显示了ASM引入的新概念,并且这些新概念只是针对文件的存储。Database files可被作为ASM文件存储。

    在ASM中的存储层次上,顶层是ASM 磁盘组,,每个ASM file都只能包含在一个disk group中。然而,一个disk group可能包含的files是属于几个Databases的,并且一个Database可以使用多个disk groups存储data。如图所示,一个disk group是有多个ASM disks组成的,每个ASM disk只能属于一个disk group。一个ASM files总是被分配到同一个disk group的所有ASM disks中。ASM disks被分配成每1MB为一个分配单元(AU)。一个AU是ASM分配的最小的连续逻辑空间。ASM不允许物理 blocks 被分开存储在不同的AUs中。

    3)ASM的一般结构

    为了使用ASM,必须在打开Database Instance前先打开一个特殊的叫做ASM的Instance。ASM Instance并不加载Databases,但它对ASM 文件进行有效的元数据管理,从而使普通的Database Instance对其进行访问。ASM Instance和Database Instance需要访问的共同的disks的集合被称作disk groups。Database Instances直接访问ASM files的内容,它与ASM Instance交互只是得到关于这些files的布局信息。

    一个ASM信息包含两类新的后台进程。一类用于协调disk groups的再平衡,被称作RBAL。另一类进程用于执行AU的移动,从而获得真正的再平衡。在同一时刻,可以有多个此类进程,被称作ARB0、ARB1等。一个ASM Instance也有很多与Database Instance相同的进程,如SMON、PMON、LGWR等。

    每个使用ASM的Database Instance又增加了两类后台进程,分别是ASMB和RBAL。RBAL主要是用于全局的打开disk groups上的disks。在Database Instance startup时,ASMB作为一个前台进程,与ASM Instance连接。所有的Database和ASM Instance交互都是通过这个桥梁完成的。这包含物理文件的变更,如data file的创建、删除。并且通过此链接,定期交换更新统计信息,从而确保两Instance的可用性。

    group Services被用于注册那些Database Instance需要的用于找到ASM Instance的连接。当一个ASM Instance加载一个disk group,它会向group Services注册相应的disk group和一个连接字符串。Database Instance知道disk group的名字,即可由此查到ASM Instance正确的连接信息。

    像RAC一样,ASM Instances自身可以通过使用存在的Global cache Services(GCS)被clustered。在cluster中,每个node会有一个ASM Instance。正如现存的RAC配置,ASM需要OS使得disks在所有的ASM Instances上是全局可见的,不论节点。如果在一个节点上几个Database的不同Database Instance,则它们可以共享同一个ASM Instance。如果一个node上的ASN Instance失败了,所有与其连接的Database Instance也都将失败。与RAC一样,在其他节点上的ASM和Database Instance恢复那个失败的节点,并继续运行。


   

0
相关文章