Abercormbie,Abercormbie France,Abercormbie Pas Cher,Abercormbie Paris,Abercrombie,Abercrombie Paris,Abercrombie Pas Cher,Abercrombie France,Longchamp,Sac Longchamp,Longchamp Pas Cher,Sac Longchamp Pas Cher,Longchamp,Sac Longchamp,Longchamp Pas Cher,Sac Longchamp Pas Cher,Hollister,Hollister Milano,Hollister Italia,Hollister,Hollister Milano,Hollister Italia,Hollister,Hollister Espana,Hollister Madrid,Hollister,Hollister Madrid,Hollister Espana
用戶名:
密  碼:
驗證碼:  

電話 : 0371-63965669   65826091 

傳真 : 0371-63695659

新聞資訊  
云服務構建法則:三分開發,七分運維
點擊次數:2679 次 | 發布時間:2015年5月13日
 

 

       

      

 

     對于云服務來說,三分靠開發,七分靠運維。云存儲究竟難在哪兒?為

什么 HDFS,glusterfs,mogilefs 不能作為云存儲的基礎設施?

    對于云服務來說,三分靠開發,七分靠運維。云存儲究竟難在哪兒?為什

么 HDFS,glusterfs,mogilefs 不能作為云存儲的基礎設施?本文基于對

七牛云存儲首席架構師李道兵帶來的《三分開發,七分運維》的精彩分享

的整理,希望大家能從中尋得答案。

我們為什么需要一個公有云?

    作為一個創業或者開公司也好,最基礎 的要解決幾個問題。第一個問題

你的客戶是誰,簡單的說客戶就是有存儲需求的人。什么人有存儲需求呢?

像一些應用就有很多的圖片存儲需求,比如說需要把拍的 照片發到網上,

存儲需求就很強,有很多做音頻、視頻的,比如說美拍,它就面臨一個很

大的問題,用戶的視頻要放在哪里?

    另外一個很大的需求就是說日志存儲,一個網站每天產生很多的日志,

也有很大的價值。但是把它存哪里是一個大問題。

    日志和富媒體都還面臨著另外一個問題,我需要有很強的運維功底,不

夠強的話,維護起來成本比較高。特別是對創業團隊來講,組建一個優秀

的運維團隊是一個非常昂貴的事情。

    別人去解決這個問題的時候,他們的成本究竟是多少呢?比如說存儲圖

片,在我們學PHP的時候,就有一些超級簡單的解決方案,比如直接上傳

到服務器的磁盤里邊。

  

   這種情況你的文件會放在磁盤里面,在使用RAID5或者RAID10的情況

下,可以保證在單個磁盤壞了的時候整個數據不丟,是不是這樣就可以了

呢?至少還有如下幾個問題,第一個問題是宕機,特別是主板損壞或者內存

損壞的情況,在機器修好之前這部分數據就不可訪問了,互聯網企業宕機

造成的損失越來越大,用這種方案帶來的第一個問題是單點故障怎么解決?

這是個很難接受的后果。

 

    第二個問題是IOPS和吞吐量都很有限。IOPS的限制在你的磁盤。一般

存圖片和音視頻不會使用SSD,如果做RAID5的話你能拿到 200~300的

IOPS,RAID10能達到600左右,但如果你有大量的小圖片(比如縮略

圖),這點 IOPS 就無法支撐你的業務了。另外一點是吞吐量,如果整個網

站越做越大的時候,一些音視頻的下載很可能把你的機器壓跨,特別是在

只配備了千兆網卡的情況下。萬兆網卡能好一些,但是對應的成本很高。

最大的問題是容量有限,市面上能買的是4T盤,12塊盤加起來是48T,你

做一個 RAID10后是24T。你的存儲存滿了之后,單機存儲方案就有問題

了。存儲滿了這個方案就完全走不通了。所以說這種方案只適合一些實驗

性質的,自己玩一玩的東西還是很適合,如果你去創業,開一個新公司,

真正做一個服務的話,從最開頭你就要考慮這個東西存哪里合適,要怎么

存。

 

glusterfs的問題

     回到幾年前的話,那時候有一個很漂亮的方案的glusterfs,做的比較

早,大概 2006年就應用的比較多了。他有很多很炫的東西,像可以當一個

普通磁盤來掛載,你可以在上面創建目錄,也可以使用任何其他 POSIX

API,所以你以前針對本地文件的所有程序不用做任何修改就可以放到上面

去。第二個來講無中心的架構,機器數量不受限制。但是實際用下來缺點

也很明顯。

     第一個問題是無中心的架構有兩個缺點是致命的,是所有無中心架構都

無法逃避的缺點,一上來你不會上一個很大的集群,會先上3臺或者6臺測

