Exadata不同Cell发生两块以上的坏盘是否会导致数据的丢失?

原文链接:http://www.dbaleet.org/what_if_two_disks_reside_different_cell_failure_will_lead_to_data_corruption/

在 如何升级Exadata 存储节点cell image这一篇文章中提到:在升级一个cell的过程中,由于此时这个cell的所有的磁盘都是离线的,这个cell上的盘没有被drop并且完成镜像的重组,那么也就意味着这个cell上的所有的数据在其它cell中只有一份镜像,假如其它cell节点此时同时出现了坏盘,则有可能导致数据的丢失。

有个同学追问道: 是不是只要是不不同Cell同时发生两块以上的坏盘是否会导致数据的丢失?如果不是,那么是我有没有办法知道是哪些盘损坏可能造成数据丢失?这个概率有多大?相比传统的raid 10相比如何?

我想说: theses are  really good questions,but you just asked too many. 天气太热,记得多喝水。

回到正题上,这个课题其它可以写满满一篇论文了,尤其是后面那个概率的问题。我这里只是简单的描述下,因为大多数人不要关心如此多的细节。Anyway, we are engineers, not scientist.

我们知道, ASM与传统的RAID技术的冗余方式并不一样,ASM不是以disk而是以extent为单位的,而这些extents会分布在多块磁盘中,此时ASM引入概念将其称为Partner DIsk, 这些Partner disk会有系统分配放置在一个或者多个failure group上。假如其中的一块磁盘操作失败,那么ASM会更新其extent map,然后只对其正常状态的Partner disk进行操作。注意:以上只是针对ASM Normal Redundancy而言,External Redundancy没有partner disk的概念。

在10g版本中,ASM failure group中的每一块盘都会存在最多10个DIsk partner,而在11gR2中默认的disk partner 的数量为8, 它是受到隐含参数”_asm_partner_target_disk_part”控制的。也就是说,对这块盘的数据镜像分布在其它8块partner disk中。

在一台1/4配的Exadata中,通过以下SQL查询 group#=1 disk#=0的partner disk的分布情况。

select DISK, NUMBER_KFDPARTNER, NAME, FAILGROUP
from V$ASM_DISK A, X$KFDPARTNER B
where DISK = 0
and GRP=1
and B.NUMBER_KFDPARTNER = A.DISK_NUMBER
and name like 'DATA%'
order by NUMBER_KFDPARTNER asc
/

DISK NUMBER_KFDPARTNER NAME FAILGROUP
---------- ----------------- ------------------------------ ------------------------------
0 16 DATA_DM01_CD_04_DM01CEL02 DM01CEL02
0 18 DATA_DM01_CD_06_DM01CEL02 DM01CEL02
0 20 DATA_DM01_CD_08_DM01CEL02 DM01CEL02
0 21 DATA_DM01_CD_09_DM01CEL02 DM01CEL02
0 28 DATA_DM01_CD_04_DM01CEL03 DM01CEL03
0 29 DATA_DM01_CD_05_DM01CEL03 DM01CEL03
0 30 DATA_DM01_CD_06_DM01CEL03 DM01CEL03
0 34 DATA_DM01_CD_10_DM01CEL03 DM01CEL03

可以看到这块盘的对应的partner disk包括:cell2 的disk16, disk18, disk20, disk21和cell3 的disk28, disk29, disk30, disk34。如果对一些互为Partner disk的磁盘同时不可写,那么会导致这个disk所在的diskgroup强行的dismount,从而发生数据的丢失和不可用。

ASM的这种冗余方式与传统的RAID相比,并不会增加其丢失数据的概率。Pythion的Alex Gorbachev有一个slice对两者的故障容忍率进行过专门的分析和对比,需要进一步了解的同学请走次传送门

Under the Hood of Oracle ASM: Failability Analysis

以上


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *