全部博文(1015)
分类: Oracle
2012-06-05 22:59:09
PP Striping、LV Striping和Oracle存储规划
PP Striping、LV Striping和Oracle存储规划
GOTOTOP # GZ # 2006-9-19
这段时间项目组一直在折腾这个事情,顺便清洗一下自己思路。
1、基本概念
只是列一下和下文有关的,详细概念参见存储和LVM相关文档。
存储的M个硬盘PDISK一组,RAID以后成为一个LUN,每个LUN我们可以认为是一个大的HDISK。
由N个LUN组成一个VG,每个LUN上的物理空间以PP(Physical Partition)为单位进行分配。
一个VG上面可以划分多个LV供OS或DB使用,每个LV以LP(Logical Partition)进行空间分配。
2、LVM Striping
在LVM层面上提供了两种Striping方式:PP Striping和LV Striping。
PP Striping
PP Striping的本质是LP和PP采用一对一轮循分配,可以简单地理解为,LP按顺序在同一个VG的N个LUN上面进行PP轮流分配,从而实现打散的目的。
以PP SIZE决定打散程度。
LV Striping
英文的含义为Striping within a Physical Partition,即同一个LP按Striping Size大小分散到多个PP上面。
如果PP Size大小为64M,Striping Size为1M,则每个PP上面可以放64个Stripes,即以Striping Size决定打散程度。
3、Oracle SAME原则
SAME,Stripe And Mirror Everything,这个原则很多人可能都有误解。
8个硬盘使用RAID10组成一个LUN,这是SAME;再在一个VG里面的多个LUN之间进行STRIPING,这也是SAME。差别在于Striping的程度不同。
4、Oracle Database存储划分
在遵循SAME原则的基础上,GOTOTOP建议:
1、手工打散Redologs、Archivelogs、Undo、Temp到所有LUN上面,而不是按照传统的Oracle做法放在独立的LUN上面(已经是SAME了);
2、能够明确数据和I/O分布的大表建议手工打散到不同的LUN上;
3、对其他无法准确估计I/O分布和压力的Data、Index文件实行更大程度的Striping。
5、Oracle使用Striping的建议
能使用PP Striping尽量使用,这个技术上更加成熟,对于随机I/O的性能也会更好。
如果使用LV Striping,建议Striping Size为Db_block_size * db_file_multiblock_read_count,通常会为简单起见直接采用1M大小。