ASM
磁盘组
三种冗余级别
在常规的文件管理中,我们都要指定文件的名称和路径,操作每一个文件,都需要数据库管理员指
出具体的文件路径和名称,而且在磁盘的优化也需要数据库管理员的参与,
oracle
公司在
oracle10g
推出
来
ASM
,把文件的操作封装起来,外部使用时,只要指定具体的目标磁盘即可,而且
asm
还自动均匀存储
数据,
是
I/O
平衡;
asm
还有一个很重要的功能是支持并发,
使
oracle
的
rac
摆脱了第三方公司。
在
ASM
之前,为了防止磁盘的失败,一般采用硬件或者操作系统的
raid1
镜像;现在
asm
也提供三种防止磁盘损
坏的冗余级别
:
外部冗余:
asm
不对数据库文件镜像,可以通过
raid
磁盘镜像;所用磁盘最少,有效磁盘空间是所
有磁盘设备的大小之和
。
常规冗余:
asm
使用
2
份镜像存储,
以提高性能和数据的安全,
最少需要两块磁盘
(两个
failure group
)
;
有效磁盘空间是所有磁盘设备
大小之和的
1/2
,一般用常规冗余就
ok
高冗余:
asm
使用
3
份镜像存储,
以提高性能和数据的安全,
最少需要三块磁盘
(三个
failure group
)
;
有效磁盘空间是所有磁盘设备
大小之和的
1/3
,虽然冗余级别高了,但是硬件的代价也最高。
ASM
中的几个概念:
ASM
磁盘
,
故障组
(failure group),
磁盘组
(disk group)
1 ASM disk group
作为管理一组
disks
集合的一个逻辑单元。
ASM disks
存储被从
disk groups
中添加和删除。每个
ASM disk
有一个
ASM disk name
,这个
name
对于对于
cluster
中的所有
nodes
都是一致的。
ASM disk name
的提取
是十分必要的,因为对于不同主机可能使用不同的
OS
命名参照相同的
disk
。
一般情况下只有少量
disk groups
,例如,一个
disk group
用于
work area
,另一个作为恢复
area
。
2 failure group
首先
failgroup
必须是
diskgroup
的一个子集,一个
failgroup
只能属于一个
diskgroup
。
当我们有
mirror
的要求时
(例如
normal redundancy
)
,
数据会被存两份,
第一份假设存在
failgroup A
里,
那么另一份就一定会存入非
failgroup A
的任意一个
failgroup
里。
所以,我们就知道了,当
normal redundancy
时
(data copy=2)
,任意一个
failgroup fail
了,都没问题