Exadata的数据保护机制(冗余机制)- 1

联系:QQ(5163721)

标题:Exadata的数据保护机制(冗余机制)- 1

作者:Lunar©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

在Exadata中,对数据库的保护(数据的冗余机制)是通过ASM实现的(不是通过RAID那种外部冗余来实现的):
asm
Exadata中通常我们建立磁盘组的时候会采用 Normal Redundancy。
当然,初始配置或者安装时,你可以通过onecommand进行配置,至少采用 Normal Redundancy ,可选的是High Redundancy
(无论是Image 11.2.3.2.x以前那种excel表格形式的,还是2013年年初后来时推出的Java模式的onecommand)
asm1
采用Normal保护方式,任何一份数据会同时分布到两个不同的Failure Group中,任何两个不同的Failure Group一定不来自同一个Storage Cell。
如果需要增加数据保护,可以增加Failure Group数量实现数据更多重的保护
请注意,voting disk会分布在3个cell上(这也是为什么Exadata 1/4 Rack和 1/8 Rack必须至少3个cell的原因):

[oracle@dm01db01 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   678abf64d3c34f9dbf923ab1420f40c0 (o/192.168.217.103/DATA_DM01_CD_00_dm01cel01) [DATA_DG]
 2. ONLINE   80581891d0414fb6bf397f8c0d14ff3d (o/192.168.217.104/DATA_DM01_CD_00_dm01cel02) [DATA_DG]
 3. ONLINE   663a4ca137f04fd2bf8719795542df30 (o/192.168.217.105/DATA_DM01_CD_00_dm01cel03) [DATA_DG]
Located 3 voting disk(s).
[oracle@dm01db01 ~]$ 

当然,你可以修改voting disk到其他磁盘组:

[oracle@dm01db01 ~]$ crsctl replace votedisk +DBFS_DG
Successful addition of voting disk af022878bf3f4f2dbfa2c3f630ee15b9.
Successful addition of voting disk 83dd62df08da4f32bf71abefc6d8ee52.
Successful addition of voting disk 6712a4d602404f8ebfa4ed635659c42e.
Successful deletion of voting disk 678abf64d3c34f9dbf923ab1420f40c0.
Successful deletion of voting disk 80581891d0414fb6bf397f8c0d14ff3d.
Successful deletion of voting disk 663a4ca137f04fd2bf8719795542df30.
Successfully replaced voting disk group with +DBFS_DG.
CRS-4266: Voting file(s) successfully replaced
[oracle@dm01db01 ~]$ 
[oracle@dm01db01 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   af022878bf3f4f2dbfa2c3f630ee15b9 (o/192.168.217.105/DBFS_DG_CD_02_dm01cel03) [DBFS_DG]
 2. ONLINE   83dd62df08da4f32bf71abefc6d8ee52 (o/192.168.217.103/DBFS_DG_CD_02_dm01cel01) [DBFS_DG]
 3. ONLINE   6712a4d602404f8ebfa4ed635659c42e (o/192.168.217.104/DBFS_DG_CD_02_dm01cel02) [DBFS_DG]
Located 3 voting disk(s).
[oracle@dm01db01 ~]$ 

Exadata的Storage Cell内部虽然配置的RAID卡,但是实际上数据的保护并不是通过每个Storage Cell内部的RAID卡实现保护的。
对于Storage Cell,所有的DISK是以原始的状态提供给位于DB server层的ASM作为ASM Disk使用
lun

Exadata的每个存储节点有12块物理磁盘。
每个物理磁盘都映射为逻辑单元LUN,每个存储节点的前两个磁盘中都包含一个系统区域。
这两个磁盘上的系统区域是彼此镜像的副本,他们是使用软件镜像维护的。系统区域在每个磁盘上大约占用29GB的空间。
系统区域包括OS映像、交换空间、Exadata Image的二进制文件、度量和警报系统信息库以及各种其它配置和元数据文件。
前两块盘上除了每盘前面29G用于存储本地系统文件(使用LVM管理),其余部分都作为数据盘使用,和存储节点上从第3块盘开始到第12块盘一样,是纯数据。
参加下图:
存储节点的前两块盘类似下面:
disk1-2

存储节点的其他盘(disk3~12)类似下面:
disk3

知道了物理盘的划分后,我们看下,接下来的CELLDISK。
CELLDISK表示每个LUN上的数据存储区。对于包含系统区域的两个LUN,MS进程将识别LUN的分区方式并将那块磁盘映射到为数据存储预留的磁盘分区。
对于其它10块盘,Exadata将每个物理磁盘直接映射为一个LUN。
请注意,LUN的创建是有Exadata自己维护的,不能人为手工创建。
安装和维护时,在创建磁盘上,我们能做的第一个事情无非是celldisk相关的管理(如创建celldisk或者删除celldisk),例如:

[root@dm01db01 onecommand]# /usr/local/bin/dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root "cellcli -e create celldisk all "
dm01cel01: CellDisk CD_00_dm01cel01 successfully created
dm01cel01: CellDisk CD_01_dm01cel01 successfully created
dm01cel01: CellDisk CD_02_dm01cel01 successfully created
dm01cel01: CellDisk CD_03_dm01cel01 successfully created
dm01cel01: CellDisk CD_04_dm01cel01 successfully created
dm01cel01: CellDisk CD_05_dm01cel01 successfully created
dm01cel01: CellDisk CD_06_dm01cel01 successfully created
dm01cel01: CellDisk CD_07_dm01cel01 successfully created
dm01cel01: CellDisk CD_08_dm01cel01 successfully created
dm01cel01: CellDisk CD_09_dm01cel01 successfully created
dm01cel01: CellDisk CD_10_dm01cel01 successfully created
dm01cel01: CellDisk CD_11_dm01cel01 successfully created
dm01cel01: CellDisk FD_00_dm01cel01 successfully created
dm01cel01: CellDisk FD_01_dm01cel01 successfully created
dm01cel01: CellDisk FD_02_dm01cel01 successfully created
dm01cel01: CellDisk FD_03_dm01cel01 successfully created
dm01cel01: CellDisk FD_04_dm01cel01 successfully created
dm01cel01: CellDisk FD_05_dm01cel01 successfully created
dm01cel01: CellDisk FD_06_dm01cel01 successfully created
dm01cel01: CellDisk FD_07_dm01cel01 successfully created
dm01cel01: CellDisk FD_08_dm01cel01 successfully created
dm01cel01: CellDisk FD_09_dm01cel01 successfully created
dm01cel01: CellDisk FD_10_dm01cel01 successfully created
dm01cel01: CellDisk FD_11_dm01cel01 successfully created
dm01cel01: CellDisk FD_12_dm01cel01 successfully created
dm01cel01: CellDisk FD_13_dm01cel01 successfully created
dm01cel01: CellDisk FD_14_dm01cel01 successfully created
dm01cel01: CellDisk FD_15_dm01cel01 successfully created
dm01cel02: CellDisk CD_00_dm01cel02 successfully created
dm01cel02: CellDisk CD_01_dm01cel02 successfully created
dm01cel02: CellDisk CD_02_dm01cel02 successfully created
dm01cel02: CellDisk CD_03_dm01cel02 successfully created
dm01cel02: CellDisk CD_04_dm01cel02 successfully created
dm01cel02: CellDisk CD_05_dm01cel02 successfully created
dm01cel02: CellDisk CD_06_dm01cel02 successfully created
dm01cel02: CellDisk CD_07_dm01cel02 successfully created
dm01cel02: CellDisk CD_08_dm01cel02 successfully created
dm01cel02: CellDisk CD_09_dm01cel02 successfully created
dm01cel02: CellDisk CD_10_dm01cel02 successfully created
dm01cel02: CellDisk CD_11_dm01cel02 successfully created
dm01cel02: CellDisk FD_00_dm01cel02 successfully created
dm01cel02: CellDisk FD_01_dm01cel02 successfully created
dm01cel02: CellDisk FD_02_dm01cel02 successfully created
dm01cel02: CellDisk FD_03_dm01cel02 successfully created
dm01cel02: CellDisk FD_04_dm01cel02 successfully created
dm01cel02: CellDisk FD_05_dm01cel02 successfully created
dm01cel02: CellDisk FD_06_dm01cel02 successfully created
dm01cel02: CellDisk FD_07_dm01cel02 successfully created
dm01cel02: CellDisk FD_08_dm01cel02 successfully created
dm01cel02: CellDisk FD_09_dm01cel02 successfully created
dm01cel02: CellDisk FD_10_dm01cel02 successfully created
dm01cel02: CellDisk FD_11_dm01cel02 successfully created
dm01cel02: CellDisk FD_12_dm01cel02 successfully created
dm01cel02: CellDisk FD_13_dm01cel02 successfully created
dm01cel02: CellDisk FD_14_dm01cel02 successfully created
dm01cel02: CellDisk FD_15_dm01cel02 successfully created
dm01cel03: CellDisk CD_00_dm01cel03 successfully created
dm01cel03: CellDisk CD_01_dm01cel03 successfully created
dm01cel03: CellDisk CD_02_dm01cel03 successfully created
dm01cel03: CellDisk CD_03_dm01cel03 successfully created
dm01cel03: CellDisk CD_04_dm01cel03 successfully created
dm01cel03: CellDisk CD_05_dm01cel03 successfully created
dm01cel03: CellDisk CD_06_dm01cel03 successfully created
dm01cel03: CellDisk CD_07_dm01cel03 successfully created
dm01cel03: CellDisk CD_08_dm01cel03 successfully created
dm01cel03: CellDisk CD_09_dm01cel03 successfully created
dm01cel03: CellDisk CD_10_dm01cel03 successfully created
dm01cel03: CellDisk CD_11_dm01cel03 successfully created
dm01cel03: CellDisk FD_00_dm01cel03 successfully created
dm01cel03: CellDisk FD_01_dm01cel03 successfully created
dm01cel03: CellDisk FD_02_dm01cel03 successfully created
dm01cel03: CellDisk FD_03_dm01cel03 successfully created
dm01cel03: CellDisk FD_04_dm01cel03 successfully created
dm01cel03: CellDisk FD_05_dm01cel03 successfully created
dm01cel03: CellDisk FD_06_dm01cel03 successfully created
dm01cel03: CellDisk FD_07_dm01cel03 successfully created
dm01cel03: CellDisk FD_08_dm01cel03 successfully created
dm01cel03: CellDisk FD_09_dm01cel03 successfully created
dm01cel03: CellDisk FD_10_dm01cel03 successfully created
dm01cel03: CellDisk FD_11_dm01cel03 successfully created
dm01cel03: CellDisk FD_12_dm01cel03 successfully created
dm01cel03: CellDisk FD_13_dm01cel03 successfully created
dm01cel03: CellDisk FD_14_dm01cel03 successfully created
dm01cel03: CellDisk FD_15_dm01cel03 successfully created
[root@dm01db01 onecommand]# 

在创建CELLDISK后,就可以创建GridDisk,而这些GridDisk是的名称才是提供给数据库服务器的ASM实例使用的.
就像是非Exadata环境上的普通的存储架构,ASM识别的是LUN,而在 Exadata 上,数据库服务器识别的是 Griddisk 。
创建Griddisk的命令如下:
create griddisk ALL HARDDISK prefix=testgd,size=528.6875G
不难看出,每个GridDisk是打散分布在所有的celldisk上的:

。。。。。。
dm01cel01: GridDisk testgd_CD_00_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_01_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_02_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_03_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_04_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_05_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_06_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_07_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_08_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_09_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_10_dm01cel01 successfully created
dm01cel01: GridDisk testgd_CD_11_dm01cel01 successfully created
。。。。。。。
此条目发表在 体系架构, 内部机制 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

Exadata的数据保护机制(冗余机制)- 1》有 1 条评论

  1. Pingback 引用通告: Exadata的数据保护机制(冗余机制)- 2 – 世间所有相遇都是久别重逢 - Lunar的oracle实验室

发表评论

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