參考4.ssd讀、寫緩存原理了解_第1頁
參考4.ssd讀、寫緩存原理了解_第2頁
參考4.ssd讀、寫緩存原理了解_第3頁
參考4.ssd讀、寫緩存原理了解_第4頁
參考4.ssd讀、寫緩存原理了解_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、sangfor虛擬存儲(chǔ)專項(xiàng)介紹2015/11/19Part 1 SSD讀、寫緩存原理在VS里面,會(huì)默認(rèn)把系統(tǒng)內(nèi)的SSD磁盤作為緩存盤使用。在VS1.X版本,SSD磁盤只作為讀緩存使用,VS2.0開始支持SSD寫緩存。VS客戶端和服務(wù)端服務(wù)端:負(fù)責(zé)處理底層磁盤IO客戶端:負(fù)責(zé)向上層提供存儲(chǔ)接口(如訪問的掛載點(diǎn))VS SSD讀緩存工作在客戶端VS2.0的SSD寫緩存則工作在服務(wù)端SSD緩存盤-讀寫緩存VS SSD讀緩存原理01從客戶端理解SSD讀緩存:SSD讀緩存模塊工作在文件訪問入口和服務(wù)端通信層之間所有對(duì)文件的IO動(dòng)作都會(huì)經(jīng)過SSD讀緩存模塊進(jìn)行處理。注意事項(xiàng):SSD讀緩存的緩存顆粒度是按文件

2、數(shù)據(jù)塊緩存,不是文件整體。例如,A、B、C 3個(gè)文件,可以分別各緩存讀過的一部分?jǐn)?shù)據(jù),沒讀過的部分不緩存。SSD緩存盤-讀寫緩存VS SSD讀緩存原理0101VS SSD讀緩存原理未緩存數(shù)據(jù)塊的首次讀操作步驟說明:01VS SSD讀緩存原理1、從上層下來一個(gè)針對(duì)A文件的區(qū)間塊 A1,A2 的讀操作12、由于該數(shù)據(jù)塊是首次讀取,沒命中SSD讀緩存。該讀操作會(huì)直接傳遞到下去,進(jìn)入流程23、A1,A2的讀操作繼續(xù)傳遞到服務(wù)端,進(jìn)行具體的讀操作,完成后返回,進(jìn)入流程34、數(shù)據(jù)塊A1,A2在流程3里面返回到SSD讀緩存模塊,進(jìn)入流程4。流程4包含兩步操作流程 4.1 SSD讀緩存模塊會(huì)把數(shù)據(jù)塊A1,A2

3、復(fù)制一份保存到SSD磁盤并建立相關(guān)索引,對(duì)應(yīng)4.1 4.2 原數(shù)據(jù)塊A1,A2繼續(xù)往上返回到上層響應(yīng)讀操作,對(duì)應(yīng)4.2注意事項(xiàng):4.1、4.2是并發(fā)進(jìn)行,因此這個(gè)緩存動(dòng)作不會(huì)對(duì)原操作造成延時(shí)通過以上操作,數(shù)據(jù)塊A1,A2就被保存到SSD磁盤內(nèi),以備下次讀取直接從SSD磁盤讀取。1234.14.2二次文件讀取步驟說明01VS SSD讀緩存原理1、從上層下來一個(gè)針對(duì)A文件的區(qū)間塊 A1,A2 的讀操作12、由于該數(shù)據(jù)塊A1,A2已經(jīng)有緩存,在SSD讀緩存模塊里面命中索引,從而直接向SSD磁盤發(fā)起讀出緩存數(shù)據(jù)塊A1,A2的操作23、流程3,緩存數(shù)據(jù)塊A1,A2從SSD磁盤返回到SSD讀緩存模塊4、S

