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