阿里云 云存儲網(wǎng)關(guān)緩存工作原理,阿里云云存儲網(wǎng)關(guān)阿里云 云存儲網(wǎng)關(guān)緩存工作原理前言云存儲網(wǎng)關(guān)支持通過傳統(tǒng)的文件協(xié)議(SMB/NFS)來訪問OSS Bucket里面的數(shù)據(jù),并能夠通過緩存技術(shù)將用戶頻繁訪問的熱點(diǎn)數(shù)據(jù)保留在網(wǎng)關(guān)側(cè)的緩存盤里,從而提供給用戶更好的訪問體驗。使得用戶在享受云上海量OSS存儲空間的同時,還兼具本地......
前言
云存儲網(wǎng)關(guān)支持通過傳統(tǒng)的文件協(xié)議(SMB/NFS)來訪問OSS Bucket里面的數(shù)據(jù),并能夠通過緩存技術(shù)將用戶頻繁訪問的熱點(diǎn)數(shù)據(jù)保留在網(wǎng)關(guān)側(cè)的緩存盤里,從而提供給用戶更好的訪問體驗。使得用戶在享受云上海量OSS存儲空間的同時,還兼具本地的高速訪問性能。下面是阿里云文件網(wǎng)關(guān)的架構(gòu)圖。
用戶在使用阿里云云存儲網(wǎng)關(guān)時,經(jīng)常會碰到一些緩存相關(guān)的問題,比如在創(chuàng)建共享時如何選擇緩存盤的容量和類型,比如緩存的數(shù)據(jù)淘汰策略是什么等。本文接下來的內(nèi)容將結(jié)合緩存盤的工作原理來解開這些困惑。云存儲網(wǎng)關(guān)根據(jù)支持的協(xié)議的不同,分為支持NFS/SMB文件協(xié)議的文件網(wǎng)關(guān)和支持iSCSI協(xié)議的塊網(wǎng)關(guān)。它們兩者的緩存工作機(jī)制是不一樣的,本文主要針對的文件網(wǎng)關(guān)。
工作原理
文件網(wǎng)關(guān)支持緩存模式和復(fù)制模式兩種模式,絕大部分用戶使用的應(yīng)該都是緩存模式。緩存模式是指緩存盤的數(shù)據(jù)到一定比例之后,文件網(wǎng)關(guān)會自動淘汰那些訪問不頻繁的數(shù)據(jù)。在這種模式下,固定容量的緩存盤可以管理遠(yuǎn)遠(yuǎn)大于緩存盤實際容量的OSS Bucket。復(fù)制模式則不同,數(shù)據(jù)在網(wǎng)關(guān)側(cè)和OSS Bucket里面是1:1的,所以網(wǎng)關(guān)不會去做數(shù)據(jù)的淘汰,一定容量的緩存盤理論上只能管理對應(yīng)于緩存盤容量的OSS Bucket。復(fù)制模式針對的場景主要是OSS Bucket總數(shù)據(jù)量基本不會增長且總數(shù)據(jù)量不是特別大,同時希望將所有數(shù)據(jù)都保持在網(wǎng)關(guān)共享里加速訪問。不過這種場景畢竟在少數(shù),絕大多數(shù)用戶會選擇緩存模式以應(yīng)對日后OSS Bucket里面的數(shù)據(jù)增長。
在緩存模式下,緩存盤的數(shù)據(jù)會在60%滿的時候觸發(fā)淘汰直到實際數(shù)據(jù)量落到60%以下,從而保證永遠(yuǎn)有足夠的緩存容量面對新的數(shù)據(jù)寫入。那么淘汰的策略是如何的呢,如何決定哪些數(shù)據(jù)是可以淘汰的呢文件網(wǎng)關(guān)淘汰的實際上是已經(jīng)同步到OSS Bucket里面的文件,也就是說對某個文件的最后一次修改應(yīng)用到網(wǎng)關(guān)的SMB或者NFS共享之后,并且網(wǎng)關(guān)已經(jīng)將這個文件上傳到OSS Bucket里面,那么這個文件就是可以淘汰的。如果用戶還在持續(xù)的對某個文件進(jìn)行寫入,這個文件是不會被選為一個淘汰的對象的。所以用戶如果同時打開多個文件進(jìn)行寫入,緩存盤的容量就應(yīng)該比同時在寫的所有文件的總?cè)萘恳螅駝t就有可能導(dǎo)致數(shù)據(jù)來不及淘汰而造成寫入錯誤
在復(fù)制模式下,因為數(shù)據(jù)不會發(fā)生淘汰,相對來說就簡單很多。緩存盤的容量比OSS Bucket里面的總數(shù)據(jù)大就可以,這種模式注定它不可能管理特別大的數(shù)據(jù)量,因為當(dāng)前支持的緩存盤的最大容量32TB。所以除非對復(fù)制模式有強(qiáng)需求,還是推薦使用緩存模式,相對來說更加靈活。
另外文件網(wǎng)關(guān)會預(yù)留一部分緩存盤空間存儲元數(shù)據(jù),一般會預(yù)留20%。這部分元數(shù)據(jù)主要是用來存儲單個文件的元數(shù)據(jù),包括大小,修改時間等等。所以即使某個文件的數(shù)據(jù)被淘汰之后,網(wǎng)關(guān)還是存儲了一個樁文件在元數(shù)據(jù)里,這樣用戶從客戶端進(jìn)行文件夾瀏覽的時候,還是能夠看到數(shù)據(jù)被淘汰掉的這個文件,給用戶一致的體驗。用戶如果試圖讀取這個文件內(nèi)容,網(wǎng)關(guān)會負(fù)責(zé)將數(shù)據(jù)再次從OSS Bucket里獲取到緩存盤里面。這部分元數(shù)據(jù)空間關(guān)系到當(dāng)前共享可以支持的最大文件數(shù)目,畢竟40GB的緩存盤的元數(shù)據(jù)空間肯定低于50GB的緩存盤的元數(shù)據(jù)空間。一般來說100G的緩存盤已經(jīng)可以支持到1000萬文件了。
注意事項
了解緩存的工作原理之后,下面這些其實都比較好理解了。
如果你的業(yè)務(wù)對帶寬和IOPS的要求比較高,比如跑的數(shù)據(jù)庫之類的對時延要求比較高的業(yè)務(wù),那么可能SSD類型的緩存盤更適合,因為它擁有更好的帶寬和IOPS。SSD類型的緩存盤的帶寬和IOPS都會比高效云盤更優(yōu)秀,SSD緩存的最高IOPS可以到25000,高效云盤緩存是5000,帶寬方面SSD緩存最高可以到300MB,高效云盤緩存的帶寬最高可以到140MB。
容量的選擇主要和并發(fā)數(shù)和最大文件大小有關(guān)。緩存盤的可用容量(需要扣除元數(shù)據(jù)空間)需要大于并發(fā)數(shù)和最大文件大小的乘積,這樣才不會造成數(shù)據(jù)寫入錯誤。當(dāng)然越大的緩存盤本地能夠緩存的熱數(shù)據(jù)量也就越多,總體來說性能會更好。所以如果希望能夠獲得比較好的性能,緩存盤還是要設(shè)置的稍微大一些。
云存儲網(wǎng)關(guān)的控制臺現(xiàn)在也提供了非常方便的計算器,根據(jù)用戶輸入的IOPS和帶寬需求等可以作出合適的緩存容量和類型的推薦。結(jié)合我們前面講的對照看下圖中每一個條目,相信很好理解。
小結(jié)
本文介紹了云存儲網(wǎng)關(guān)文件網(wǎng)關(guān)的緩存工作原理,包括緩存盤元數(shù)據(jù)空間管理,數(shù)據(jù)淘汰策略等,旨在解答用戶在選擇和使用緩存盤時遇到的一些問題。
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部