1 體系結構的比較
IBM采用的是傳統的對稱體系結構,采用其強大的570 pserver作為存儲的控制器,是典型的IBM SHARK系列產品。存儲的管理OS運行在控制器內,CPU與內存也都在控制器內。其高端型號DS-8300產品的每個控制器是4個CPU的P570小型機,雙控制器最大配置CPU數量為8個。但DS-8000系列產品具備了許多高端產品應有的特征,比如主機端口最大可達128個2Gb FC,磁盤接口最大64個,緩存容量也可以達到256GB,這些特性使其可以匹敵多控制器存儲系統,因此,DS-8000系列也是IBM公司參與高檔存儲產品市場競爭的主要武器,而且和競爭對手高檔產品相比其價格優勢非常明顯。
現在比較先進的高端存儲是基于多控制器磁盤陣列,而雙控制器磁盤陣列由于控制器只能配置兩個,不能在同一磁盤陣列內配置更多控制器,在一定程度上局限了其數據處理能力。
在實際應用時,每層的控制器至少成對配置,提供全冗余特性,實現無單點故障。也可以配置多對,在性能上進行成倍擴展。比如EMC的DMX-3最多可以配置8個前端控制器(Channel Director)、8個緩存控制器(Memory Director)、8個后端控制器(Disk Director),整個系統中處理器數量最多可達130顆。多級控制器分工協作,系統整體性能因而可以獲得最佳擴展性。更重要的是,在多控制器體系結構基礎上,提供了許多獨特存儲軟件解決方案。該檔次產品是大型關鍵業務數據中心的首選。
HDS與EMC都采用了多點冗余的復合式體系結構,有多個專用的存儲控制器,如專用的前端控制器,專用的后端控制器,并且以專用的CACHE控制器為核心,CPU集成在前/后端控制器中,操作系統以微碼方式集成在硬件中,并可以方便的升級維護。在這種結構中,前端,CACHE,后端均可實現系統均衡,并多點冗余。所以,失敗一個點的時候,影響量比較小。不過,還有一點差別的是,HDS前后端連接到核心CACHE,是采用交換方式,而EMC是采用直連方式,所以也叫直連矩陣(Symmetrix Direct Matrix Architecture),EMC Symmetrix DMX利用其點對點連接可以完全消除其它設計方案所具有的總線仲裁和交換系統開銷延遲。
2 后端連接與RAID的比較
IBM采用交換方式連接磁盤與后段卡,而HDS與EMC采用環路結構,在交換結構中,每個磁盤都有自己的線路連接到后端卡(口),所以,不容易產生后端瓶頸。至于環路設計,則是現在的流行設計,但是,一個環路上的盤不能太多,否則,容易產生性能瓶頸。如:一個2Gb的光纖環路,一般接到50-60顆盤,已經都達到負載極限了。而一個4Gb的環路,如果考慮翻倍的話,也就最多可以接100-120顆磁盤。
因為考慮到環路的可靠性與性能問題,HDS與EMC的高端存儲都是雙環路設計,每個磁盤都有2個環路可以達到,而且,這兩個環路可以負載均衡的工作。另外,為了避免一個環路,或者一個磁盤太忙,RAID 組的設計也有特殊的要求,一個RAID組中的磁盤,必須跨越在不同的環路上面。
為了擴大容量,又不影響性能,存儲廠商只好不斷的增加環路的個數,一般情況下,典型的OLTP環境中,一個2Gb的環路中,磁盤個數最好也不要超過32顆,如果想增加更多的磁盤,最好也增加環路個數。
3 CACHE設計的比較
HDS與EMC都是以CACHE為核心,并且CACHE size一般比較固定,如64K,256K等等,如果這樣的CACHE size在運行很離散的OLTP數據庫應用的時候,因為數據庫的block size一般都比較小,如8運、16K,所以,容易引起CACHE size 的浪費。因為存儲的一個CACHE size單元中,一定要保存相臨的磁盤連續空間。
而IBM因為采用OS的內存來做存儲的CACHE,所以,CACHEsize就是頁面大小,默認為4K,這樣的CACHE size對小的IO是很適合的,但是對大型的IO操作,或者是太大的CACHE size,可能會有額外的管理負擔。
比較大的CACHE size,如64K的CACHE size,一般是因為考慮到高效的算法設計以及滿足大部分應用需求而設計的,如根據概率統計的數據,滿足99%的應用等等,在一些特定的非常小的離散的應用上,則不一定適合。
至于CACHE算法,HDS與EMC基本都是LRU算法,而IBM則采用改進的ARC算法。在CACHE保護中,IBM與HDS都是寫CACHE 鏡相+電池CACHE保護,而EMC則是讀寫全局CACHE的全鏡相+電池CACHE保護。在寫CACHE鏡相的規則中,讀寫CACHE是分離的,寫CACHE鏡相,讀CACHE不鏡相,一份數據可能同時存在于讀/寫CACHE中;而全局CACHE,沒有讀寫之分,CACHE公用,只有不同的鏈表來決定那些數據是寫CACHE,很類似Oracle的data buffer。
IBM DS8000系列
IBM DS8000沿用了典型的對稱處理結構,利用其高性能與高可靠的P570作為陣列的雙控制器,兩臺570互相做冗余,形成一個雙active 的HA結構。在處理器上也是采用其先進的Power5系列的CPU。另外,8000系列的存儲也支持邏輯分區是利用P570來支持邏輯分區(LPAR)。
因為IBM采用了570作為8000系列的核心控制器,所以陣列的CPU與內存也都是在P570內部控制的,而且陣列的可靠性是需要570 來保證的,整個DS8000陣列的穩定性與處理能力是依賴于P570 CPU 的能力。
EMC DMX3系列
DMX3是在早先SYMMTRIX 2000/3000系列上發展過來的,基本的體系結構沒有改變,但是CACHE算法卻做了一個比較大的改動,在以前的高端系統中,EMC是不采用寫CACHE鏡相技術的,而別的廠商基本都采用寫CACHE鏡相、讀CACHE不鏡相、讀寫CACHE分離這樣的技術。那么,他們分別采用什么樣的方式來保證寫CACHE數據的正確性呢?
第一,因為CACHE肯定都是電池或者UPS保護的,可以保證不掉電,或者是掉電以后系統還能維持一定時間,如果在一定時間內還沒有供電,再把數據寫到硬盤上,防止丟失。第二,因為寫cahce鏡相保護數據也很簡單,就是防止CACHE損壞,如果壞掉一個CACHE,還有另外一個,只要馬上把壞的CACHE標記起來不用,鏡相到新的地方即可。第三,早先的SYMMTRIX系列采用了一種類似RAID5的電極校驗法來對CACHE進行校驗,保證數據的可靠性,提高CACHE的利用率。但是,在新的dmx3中,又采用了一種完全不一樣的鏡相方法,讀寫全局CACHE全鏡相,也就是說,如果100G CACHE,有效CACHE是50G。
另外,EMC的RAID方式與HDS也很不一樣,HDS的RAID方式很死板,如RAID10就支持2D+2D,其實所謂的4D+4D不過是把2個2D+2D簡單的連接在一起。而EMC中,RAID方式比較奇特,如做10,他們先是把磁盤劃成很多道(叫split,如8split,10split,16split等等),每一split可以鏡相到一個磁盤。如一個磁盤有16個split,則3.8G/split,那么這個磁盤最多可以鏡相到其它16塊磁盤上,同樣,其它的盤也可以交錯鏡相到這里,形成一個比較大的磁盤pool。之后,EMC在每個split 上做strip,形成metalun,這才是主機最后使用的LUN,對應到一個PV。
HDS USP系列
USP最核心的就是CACHE了,有控制CACHE與數據CACHE之分,控制CACHE也可以叫shard CACHE,保存著陣列的配置信息以及數據CACHE的地址信息,在前端口過來尋找數據的時候,會先經過這里,如果能找到,則去數據CACHE,如果找不到,則可能需要磁盤讀取。
數據CACHE也叫標準CACHE,如果采用4G的內存標準,最大可以到128G,而如果采用8G的內存標準,可以到256G,數據CACHE是整個陣列的核心所在。USP的內存CACHE最小單元叫segment,固定為64K,最小使用單元叫slot,在有些版本=4 個segment=256K,有些版本則=1個segment=64K,因為在這個slot中磁盤上的數據必須是連續的,所以,太大的slot可能對離散度高的oltp應用不是太適合。
CACHE的命中率是一個陣列的響應速度以及處理能力的一個重要體現,因為CACHE命中的話,返回速度是非常快的,而不命中的話,就需要去磁盤尋找數據,可能會比較慢。而CACHE的命中率,與應用訪問規則,數據分布規則都有很大關系。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.lukmueng.com/
本文標題:企業中常用高端存儲器的比較