4、SD讀緩存模塊把緩存數(shù)據(jù)塊A1,A2返回給上層,流程4對(duì)緩存數(shù)據(jù)塊A1,A2的重復(fù)讀取直接在客戶端返回,避免了服務(wù)端通信的流程,從而減少了延時(shí)和減輕了底層磁盤的IO壓力1243文件寫入01VS SSD讀緩存原理文件讀緩存的寫入操作,目的在于保證緩存的內(nèi)容始終和底層磁盤一致,并且是最新的。但針對(duì)文件寫入的處理并不是寫緩存。VS讀緩存模塊對(duì)寫操作進(jìn)行處理實(shí)質(zhì)是基于最近訪問原則,即最近寫入的數(shù)據(jù)在不久的將來被讀出的概率會(huì)比較高,例如文件共享服務(wù)器,某人傳到文件服務(wù)器的文件,很快會(huì)其他人讀出來下載。VS讀緩存對(duì)寫操作的處理從實(shí)現(xiàn)上分為首次寫預(yù)緩存、二次寫更新緩存。文件塊首次寫入預(yù)緩存說明:01VS S

5、SD讀緩存原理1、寫入操作1經(jīng)過SSD讀緩存模塊,2、由于是寫操作,SSD讀緩存會(huì)直接PASS到下層,流程23、寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會(huì)返回結(jié)果,進(jìn)入流程34、返回結(jié)果經(jīng)過SSD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,則進(jìn)入流程4。如果返回結(jié)果是失敗,則不會(huì)進(jìn)入流程4,而是直接返回結(jié)果到上層,為4.2 4.1 SSD讀緩存模塊會(huì)把數(shù)據(jù)塊A1,A2復(fù)制一份保存到SSD磁盤并建立相關(guān)索引 4.2 原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作注意事項(xiàng):4.1、4.2是并發(fā)進(jìn)行,因此這個(gè)緩存動(dòng)作不會(huì)對(duì)原操作造成延時(shí)數(shù)據(jù)塊A1, A2的寫入也會(huì)保存到SSD磁盤上

6、,以備下次訪問。下次訪問的流程與二次文件讀取流程相同。1234.14.2文件塊二次寫入更新緩存說明:01VS SSD讀緩存原理1、寫入操作1經(jīng)過SSD讀緩存模塊,2、由于是寫操作,SSD讀緩存會(huì)直接PASS到下層,流程23、寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會(huì)返回結(jié)果,進(jìn)入流程34、返回結(jié)果經(jīng)過SSD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,則進(jìn)入流程4。如果返回結(jié)果是失敗,則不會(huì)進(jìn)入更新流程 4.1 SSD讀緩存模塊會(huì)把數(shù)據(jù)塊A1,A2復(fù)制一份保存到SSD磁盤并建立相關(guān)索引 4.2 原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作注意事項(xiàng):4.1、4.2是并發(fā)進(jìn)行,因

7、此這個(gè)緩存動(dòng)作不會(huì)對(duì)原操作造成延時(shí)1234.14.2SSD寫緩存工作在服務(wù)端。由于寫緩存工作在服務(wù)端,也就是說在每個(gè)副本上都有寫緩存,即SSD寫緩存也是多副本的。即使有SSD磁盤突然損壞,也能在副本數(shù)范圍內(nèi)保證數(shù)據(jù)的安全。緩存盤-讀寫緩存02VS SSD寫緩存原理02緩存盤-讀寫緩存VS SSD寫緩存原理02SSD寫緩存模塊結(jié)構(gòu)SSD寫緩存原理是在機(jī)械硬盤上增加一層SSD寫緩存層。SSD寫緩存數(shù)據(jù)流分成藍(lán)色和紅色兩部分。藍(lán)色部分是虛擬機(jī)有數(shù)據(jù)寫入SSD緩存,紅色部分是從SSD緩存讀出數(shù)據(jù)回寫到機(jī)械磁盤。這兩部分是同時(shí)在運(yùn)行的,沒有先后關(guān)系。流程如下:1、上層寫入數(shù)據(jù)請(qǐng)求到達(dá)SSD寫緩存模塊2、

