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軟體層介於應用和儲存硬體之間,提供對磁碟空間的靈活而動態的管理。
在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透過奇偶校驗演算法確保陣列中每塊盤的資料都可透過其餘盤恢復,因此在提供高效能的同時,也能提高冗餘性。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12707874/viewspace-2134833/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 做IT的,這些安全知識你不得不懂!
- 儲存器的知識
- 儲存知識websiteWeb
- 高階儲存知識
- 基礎儲存知識
- 儲存知識小結
- 儲存_硬碟_小知識_轉硬碟
- Oracle LOB儲存知識(zt)Oracle
- 【儲存】RAID 知識之二AI
- 儲存基礎知識白皮書
- HP-UX磁碟儲存知識UX
- DBA需要掌握的Shell知識
- Android 資料儲存知識梳理(2) Android儲存目錄Android
- 【知識分享】計算機“儲存容量”、“速率”計算機
- SecureFiles LOBs基礎知識之儲存篇
- (Oracle)儲存過程、儲存函式和包的相關知識與例項Oracle儲存過程儲存函式
- 你不得不瞭解的HTML知識HTML
- procedure儲存過程呼叫dba字首的字典dba_objects儲存過程Object
- PostgreSQL DBA(60) - 列式儲存zedstoreSQLZed
- 易失性儲存器SRAM基礎知識
- 儲存器資料恢復相關知識資料恢復
- Canvas&Paint 知識梳理(2) Canvas 的儲存和恢復CanvasAI
- 玩轉 JavaScript 之不得不懂的原型JavaScript原型
- 知識儲備
- MySQL的儲存方式有哪些?linux運維需要哪些知識MySqlLinux運維
- MySQL索引、事務以及儲存引擎的相關知識和命令MySql索引儲存引擎
- 資料獲取,解析,儲存等知識的學習總結
- DBA七個必備知識點
- 分散式儲存架構知識,一篇講清楚!分散式架構
- 【知識分享】什麼是網路儲存伺服器伺服器
- Activity 知識梳理(3) Activity狀態儲存和恢復
- Fragment 知識梳理(2) Fragment 狀態儲存和恢復Fragment
- 儲存基礎知識(1)--主要技術DAS、SAN、NAS
- Android 你不得不學的HTTP相關知識AndroidHTTP
- 學習 Java,你不得不知的泛型知識Java泛型
- 不得不知道的golang知識點之nilGolang
- 不懂設計知識怎麼製作自己的logo?Go
- 【DBA】Oracle dba角色不是萬能的,儲存過程需要顯示授權Oracle儲存過程