試一下,當你的容量不夠的時候,就會想到擴容到12臺,基于客戶端Hash

就會出現問題,之前一三五七放第1組,二四六八放第2組,現在變成一五

放第1組,二六放第2組。剩下的三七要放到第3組,四八要放到第4組。你

有一半的數據需要遷移,這個時候你整個系統就處于不可用的狀態。你知

道搬數據特別是通過網絡搬數據是一件超級痛苦的事情,大家有空可以算

一下,簡簡單單搬一個4T的盤透過千兆網搬的話是4萬秒,差不多是一天,

這樣才是一塊盤。如果通過網絡搬一臺機器12塊盤的話,幾天就過去了。

這種架構導致你的整個系統是一個固定容量好說,如果你的系統容量不固

定,在你擴容的時候會超級痛苦。

    第二個問題這種客戶端架構會導致兩三臺機器結構完全對稱,從一個方

面來說比較好維護,我這個數據的這一份知道在哪里,另外也知道在哪

里。但是有一個問題,你第一塊磁盤壞了,你修復要多久?在對稱盤的情況

下,第一塊磁盤修復了,我把這塊卸下來,安裝一模一樣好盤到當前位

置,拷貝出來數據。一塊4T要拷16小時,而且你還要考慮到在拷貝的過程

中不要跟你的業務搶帶寬。在16個小時之內,你的第二塊盤不能壞,有沒

有可能運氣超級不好的時候,第一塊壞了的話,沒有修復完成的時候,第

二塊又壞掉了,這對你來講是災難性的事件。

    第二個是它自身的設計有些問題,數據鏈路非常長,所以小文件性能是

超級差的。比如說幾十K級別的文件,在互聯網應用里面,特別是針對圖片

的一些應用的話,幾十K是超級常用的東西?蛻羯蟼饕恍┰紙D或者縮略

圖等等,這些小文件的性能超級差。

    第三個是要實現兼容,大概是40多個API,簡單的云存儲只需實現三到

四個API就可以了。40多個API導致它的整個架構非常復雜。

    所以說對于我來講glusterfs只能適用于一些特殊領域,小規模、容量可

預估的,同時你的程序很難改造到基于云存儲的API來實現,比如買的是第

三方提供的程序,這種情況下你用這個是最好的選擇。

mogilefs 的問題

    互聯網企業的話,mogilefs用的比較多,中小網站存一些圖片等等的用

得非常廣。優點是有中心、擴容和修復更方便。缺點是總條目數受中心限

制,還有就是大文件上傳不方便。因為它的中心實際是一個數據庫,所以

他的能力就受這個數據庫的能力限制。比如說mogilefs幾千萬條問題不

大,再往上的數量級呢?幾億、十億,甚至更多的話就有點扛不住了。中國

網民是4億人,如果每個人都來使用你的應用的話,一百億的文件是一個可

以很快達到的高度。在這個領域來說,整個數據庫會出現問題,會扛不

住。

   所以說mogilefs適用于文件數量不太多,幾千萬水平,總容量PB往下的

規模。訪問頻率在數據庫能扛住,同時不用考慮太多大文件的問題。

 

Hadoop 的問題

    當然說到存儲不得不提Hadoop的問題,他的優點是超強的伸縮性,不

用任何改動就可以上到1000臺規模,阿里在5000臺做過一些實驗。只不過

他們現在遷移到自己的系統,這個就慢慢地放棄掉了。

     Hadoop拿來存文件有些什么問題呢?本身設計的目標不是做文件存儲

的。它是按照離線數據分析業務來設計的,可用性就低了。你在上面不停

地取文件,大概有很小的一個概率,大概千分之一到千分之五的情況下是

取不到的。對離線分析業務來講不是什么問題,取不到等三四秒重新做一

遍就可以了。但是對在線應用來講的話,圖刷不出來了,是一個紅叉,或

者說音視頻播放不了,這都是很大的問題。

    大概是兩個方面造成的,一個是Java語言本身的問題,另一個是

hadoop數據在平衡時數據訪問會超時。

    第二個是小文件支持不好,Hadoop的塊大小是64MB,你在上面直接存

幾十K的文件,那么它的NameNode內存會被用滿,可能你用十臺的話,

就已經到極限了。

混搭模型

    就是說你做存儲的話,很多小的公司自己做存儲是基于這些。還有一些

其他的,比如說Hbase、Hadoop+HBase等等這些,簡單思路就是把小文

件拼成一個大文件。

上一篇存儲虛擬化大幅減少了宕機時間...
下一篇: 最后一個了
郵編:450000 Copyright 2011-2012 版權所有 © 河南鼎盛電子技術有限公司 網站支持:盤古科技