精品国产乱码久久久久久_精品人妻人人做人人爽夜夜爽_再深点灬舒服灬太大了少妇_偷偷色噜狠狠狠狠的777米奇





技術人生系列——傳統集中式存儲與云化分布式存儲解析

日期(qi):2021-01-21

作者簡介:楊學斌,現擔任中亦安圖資深架構師。專注于IT數據中心建設23年,15年以上全球領先IT企業工作經歷,8年以上專職構架師。精于IT基礎構架設計,多次參與金融、電信、大型制造業數據中心的整體規劃設計與實施工作。

 

文章梗概:本文通過分析基于分布式構架的云存儲與傳統集中式存儲在外部接口與內部構架上的區別,闡述各自的優勢以及適用場景,為基礎構架設計中存儲搭建提供設計選擇依據。

 

關(guan)鍵(jian)詞(ci):分布式存儲;集(ji)中式存儲; FC-SANIP-SAN
 

圖片

作(zuo)者:中亦科技資深架構(gou)師  楊學斌

 

在(zai)我的視野里,2010后存(cun)儲世(shi)界只有兩個革命性(xing)的技術進步,一個是(shi)SSD的廣泛使(shi)用導致單盤IOPS的大幅度提(ti)升(sheng),另一個是(shi)單盤容量越來越大。

 

這兩(liang)項技術的廣(guang)泛應用領導了最(zui)近十年存儲的演進與發展(zhan)。于(yu)是大家看(kan)到了今(jin)天的存儲世界和十年前最(zui)明顯的兩(liang)大區別:

 

●高端集中(zhong)式存(cun)儲的沒落。

●軟(ruan)件(jian)定(ding)義的分布式存儲(SDS)廣泛應用于客戶的數據中心。

 

但(dan)是(shi)(shi),凡(fan)事兩面(mian)看。基(ji)于當前主(zhu)流大(da)眾性(xing)商業客戶(hu)應(ying)用(yong)對于IT基(ji)礎構架的(de)(de)(de)需求,我(wo)們并不同意很(hen)多廠家所倡導的(de)(de)(de)數據中心基(ji)礎構架全面(mian)軟(ruan)件(jian)化(SDDC——軟(ruan)件(jian)定義的(de)(de)(de)數據中心)。其中一(yi)個關鍵的(de)(de)(de)技術點(dian)就是(shi)(shi)通用(yong)分布(bu)式存儲解(jie)決(jue)方案相(xiang)對于傳統的(de)(de)(de)FC集中存儲,依然有很(hen)大(da)的(de)(de)(de)性(xing)能(neng)差(cha)距。

 

本文從存儲設計構(gou)架出發,探討(tao)集中式(shi)存儲和分布式(shi)存儲的構(gou)架區別,以(yi)探求不(bu)同產品的不(bu)同應(ying)用場景(jing)。

 

