亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

認知:存儲是系統(tǒng)的最底層

發(fā)布時間:  2012/7/2 4:57:28

磁盤

一個IO的訪問,大致分為三個步驟,第一是磁頭到指定的磁道(尋道),第二是等待需要讀取的數(shù)據(jù)隨盤片旋轉(zhuǎn)到磁頭(延遲),第三是讀取數(shù)據(jù)。相比較前兩個時間,讀取數(shù)據(jù)的時間可以忽略不計,所以一個IO的響應時間等于尋道時間+延遲時間決定,尋道時間由于是機械的動作,所以很難得到大幅度提高,但是可以通過提高磁盤轉(zhuǎn)速來提高延遲時間。所以轉(zhuǎn)速越高的盤,可以承載更多的IOPS。磁盤的IOPS由磁盤的轉(zhuǎn)速決定,比如15000RPM的磁盤,一般可以承受150個IOPS。

吞吐量,則由磁盤的轉(zhuǎn)速和接口決定,轉(zhuǎn)速決定了內(nèi)部傳輸率,接口則決定了外部傳輸率,很明顯前者肯定低于后者。常見的接口有ATA,SCCI,SATA,SAS,F(xiàn)C等等。FC接口一般在高端存儲中比較常見,而SAS和SATA多在服務器或者中低端存儲中常見。

存儲

對于一個存儲系統(tǒng)來說,IOPS主要決定于cache的算法,以及磁盤的數(shù)量。有時候我們往往會被廠商的數(shù)據(jù)給忽悠了,第一是cache命中率,廠商利用了某種手段,讓cache命中率非常高,IOPS幾乎可以隨心所欲。另外一個因素就是磁盤的數(shù)量,廠家的數(shù)據(jù)是同型號1000塊磁盤的測試結果,而我們實際的系統(tǒng)只有100塊磁盤。

購買存儲時,應該避免買高端存儲,而只配數(shù)量很少的磁盤,廠商非常喜歡你買一個高端的BOX,告訴你擴展性好,現(xiàn)在用不著可以少買點盤,以后可以擴容等等,這完全是忽悠。建議不要超前消費,如果確實對性能追求很高,可以選用容量小一些的磁盤,而磁盤的數(shù)量多一些。

磁盤的數(shù)量可以計算得出,我們的經(jīng)驗,一般OLTP應用的cache命中率在20%左右,剩下的IO還是要到磁盤上的,根據(jù)磁盤的轉(zhuǎn)速和類型,就可以知道一塊盤能夠承載的IOPS,磁盤數(shù)量就可以估算出來了,為了得到比較好的響應時間,建議每塊磁盤的IOPS不要超過100。

影響吞吐量的因素稍微復雜些,由磁盤的數(shù)量和存儲的架構決定,當磁盤到達一定的數(shù)量后,吞吐量主要受限于存儲的架構。比如某高端存儲,吞吐量最大就是1.4GB,這是由它內(nèi)部的架構所決定的。另外還要注意存儲與億恩科技主機的接口,比如HBA卡,有4Gb和2Gb(這里是bit,而不是Byte),一般億恩科技主機和存儲都配有多塊HBA卡。
 

RAID

RAID一般比較常見的就是RAID10和RAID5,對性能要求比較高的數(shù)據(jù)庫應用一般都采用RAID10,RAID5也可以用,但是別把redo放在RAID5上,因為RAID5的對于redo這種小IO,性能非常差,很容易造成log file sync的等待。一個RAID group中的磁盤數(shù)量不宜過多,不要超過10塊,原因是RAID group中磁盤數(shù)量越多,壞盤的概率就越大(概率問題)。一些高端存儲對于RAID group中的磁盤數(shù)量都是固定的,這主要和存儲的架構有關。使用存儲的過程中,你會發(fā)現(xiàn),越是高端的東西,就越是死板,而中低端存儲則非常靈活,并不是說高端存儲不好,而是說架構決定一切。

Stripe

Stripe的作用就是盡可能的分散IO,它在有些存儲上是可以調(diào)節(jié)的,但是很多存儲是不可以調(diào)節(jié)的,一般在128K-512K之間。有一個錯誤的說法是,我在存儲上做了stripe,數(shù)據(jù)庫的一個IO,所有的磁盤都會響應這個IO。這個說法是錯誤的,對于Oracle來說,一個隨機IO的大小是8K,一般條帶的大小要比8K大得多,所以Oracle一個隨機IO永遠只會落在一塊磁盤上。一塊磁盤在同一個時刻只能響應一個IO,也就是說磁盤沒有并發(fā)IO的概念,但是從整個系統(tǒng)來看,不同的磁盤響應不同的IO,宏觀上IO還是分散的,所以我們看到一個數(shù)據(jù)庫在運行時,所有的磁盤都在忙,實際上每塊磁盤是為不同的IO服務。對于順序IO,Oracle的默認設置是128K,最大值由OS決定,一般是1M,如果順序IO的大小大于stripe,那么一個IO可能會有幾塊盤同時響應,但是很多存儲的stripe都大于128K,這時一個IO還是只有一塊磁盤響應,由于讀是一個順序的過程,所以要在數(shù)據(jù)庫這個級別加上并發(fā),才可以真正達到提高吞吐量的目的。

有人要問,stripe到底多大合適?如果我把stripe做得很小,這樣不是很好嗎?一個IO同時可以讀很多塊盤,大大提高了吞吐量。我們假設stripe為1K,Oracle scattered read是完全串行的過程,實際上在不同的multiblock read之間,存在一定程度的并行。Oracle每次同時向OS發(fā)送若干個multiblock read IO請求,然后把返回的結果合并排序。整個scattered read應該是局部并行,宏觀串行的過程。

所以stripe不能做的很小。stripe到底設多大,我的觀點是大比小好,不要小于256K,數(shù)據(jù)倉庫應用可以設置的更大一些。ASM對于數(shù)據(jù)文件的stripe默認是1M,我曾經(jīng)覺得1M太大,將其改為128K,結果發(fā)現(xiàn)1M的性能更好,Oracle也推薦用1M。這說明對于數(shù)據(jù)庫應用來說,stripe size要稍微大一點,而不是我們想的越細或者越分散越好。
 

存儲劃分

劃分好的LUN輸出到億恩科技主機后,我們怎么用?這個就比較靈活多變,首先要看我們的用途,我們是追求IOPS還是吞吐量?我們用file system,raw devices,ASM?存儲輸出的LUN跨在多少塊盤上?一般的存儲沒有虛擬化功能,則輸出的LUN只跨在一個RAID group上,這時往往需要利用OS上的LVM來再次劃分一次,看下面的示意圖。

每個RAID goup有四塊磁盤,建立兩個LUN,輸出到億恩科技主機后,用藍色的一組和紅色的一組LUN分別創(chuàng)建兩個VG,然后再創(chuàng)建LV(stripe),這下每個LV就完全跨在了所有的磁盤上。實際中考慮的問題要更多,有時候不僅僅要考慮磁盤,還要考慮將負載分配在不同的控制器,前端卡后端卡和多路徑的問題,相當復雜。有些存儲本身有虛擬化的功能,甚至可以輸出一個LUN,比如3PAR就可以輸出一個虛擬卷,這個卷已經(jīng)跨在所有的磁盤上,我們直接使用就可以了(但實際工作中這么使用的比較少見)。

Oracle有了ASM,問題就更加復雜了,我的建議是如果可以的話,存儲只做RAID1,stripe交給ASM去做。如果有些存儲必須要做stripe,也沒問題。存儲劃分是一個很有技術含量的工作,必須建立在對存儲,億恩科技主機和數(shù)據(jù)庫深入了解的基礎上,才有可能做出一個好的規(guī)劃。

總結:存儲是系統(tǒng)的最底層,因為非常重要,現(xiàn)在市場基本被幾個大廠商所壟斷,每個廠家都有一些忽悠人的名詞或者商業(yè)上的炒作,所以我們要擦亮眼睛,謹防被忽悠。

服務器租用托管專員,億恩天使QQ530997 分享


本文出自:億恩科技【www.1tcdy.com】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線