概述
Oracle RAC 搭建ASM新建磁盘组时,Oracle ASM本身有提供三种冗余级别
选项:
- High 镜像数据两次。
- Normal 镜像数据一次。
- External 不镜像 ASM 中的数据。如果外部 RAID 阵列提供冗余,则通常使用此选项。
基本上都会在 ASM上选External,再配合存储端的RAID来保护数据。毕竟基于硬件的RAID技术已经这么多年,
是最成熟,最可靠的方案,当然这样选择。 ASM则可以说是一个软RAID,估计真正实施过得很少,10g就不提了,11g出来
后,应当比较成熟,但可靠性仍不清楚。
我在这主要是提一个想法(没有经过实际测试)。
假设ASM相当可靠,在做ASM时,冗余选择High或Normal,其磁盘组磁盘分别
属于不同的两个存储。那当其中一个存储出现问题时,对数据库没有影响。那它完全可以替换掉现在做基于存储的数据库容灾软件。
这个有没意义了,肯定有。 因为Oracle RAC实现在当一个节点挂掉时,不会影响到另一个节点。但RAC是基于共享存储的。对于容灾
来说,它的痛点在于存储,一旦存储挂了,再多的节点也没有用。 所以业界要么搭建成Oracle+DG的方式,要么通过实时的逻辑备份软件
或容灾软件来补上这个。这些方案都没有问题,不过利用ASM的冗余机制,我上面说的方法理论上也可以做到让存储多份保险。 不过话说回来,如果你选择基于存储的RAID来做,就不要选择EXTERNAL或NORMAL了,那样没有意义,反而因为
ASM和存储都做这些事,影响了IO的性能。其实是没画蛇添足的工作。
纯推论,呵呵
附上: 吧一吧Oracle的存储方案
附上冗余说明:
EXTERNAL即ASM本身不做镜像,而依赖于底层存储阵列资深实现镜像;在External下任何的写错误都会导致Disk Group被强制 dismount。在此模式下所有的ASM DISK必须都存在健康,否则Disk Group将无法MOUNT
NORMAL 即ASM将为每一个extent创建一个额外的拷贝以便实现冗余;默认情况下所有的文件都会被镜像,这样每一个file extent都 有2份拷贝。若写错误发生在2个Disk上且这2个Disk是partners时将导致disk Disk Group被强制dismount。若发生失败的磁 盘不是partners则不会引起数据丢失和不可用。
HIGH 即ASM为每一个extent创建两个额外的拷贝以便实现更高的冗余。2个互为partners的Disk的失败不会引起数据丢失,当然不能 有更多的partners Disk失败了。
NORMAL 即ASM将为每一个extent创建一个额外的拷贝以便实现冗余;默认情况下所有的文件都会被镜像,这样每一个file extent都 有2份拷贝。若写错误发生在2个Disk上且这2个Disk是partners时将导致disk Disk Group被强制dismount。若发生失败的磁 盘不是partners则不会引起数据丢失和不可用。
HIGH 即ASM为每一个extent创建两个额外的拷贝以便实现更高的冗余。2个互为partners的Disk的失败不会引起数据丢失,当然不能 有更多的partners Disk失败了。
数据镜像依赖于failure group和extent partnering实现。ASM在NORMAL 或 HIGH 冗余度下可以容许丢失一个failure group中所有的磁盘。
MAIL:xcl_168@aliyun.com
Blog:
http://blog.csdn.net
最后
以上就是美满金鱼为你收集整理的ASM与存储容灾的全部内容,希望文章能够帮你解决ASM与存储容灾所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复