概述
計(jì)算機(jī)發(fā)展到今天,無(wú)論是CPU處理速度還是內(nèi)存都取得了很大的發(fā)展,但是存儲(chǔ)的發(fā)展速度遠(yuǎn)遠(yuǎn)低于CPU和內(nèi)存等,存儲(chǔ)的效率比內(nèi)存慢千萬(wàn)倍,因此IO也成為影響性能的最關(guān)鍵因素。 對(duì)于DBA來(lái)說(shuō),懂點(diǎn)系統(tǒng)和存儲(chǔ)知識(shí)是非常必要的。拿DB2來(lái)說(shuō),數(shù)據(jù)庫(kù)的數(shù)據(jù)大都存放在外掛存儲(chǔ)上,存儲(chǔ)的設(shè)計(jì)好壞直接影響著數(shù)據(jù)庫(kù)的IO讀寫(xiě)性能。調(diào)優(yōu)數(shù)據(jù)庫(kù)基本上就是在CPU,內(nèi)存和存儲(chǔ)IO之間做平衡,但很多DBA對(duì)存儲(chǔ)缺乏基本的理解,在調(diào)優(yōu)時(shí)根本無(wú)從下手。 本文從DB2存儲(chǔ)模型入手,介紹了AIX系統(tǒng)LVM存儲(chǔ)模型和陣列存儲(chǔ)模型的基本概念和關(guān)系,希望對(duì)大家有所幫助。有不當(dāng)之處,也請(qǐng)大家在評(píng)論區(qū)留言,感謝大家的支持!
DB2的存儲(chǔ)模型
db2的存儲(chǔ)模型包括幾個(gè)重要的概念:表空間(tablespace)、容器(container)、數(shù)據(jù)塊(extent)和數(shù)據(jù)頁(yè)(page)。表(table)建在表空間上,表空間是個(gè)邏輯概念,實(shí)際數(shù)據(jù)是存放在container中,container才是數(shù)據(jù)的物理存放地。根據(jù)表空間的管理方式不同,container可以是目錄(SMS,由操作系統(tǒng)管理),也可以是文件或裸設(shè)備(DMS,DB2自己管理)。目前在Unix環(huán)境中,考慮到性能原因,大部分的container采用裸設(shè)備。
AIX系統(tǒng)中的存儲(chǔ)模型
aix中提供LVM(logical volume manager)邏輯卷管理器進(jìn)行存儲(chǔ)管理。LVM軟件層介于應(yīng)用和存儲(chǔ)硬件之間,提供對(duì)磁盤(pán)空間的靈活而動(dòng)態(tài)的管理。
在LVM里,有幾個(gè)重要概念:vg,pv,lv,pp,lp. PV,physical volume-物理卷,對(duì)應(yīng)一塊物理磁盤(pán)或者一個(gè)hdisk(陣列) VG,volume group-卷組,由PV組成 PP,physical partition-物理分區(qū),VG中磁盤(pán)劃分的最小單元 LV,logical volume-邏輯卷,可跨多個(gè)PV,文件系統(tǒng)建在LV上 LP,Logical partition-邏輯分區(qū),包含一個(gè)或多個(gè)PP。
前面我們提到的表空間raw container其實(shí)就是建在某個(gè)VG的LV上??梢酝ㄟ^(guò)list tablespace containers for xx得到container的位置,一般都是在/dev/目錄下面r開(kāi)頭的某個(gè)邏輯卷上??赏ㄟ^(guò)lslv查看某個(gè)lv跨越哪些硬盤(pán)或Hdisk。 當(dāng)用iostat監(jiān)控到某個(gè)Hdisk很忙的時(shí)候,可以通過(guò) #lsdev -Cc disk 來(lái)定位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硬盤(pán),hdisk6-13是EMC的Raid 10磁盤(pán)陣列,是存儲(chǔ)的LUN在多個(gè)路徑下的產(chǎn)物,hdiskpower0/1則是EMC Powerpath合并后的可用物理卷,真正對(duì)應(yīng)到存儲(chǔ)的LUN。這里又提到兩個(gè)概念Powerpath和LUN。 LUN由于多條訪問(wèn)路徑的原因被認(rèn)成多個(gè)hdisk,類(lèi)似網(wǎng)絡(luò)里面的多路經(jīng)路由。但aix不能自動(dòng)將多個(gè)路徑認(rèn)到的設(shè)備歸為一個(gè)hdisk,所以通過(guò)存儲(chǔ)提供的多路經(jīng)管理軟件,再歸為一個(gè)設(shè)備。
Powerpath是EMC提供的多路徑管理軟件(multiple path),hds的老版本叫vpath,新版本叫dlmpath。 一個(gè)Powerpath對(duì)應(yīng)存儲(chǔ)系統(tǒng)里面的一個(gè)硬盤(pán)(并非物理硬盤(pán),而是經(jīng)過(guò)劃分后的邏輯硬盤(pán)),這個(gè)Powerpath會(huì)對(duì)應(yīng)n個(gè)hdisk,n取決于你有多少條通道。 上面例子中,hdisk6,hdisk7,hdisk10,hdisk11對(duì)應(yīng)hdiskpower0 設(shè)備,而hdisk8,hdisk9,hdisk12,hdisk13對(duì)應(yīng)hdiskpower1設(shè)備,通過(guò)Hdisk的個(gè)數(shù)可知有4條通道。 LUN是存儲(chǔ)上的概念,對(duì)應(yīng)到系統(tǒng)中就是一個(gè)Hdisk或hdiskpower。
陣列存儲(chǔ)模型
RAID陣列和LUN 陣列的配置,就是先選好幾塊盤(pán),作raid組,然后在raid組上,劃分LUN,大小自定;然后作group,可以是raid組group、lun group,主機(jī)group等;然后作主機(jī)map(映射),或者叫host attachement,就是設(shè)置哪個(gè)或哪些主機(jī)能看到相應(yīng)的lun,或lun group。設(shè)定好map后,主機(jī)開(kāi)機(jī),便會(huì)看到分配給它的新磁盤(pán)(對(duì)應(yīng)陣列上的lun),如hdiskpower等。主機(jī)可以對(duì)其進(jìn)行分區(qū),格式化等常規(guī)磁盤(pán)的操作,或?qū)⑵浼拥絍G中,而不必也無(wú)法關(guān)心這個(gè)lun在陣列中是由哪些盤(pán)組成的,raid類(lèi)型是什么,這些都是陣列控制器關(guān)心的,上層主機(jī)是看不到的。 RAID的類(lèi)型常用的有RAID0,RAID1,RAID5和RAID10。RAID0在多塊盤(pán)上作條帶(stripe),性能最好,但不做任何形式的冗余。RAID1通過(guò)鏡像(mirror)提供最好的冗余,但比較費(fèi)盤(pán)。RAID10是RAID0+RAID1。RAID5通過(guò)奇偶校驗(yàn)算法確保陣列中每塊盤(pán)的數(shù)據(jù)都可通過(guò)其余盤(pán)恢復(fù),因此在提供高性能的同時(shí),也能提高冗余性。
|