耐卡影音进不去了:DBA不得不懂的存储知识

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 00:55:47
DB2,存储,DBA概述

    计算机发展到今天,无论是CPU处理速度还是内存都取得了很大的发展,但是存储的发展速度远远低于CPU和内存等,存储的效率比内存慢千万倍,因此IO也成为影响性能的最关键因素。
    对于DBA来说,懂点系统和存储知识是非常必要的。拿DB2来说,数据库的数据大都存放在外挂存储上,存储的设计好坏直接影响着数据库的IO读写性能。调优数据库基本上就是在CPU,内存和存储IO之间做平衡,但很多DBA对存储缺乏基本的理解,在调优时根本无从下手。
    本文从DB2存储模型入手,介绍了AIX系统LVM存储模型和阵列存储模型的基本概念和关系,希望对大家有所帮助。有不当之处,也请大家在评论区留言,感谢大家的支持!

DB2的存储模型

    db2的存储模型包括几个重要的概念:表空间(tablespace)、容器(container)、数据块(extent)和数据页(page)。表(table)建在表空间上,表空间是个逻辑概念,实际数据是存放在container中,container才是数据的物理存放地。根据表空间的管理方式不同,container可以是目录(SMS,由操作系统管理),也可以是文件或裸设备(DMS,DB2自己管理)。目前在Unix环境中,考虑到性能原因,大部分的container采用裸设备。

AIX系统中的存储模型

    aix中提供LVM(logical volume manager)逻辑卷管理器进行存储管理。LVM软件层介于应用和存储硬件之间,提供对磁盘空间的灵活而动态的管理。
下载 (54.85 KB)
2009-12-21 10:08

在LVM里,有几个重要概念:vg,pv,lv,pp,lp.
PV,physical volume-物理卷,对应一块物理磁盘或者一个hdisk(阵列)
VG,volume group-卷组,由PV组成
PP,physical partition-物理分区,VG中磁盘划分的最小单元
LV,logical volume-逻辑卷,可跨多个PV,文件系统建在LV上
LP,Logical partition-逻辑分区,包含一个或多个PP。

前面我们提到的表空间raw container其实就是建在某个VG的LV上。可以通过list tablespace containers for xx得到container的位置,一般都是在/dev/目录下面r开头的某个逻辑卷上。可通过lslv查看某个lv跨越哪些硬盘或Hdisk。
当用iostat监控到某个Hdisk很忙的时候,可以通过
#lsdev -Cc disk
来定位hdisk是否放在阵列上,举例:
#lsdev -Cc disk
    hdisk0         Available 09-08-00-8,0 16 Bit LVD SCSI Disk Drive
    hdisk1         Available 09-08-00-9,0 16 Bit LVD SCSI Disk Drive
    hdisk6         Available 0C-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdisk7         Available 0C-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdisk8         Available 0E-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdisk9         Available 0E-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdisk10        Available 0C-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdisk11        Available 0C-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdisk12        Available 0E-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdisk13        Available 0E-08-02        EMC CLARiiON FCP RAID 1/0 Disk
    hdiskpower0    Available 0C-08-02        PowerPath Device
    hdiskpower1    Available 0E-08-02        PowerPath Device

从上面可以看到,hdisk0-1是本地SCSI硬盘,hdisk6-13是EMC的Raid 10磁盘阵列,是存储的LUN在多个路径下的产物,hdiskpower0/1则是EMC Powerpath合并后的可用物理卷,真正对应到存储的LUN。这里又提到两个概念Powerpath和LUN。
LUN由于多条访问路径的原因被认成多个hdisk,类似网络里面的多路经路由。但aix不能自动将多个路径认到的设备归为一个hdisk,所以通过存储提供的多路经管理软件,再归为一个设备。

Powerpath是EMC提供的多路径管理软件(multiple path),hds的老版本叫vpath,新版本叫dlmpath。
一个Powerpath对应存储系统里面的一个硬盘(并非物理硬盘,而是经过划分后的逻辑硬盘),这个Powerpath会对应n个hdisk,n取决于你有多少条通道。
上面例子中,hdisk6,hdisk7,hdisk10,hdisk11对应hdiskpower0 设备,而hdisk8,hdisk9,hdisk12,hdisk13对应hdiskpower1设备,通过Hdisk的个数可知有4条通道。
LUN是存储上的概念,对应到系统中就是一个Hdisk或hdiskpower。

阵列存储模型

RAID阵列和LUN
    阵列的配置,就是先选好几块盘,作raid组,然后在raid组上,划分LUN,大小自定;然后作group,可以是raid组group、lun group,主机group等;然后作主机map(映射),或者叫host attachement,就是设置哪个或哪些主机能看到相应的lun,或lun group。设定好map后,主机开机,便会看到分配给它的新磁盘(对应阵列上的lun),如hdiskpower等。主机可以对其进行分区,格式化等常规磁盘的操作,或将其加到VG中,而不必也无法关心这个lun在阵列中是由哪些盘组成的,raid类型是什么,这些都是阵列控制器关心的,上层主机是看不到的。
RAID的类型常用的有RAID0,RAID1,RAID5和RAID10。RAID0在多块盘上作条带(stripe),性能最好,但不做任何形式的冗余。RAID1通过镜像(mirror)提供最好的冗余,但比较费盘。RAID10是RAID0+RAID1。RAID5通过奇偶校验算法确保阵列中每块盘的数据都可通过其余盘恢复,因此在提供高性能的同时,也能提高冗余性。