8、SSD寫緩存模塊把數(shù)據(jù)寫入到SSD磁盤,并獲得返回值。3、SSD寫緩存模塊在確定數(shù)據(jù)寫入SSD磁盤后,即立即返回上層模塊寫入成功4、SSD寫緩存模塊在緩存數(shù)據(jù)累計(jì)到一定量后,從SSD磁盤讀出數(shù)據(jù)5、SSD寫緩存把從SSD磁盤讀出的數(shù)據(jù)回寫到機(jī)械磁盤。12345緩存盤-讀寫緩存VS SSD寫緩存原理02SSD寫緩存數(shù)據(jù)讀命中從SSD磁盤回寫到機(jī)械磁盤是需要累積一定數(shù)據(jù)量后才會(huì)進(jìn)行觸發(fā)的。這時(shí)如果來了一個(gè)讀數(shù)據(jù)的請(qǐng)求,SSD寫緩存模塊會(huì)先確認(rèn)該讀請(qǐng)求是否在SSD寫緩存數(shù)據(jù)內(nèi),如果有則從SSD緩存內(nèi)返回;如果沒有則透到機(jī)械硬盤去讀取。流程如下:1、上層下發(fā)讀請(qǐng)求2、SSD寫緩存模塊先檢查數(shù)據(jù)是否還在

9、緩存內(nèi)未回寫3、命中緩存,返回?cái)?shù)據(jù)(如果不命中緩存,則會(huì)返回從底層數(shù)據(jù)盤讀?。?、向上層返回?cái)?shù)據(jù)1.Read2.Check cache3.Hit cache4.Return from cache緩存盤-讀寫緩存VS SSD寫緩存原理02SSD寫緩存寫滿后處理如果上層持續(xù)對(duì)SSD寫緩存進(jìn)行大量不間斷的數(shù)據(jù)寫入,直到SSD寫緩存空間用完。這時(shí)的上次繼續(xù)寫入數(shù)據(jù)的速度就會(huì)下降至約等于寫緩存回寫機(jī)械盤的速度。當(dāng)SSD磁盤用滿時(shí)會(huì)出現(xiàn)寫入數(shù)據(jù)流速度 = 回寫數(shù)據(jù)流速度。在虛擬機(jī)層面看,就是寫入數(shù)據(jù)下降到機(jī)械盤速度。如果持續(xù)出現(xiàn)這種情況,說明SSD磁盤容量不足以應(yīng)對(duì)業(yè)務(wù)IO寫性能,需要增加SSD緩存盤解決

10、。緩存盤-讀寫緩存VS SSD寫緩存原理02SSD磁盤故障或離線時(shí)的處理SSD寫緩存工作于brick服務(wù)端,有多副本機(jī)制。在多主機(jī)多副本場(chǎng)景下,如果一個(gè)SSD磁盤損壞后,其他副本的SSD還正常情況下,對(duì)數(shù)據(jù)安全不會(huì)造成影響。但對(duì)寫入性能會(huì)有影響。一旦SSD離線超過10分鐘,緩存數(shù)據(jù)就視作失效,進(jìn)入副本修復(fù)流程。由于所有數(shù)據(jù)都是被SSD接管的,這時(shí)的數(shù)據(jù)修復(fù)量會(huì)非常大。因此如果是誤拔出SSD硬盤,需要在10分鐘內(nèi)插回來,否則會(huì)認(rèn)為該副本數(shù)據(jù)全部需要重建。相關(guān)問題Q:SSD讀緩存和寫緩存如何分配空間?緩存數(shù)據(jù)是共用還是互相對(duì)立?A:讀緩存和寫緩存按固定比例對(duì)SSD磁盤分區(qū),讀寫比例為7:3(暫定)。讀緩存和寫緩存數(shù)據(jù)互相獨(dú)立,不共用數(shù)據(jù),也就是說同樣的數(shù)據(jù)讀緩存和寫緩存可能都會(huì)緩存一次。Q:SSD寫緩存性能如何?A:SSD寫緩存主要針對(duì)隨機(jī)IO進(jìn)行優(yōu)化,但由于采用在服務(wù)端緩存策略,因此寫緩存性能還取決于跨網(wǎng)絡(luò)的性能。Q:SSD寫緩存后端的機(jī)械磁盤如何分配?A:一體機(jī)硬件下,1個(gè)SSD磁盤會(huì)對(duì)應(yīng)25個(gè)機(jī)械磁盤。例如:在8盤位一體機(jī),采用2個(gè)SSD磁盤(單個(gè)容量240G),6個(gè)SATA機(jī)械磁盤。12盤位一體機(jī),采用2個(gè)SSD磁盤(單個(gè)容量480G),10個(gè)SATA機(jī)械盤。SSD磁盤空間由配對(duì)的硬盤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論