一.數據存儲評估的幾個關鍵點

 

 1>數據(ju)存儲方式

     無論是文(wen)件,還是數據(ju)庫里使(shi)用的(de)(de)(de)(de)裸設備,我(wo)們日常使(shi)用的(de)(de)(de)(de)數據(ju)都是通過某種方式存(cun)儲(chu)在(zai)磁盤里的(de)(de)(de)(de)。我(wo)們最早接觸(chu)的(de)(de)(de)(de)數據(ju)放在(zai)本地(di)的(de)(de)(de)(de)硬(ying)盤里,也(ye)就是以文(wen)件的(de)(de)(de)(de)形(xing)式存(cun)儲(chu)。

 

     在外置存儲世界,常見的存儲(chu)(chu)方式(shi)有兩種(zhong)。一種(zhong)是(shi)數(shu)據存儲(chu)(chu)以FC(或(huo)者iSCSI)協議連接到(dao)外(wai)置的塊存儲(chu)(chu)設備。操作系統只(zhi)是(shi)將其認作普通硬盤(pan)加以管理它(ta),并(bing)不知道這塊硬盤(pan)是(shi)外(wai)置存儲(chu)(chu)的一塊邏輯空間。另一種是數據存儲以NFS(或者CIFS)網絡文件訪問協議連接到外置的文件存儲設備。從操作系統訪問看,它是一個目錄,并不知道這個目錄是在遠程存儲設備上。

 

     還(huan)有一種(zhong)我(wo)們常見的(de)(de)文(wen)件訪問(wen)方式,就(jiu)是(shi)(shi)(shi)(shi)文(wen)件異地(di)服(fu)務。典型的(de)(de)是(shi)(shi)(shi)(shi)我(wo)們從(cong)上(shang)(shang)大學(xue)就(jiu)在用(yong)的(de)(de)FTP。但(dan)是(shi)(shi)(shi)(shi)ftp并不是(shi)(shi)(shi)(shi)NAS,我(wo)們處(chu)理(li)ftp文(wen)件,需要先下載到本(ben)地(di),經過(guo)處(chu)理(li)后再重(zhong)新上(shang)(shang)傳到ftp server上(shang)(shang)。而(er)NAS的(de)(de)文(wen)件處(chu)理(li)是(shi)(shi)(shi)(shi)直(zhi)接可(ke)以在NAS server上(shang)(shang)完成的(de)(de)。

 

     隨著(zhu)互聯(lian)網的(de)發展,最近很多商業客(ke)戶(hu)開始使用(yong)對(dui)(dui)象(xiang)存(cun)儲協議,以(yi)滿足更(geng)大容量以(yi)及云應用(yong)對(dui)(dui)接的(de)業務需求。本質上對(dui)(dui)象(xiang)存(cun)儲的(de)方(fang)式(shi)和(he)以(yi)前的(de)FTP是比較相近的(de),但是使用(yong)的(de)協議是完全不同的(de)。

 

 

2>不同的數據存儲訪問需要不同的存儲性能

     在當今的企業應用中(zhong),外置塊數(shu)據訪問已經至少使用了(le)20多年了(le)。從早(zao)期的高性(xing)能OLTP數(shu)據庫到近些年的虛(xu)擬機映像和實例,是我們最(zui)常用的高性(xing)能數(shu)據訪問方式(shi)。

 

     網(wang)(wang)絡文件(jian)訪問(wen)同樣常用。無論是搭建文件(jian)服務器,還是使用專(zhuan)業(ye)NAS產品,理論上(shang)都是在(zai)訪問(wen)網(wang)(wang)絡中另一個(ge)位置的(de)文件(jian)。最(zui)常見的(de)就(jiu)是windows的(de)網(wang)(wang)上(shang)鄰居(ju)和(he)linux的(de)NFS了。

 

     對(dui)象存儲是最近幾年隨著客(ke)戶(hu)非結(jie)構(gou)化數據快速增長而開始廣泛使用的第三(san)種(zhong)方(fang)式。本質上和我們企業以前使用的FTP區別不(bu)大,但是與公有(you)云存儲的無縫對(dui)接和遠距離大文件訪(fang)問性能使得其快速推(tui)廣。

 

     無論什(shen)么樣的訪問,對(dui)于存儲(chu)的需求無非容量和性能(neng)兩個(ge)維度(du)。容量大家都懂,性能(neng)我(wo)們通常考(kao)慮以下(xia)三(san)個(ge)因素:

 

IOPS:在固定的數據塊大小限定下,每秒讀寫次數

 

Throughput:吞吐量

 

Latency:每次讀寫平均需要的時間。要注意的是,我們不能只看一段時間內平均響應時間,更要看讀寫響應時間的差異以及最高讀寫響應時間。通常在傳統集中式存儲時代不被重視的指標在全SSD磁盤存儲和分布式存儲中都變得非常有意義

 

     針對不(bu)同存儲場景的性(xing)能需求,我(wo)們使用了下圖總(zong)結:

 

圖片

 

由上圖我們可以總結出:

 

●小容量(liang)高性能存儲(chu)需求(qiu)場景下(xia)FC存儲(chu)仍然是第一(yi)選擇(ze)。

 

●大容量(liang)低性能存(cun)儲需求(qiu)場景下對象存(cun)儲有(you)(you)其特(te)有(you)(you)的優勢。

 

●文(wen)件(jian)(jian)訪問(wen)是(shi)一(yi)個中間階段(duan),越(yue)是(shi)高(gao)頻小(xiao)文(wen)件(jian)(jian)的(de)(de)訪問(wen)越(yue)推(tui)薦集中式NAS,越(yue)是(shi)大文(wen)件(jian)(jian)低頻訪問(wen)越(yue)傾(qing)向于(yu)使(shi)用分(fen)布式NAS存(cun)(cun)儲(chu)。這里有(you)一(yi)點特別(bie)要注意的(de)(de)是(shi)文(wen)件(jian)(jian)備(bei)份問(wen)題,集中式NAS可以通過NDMP協(xie)議快(kuai)速備(bei)份大量小(xiao)文(wen)件(jian)(jian)。但是(shi)分(fen)布式存(cun)(cun)儲(chu)由于(yu)自身構架(jia)問(wen)題,似乎(hu)看(kan)不到性能相(xiang)當的(de)(de)解決方案。

 

     我們日常工作可以(yi)參考上表并根據自己(ji)的需求來選(xuan)擇(ze)采(cai)購使用存(cun)儲。

 

 

二、集中式存(cun)儲(chu)與分(fen)布式存(cun)儲(chu)在塊存(cun)儲(chu)環境(jing)下性能差異分(fen)析

 

     當前(qian)在對象存(cun)(cun)儲(chu)(chu)(chu)上使用分(fen)布式基本(ben)上已經(jing)沒(mei)有爭議(yi)。無(wu)論是(shi)(shi)開源還是(shi)(shi)商業軟件,均已經(jing)使用分(fen)布式構架。但是(shi)(shi)在塊存(cun)(cun)儲(chu)(chu)(chu)和高端NAS上,存(cun)(cun)儲(chu)(chu)(chu)是(shi)(shi)否應該(gai)全面(mian)軟件化,存(cun)(cun)在比較大的爭議(yi)。

 

     支持分布式的(de)主(zhu)要是一些云廠商。由于集(ji)中式存儲的(de)封閉性,很難(nan)像分布式存儲那樣可以完美的(de)和私有云(超融合)配合完成(cheng)工作。每個私有云和超融合廠家幾乎都有自研技(ji)術的(de)分布式存儲軟件(jian),就連開源(yuan)云平臺openstack首選也是CEPH,可見趨(qu)勢之明(ming)顯。

 

 ;    但是實際(ji)很(hen)多客戶卻只在外圍應用集群使用分布式存儲,而在核心數據層還是集中存儲的天下。筆者認為(wei)這種(zhong)現(xian)狀是由于:

 

●集中(zhong)(zhong)式存儲可(ke)提(ti)供的(de)容量完(wan)全可(ke)以滿足行式數據庫和中(zhong)(zhong)小規模虛擬化集群的(de)需求。

 

●集中(zhong)式存儲當(dang)前可以提供(gong)的高性能(neng)仍然是(shi)領先的。目前最(zui)好的分布式存儲可提供(gong)的性能(neng)都(dou)是(shi)對集群(qun)的,而對單一數(shu)據庫/虛擬機還是(shi)相對比較有(you)限。

 

     以下通過不(bu)同存儲(chu)構(gou)架(jia)的(de)特(te)點闡述兩(liang)種類型(xing)存儲(chu)的(de)差(cha)異。

 

   1>存儲網絡連接差異

     在20多年前,服(fu)務器(qi)訪問外部存(cun)(cun)儲通常是通過SCSI線。后來有了專(zhuan)用(yong)(yong)的存(cun)(cun)儲網絡,服(fu)務器(qi)和存(cun)(cun)儲都是通過專(zhuan)用(yong)(yong)存(cun)(cun)儲網絡連接到服(fu)務器(qi)。這(zhe)種模式沿用(yong)(yong)至(zhi)今。

 

     早期我們使用的(de)(de)(de)專(zhuan)用的(de)(de)(de)FC-SAN網絡(luo),不僅成本高昂,而(er)且需要(yao)專(zhuan)用的(de)(de)(de)管理軟件,很難(nan)融入整體運維。而(er)且SAN網絡(luo)極(ji)其(qi)關鍵,SAN網絡(luo)崩塌造成的(de)(de)(de)后果必(bi)然是客戶(hu)大(da)量生產(chan)業務停止(zhi)。成為運維管理的(de)(de)(de)一個(ge)老大(da)難(nan)。

 

     近(jin)年(nian)來分布式(shi)云(yun)存儲考(kao)慮到易用(yong)性以及廉價,往(wang)往(wang)使用(yong)萬兆以太網(wang)作為(wei)存儲網(wang)絡來替代以前的FC-SAN網(wang)絡。

 

     但是,IP-SAN網(wang)絡(luo)畢(bi)竟是基于TCP/IP運行。TCP/IP網(wang)絡(luo)為(wei)了保(bao)證數據可完整的送達到(dao)世界(jie)上任何一個接入點,必然(ran)在(zai)數據傳輸中增加了大量的防錯措施(shi),導致數據傳輸效(xiao)率(lv)下降。

 

     理論上(shang)FC-SAN是把存儲SCSI協議(yi)跑在(zai)光纖(xian)上(shang),而(er)IP-SAN則是把數據(ju)訪問通過以太網(wang)絡傳輸完成。

 

     具體(ti)比較可參考下表(biao):

圖片

 

2>數據寫入性能差異

     集中式存儲組(zu)(zu)成分為(wei)前(qian)端和后(hou)端,前(qian)端由(you)雙(shuang)控(kong)制(zhi)(zhi)器(qi)或(huo)者多控(kong)制(zhi)(zhi)器(qi)組(zu)(zu)成,后(hou)端由(you)一(yi)組(zu)(zu)一(yi)組(zu)(zu)的磁盤(pan)構成。

 

     一個重要的(de)技術(shu)點就是服務(wu)器寫(xie)入(ru)(ru)存(cun)(cun)儲(chu)時(shi),寫(xie)到前端控(kong)制器里的(de)cache就已經認為寫(xie)完成(cheng)。準確的(de)是說寫(xie)在(zai)內存(cun)(cun)中(zhong)就算完成(cheng)了。所以(yi)集中(zhong)式存(cun)(cun)儲(chu)可(ke)以(yi)有(you)很高的(de)寫(xie)效率。寫(xie)在(zai)內存(cun)(cun)是不是很危(wei)險?是的(de),但(dan)是集中(zhong)式存(cun)(cun)儲(chu)使用兩個技術(shu)來保(bao)證寫(xie)入(ru)(ru)cache的(de)不會(hui)丟失。

 

     為了應對控(kong)(kong)制(zhi)器(qi)(qi)失(shi)敗(bai),通(tong)常集中式存儲至少有(you)兩個(ge)控(kong)(kong)制(zhi)器(qi)(qi)。在我們寫(xie)入一(yi)個(ge)控(kong)(kong)制(zhi)器(qi)(qi)的cache時候,控(kong)(kong)制(zhi)器(qi)(qi)會(hui)自動(dong)把數據通(tong)過(guo)高速專用總線寫(xie)入另一(yi)個(ge)控(kong)(kong)制(zhi)器(qi)(qi)。以保證控(kong)(kong)制(zhi)器(qi)(qi)失(shi)敗(bai)切換的時候數據不會(hui)丟失(shi)。

 

     集中式存(cun)儲通常會配置電池,就(jiu)是為了(le)在發(fa)生意外(wai)斷電的時(shi)(shi)候,可(ke)以(yi)提供足(zu)夠(gou)的電能,把(ba)cache中的數據寫(xie)入硬(ying)盤或者某個(ge)臨時(shi)(shi)空間。

 

     分(fen)布式存儲(chu)由于節點之間(jian)沒有高速通信通路,在數(shu)據寫(xie)入(ru)一個節點時,需要通過以(yi)太(tai)網(wang)同步寫(xie)入(ru)另一個節點,以(yi)保證(zheng)數(shu)據的(de)安全。

 

     分布式存儲通(tong)(tong)常使(shi)用(yong)標準的X86服(fu)務(wu)器作為(wei)硬件,通(tong)(tong)常使(shi)用(yong)SSD內(nei)置硬盤作為(wei)緩存,服(fu)務(wu)器通(tong)(tong)過(guo)以太網將數據寫入(ru)SSD硬盤即算完成(cheng)寫入(ru)過(guo)程。

 

     以上兩(liang)種(zhong)不同的(de)寫(xie)入(ru)方式(shi)(shi)(shi)會導致兩(liang)種(zhong)存儲(chu)(chu)在(zai)寫(xie)入(ru)延時產(chan)生(sheng)十(shi)倍以上的(de)差異。盡管分布式(shi)(shi)(shi)存儲(chu)(chu)也(ye)可以在(zai)某些測試環境下(xia)給出比(bi)較高的(de)IOPS,但是(shi)在(zai)OLTP數(shu)據(ju)庫環境下(xia),還是(shi)首選高效的(de)集中式(shi)(shi)(shi)存儲(chu)(chu)。

 

 

三(san)、分布式存儲構架(jia)對于性能的影響

 

     不(bu)同的分(fen)布式存儲構架也會導致不(bu)同的性(xing)能和(he)擴(kuo)展性(xing),主要體(ti)現在元數(shu)據的存儲位置。

 

     下(xia)面我們以最常見的(de)兩種分(fen)布式(shi)存儲舉例。

 

     HDFS文(wen)件系統的name node和data node 是分開的,通常需要先訪(fang)問name node得到數據存儲位置,再去data node讀寫數據。如下(xia)圖所(suo)示(shi):

圖片

 

     另(ling)一種方式是(shi)元數(shu)(shu)據(ju)和數(shu)(shu)據(ju)物理混用,這種結構最大的(de)優勢是(shi)所(suo)需要存取(qu)的(de)數(shu)(shu)據(ju)和元數(shu)(shu)據(ju)有可(ke)能在同一臺服務器(qi)上(shang),從而減小了數(shu)(shu)據(ju)存儲路徑。但是(shi)隨(sui)著集群數(shu)(shu)量(liang)的(de)增加,元數(shu)(shu)據(ju)應該設置幾(ji)份(fen)呢(ni)?如果包含(han)元數(shu)(shu)據(ju)的(de)服務器(qi)脫離集群,是(shi)否需要馬(ma)上(shang)在其它節點上(shang)復制一份(fen)元數(shu)(shu)據(ju)?每個軟件各不相(xiang)同,但是(shi)原(yuan)理是(shi)一樣的(de)。下面是(shi)IBM的(de)GPFS軟件讀寫過程,可(ke)做參考。

圖片

 

     通(tong)過兩種(zhong)方式的對比(bi),可以看出(chu)元數據單獨存(cun)儲(chu)通(tong)常可以提(ti)高容量,但(dan)是速度(du)更(geng)慢(man),更(geng)適合文件和對象(xiang)存(cun)儲(chu)。元數據混(hun)放可以提(ti)高數據存(cun)儲(chu)速度(du),更(geng)適合塊存(cun)儲(chu)。

 

 

四、結語

 

圖片

 

     構架在(zai)FC-SAN上傳統(tong)的(de)集中(zhong)式存儲,以(yi)(yi)高性能,高穩定性的(de)特點仍然(ran)是(shi)企(qi)業級用戶(hu)核心業務的(de)首選(xuan)。但是(shi)由于(yu)其封閉的(de)技術,較高的(de)成本(ben)(ben),擴展(zhan)性差以(yi)(yi)及SAN網絡本(ben)(ben)身(shen)的(de)運(yun)維成本(ben)(ben),更(geng)多的(de)客戶(hu)也(ye)開始在(zai)部分環境中(zhong)使用分布(bu)式存儲取代集中(zhong)式存儲。


     分(fen)布式存儲通常使用(yong)開源(yuan)或(huo)者商業軟件,硬件使用(yong)標準X86服(fu)務器,理論上有較高的(de)(de)性(xing)價比,容量和(he)性(xing)能可(ke)按需(xu)增長配置,可(ke)更好的(de)(de)接受(shou)云系統的(de)(de)管理和(he)調度。但是,除了在性(xing)能上的(de)(de)差距(ju),多副本(ben)機制導致的(de)(de)磁盤利用(yong)率大(da)幅下降,也(ye)是影響成本(ben)的(de)(de)重(zhong)要因素。   

 

     我(wo)的(de)每(mei)篇文(wen)章結論(lun)都(dou)是一(yi)(yi)樣(yang)的(de)。世上從沒有一(yi)(yi)個(ge)完(wan)美的(de)產品,只有更加(jia)適(shi)合客戶需求的(de)產品。我(wo)們理解每(mei)個(ge)產品的(de)優勢和不足,是為了更好的(de)選擇應用場景。

 

 


鍛造凝煉IT服務 助推用戶事業發展
地址:北京市西城區百萬莊大街11號糧科大廈3層
電話:(010)58523737
傳真:(010)58523739