技術實踐 | 如何給NVMe做RAID
瀏覽量: 次 發(fā)布日期:2023-10-11 19:24:23
技術實踐 | 如何給NVMe做RAID
沃趣技術
關注我們
1
傳統(tǒng)RAID
硬盤陣列(Redundant Arrays of Independent Disks,RAID),是由很多塊獨立的硬盤,組合成一個容量巨大的硬盤組。
1.1 陣列卡
現(xiàn)如今,基本所有的服務器都通過RAID卡對硬盤進行管理。硬盤插入到服務器的槽位后由背板的線纜連接RAID卡進行一個統(tǒng)一的管理,然后提供給操作系統(tǒng),操作系統(tǒng)不能直接使用硬盤。
蘇州數(shù)據(jù)恢復以下為一些常見的RAID級別:
RAID 0
將數(shù)據(jù)分成若干相等大小的數(shù)據(jù)塊,把他們寫在不同的硬盤上,以獨立的方式實現(xiàn)多塊硬盤的并讀訪問,并發(fā)執(zhí)行I/O操作。基本能夠發(fā)揮出所有硬盤的性能,但是RAID0沒有冗余機制,硬盤越多固然性能越好,然而出現(xiàn)故障導致卷組不可用的概率也越高。建議配合上層應用能夠提供冗余的場景一起使。
RAID 1 當上層數(shù)據(jù)下發(fā)時,會將數(shù)據(jù)完全一致地寫在兩塊硬盤上,實現(xiàn)數(shù)據(jù)冗余,可以用兩塊硬盤中讀取數(shù)據(jù),提升讀性能。當一塊硬盤發(fā)生故障,系統(tǒng)自動從另一塊硬盤讀取數(shù)據(jù),提高可靠性,但是成本更高,適用于對數(shù)據(jù)可靠性要求高的應用,如:將系統(tǒng)盤放在RAID 1上面。
RAID 5 將數(shù)據(jù)和相對應的奇偶校驗信息分別存儲在不同的硬盤上,奇偶校驗信息占一個硬盤的空間,允許損壞一個硬盤。當一個硬盤損壞時,可以根據(jù)剩余的數(shù)據(jù)和相對應的奇偶校驗信息計算出損壞的數(shù)據(jù),恢復數(shù)據(jù)時性能會受到較大的影響。RAID 5寫性能偏低,尤其是隨機寫性能,建議在讀寫不太頻繁的場景上使用,如:用作數(shù)據(jù)備份。
RAID 6 與RAID 5 相似,擁有兩套獨立的奇偶校驗信息,可以允許損壞兩塊硬盤。
1.2 緩存策略
RAID卡除了將硬盤組建不同RAID級別的功能之外,還能提供加速讀寫的緩存功能。
每張RAID卡都擁有大小不等的緩存。
Read Policy 1、Read Ahead:預讀緩存模式,將當前讀取的后續(xù)塊數(shù)據(jù)也預先讀取保存在緩存中,可以快速對應后續(xù)的讀取操作。當?shù)诙巫x取相同的數(shù)據(jù)時,不需要再次從硬盤里面讀取數(shù)據(jù),頻繁讀取的熱點數(shù)據(jù)保存在緩存中,可以大大提升讀性能。 2、No Read Ahead:不通過緩存進行讀取操作。
Write Policy 1、Write Back:WB回寫模式,該模式會將上層的數(shù)據(jù)先寫入RAID卡緩存當中,再將緩存中的數(shù)據(jù)寫入硬盤中,對于上層應用而言,當數(shù)據(jù)寫入緩存中時就已經(jīng)認為落盤成功了,因此WB模式可以提升寫性能。 2、Write Througt:WT直寫模式,該模式會直接將數(shù)據(jù)寫入到硬盤當中。
開啟WB模式的前提是RAID卡帶有電池,確保在服務器斷電的情況下依然能將緩存里面的數(shù)據(jù)寫入硬盤中。當服務器的RAID卡電池出現(xiàn)故障或者電量不足的情況,WB模式會被強制切換成WT模式,防止出現(xiàn)數(shù)據(jù)丟失,然而讀策略不會受到任何影響,這是因為寫到緩存里面的數(shù)據(jù)是臟數(shù)據(jù),與硬盤里面的數(shù)據(jù)不一致,而讀到緩存里面的數(shù)據(jù)與硬盤里面的數(shù)據(jù)完全一致,即使丟失了也沒有任何關系。
WB模式能夠提升寫性能,這有個前提是上層下發(fā)的數(shù)據(jù)量不大,可以被RAID卡緩存所容納,但是當上層下發(fā)大量數(shù)據(jù)時,緩存很快就會被擊穿。我們可以通過一個實驗去驗證,將一塊硬盤的寫策略調(diào)整為WB模式,然后利用fio工具去模擬上層數(shù)據(jù)下發(fā)
可以看到,當上層有大量數(shù)據(jù)下發(fā)時,緩存很快就被擊穿,寫性能呈現(xiàn)斷崖式下劃
1.3 性能對比
上文提到了各個RAID級別的特點及優(yōu)劣勢,下面我們通過fio工具測試,直觀的感受一下不同RAID的性能。
一塊盤RAID0基本可以發(fā)揮這塊盤的所有性能,通過以上測試數(shù)據(jù)可以發(fā)現(xiàn):
RAID1使用兩塊盤,讀能發(fā)揮出兩塊盤的性能,而寫性能基本與單塊盤一致,說明可以同時從兩塊盤讀取不同的數(shù)據(jù)內(nèi)容,而寫時需要將相同的數(shù)據(jù)寫在兩塊盤中。
RAID5使用三塊盤,讀能基本能發(fā)揮出三塊盤的性能,但是寫性能不高,尤其是隨機寫性能更是慘不忍睹
2
VROC
現(xiàn)如今,對硬盤的性能要求越來越高,SATA、SAS因為本身的缺陷,性能基本不會超過600MiB/s,因此對NVMe盤的需求越來越多,尤其是數(shù)據(jù)庫等對底層硬件性能要求比較高的行業(yè)。
NVMe盤直通到cpu,無法通過RAID卡進行管理,因此也不能通過RAID卡去創(chuàng)建不同的RAID級別。目前給NVMe做raid的方式有兩種,一種是軟RAID,另一種是Intel VROC
軟RAID
軟RAID的實現(xiàn)沒有硬件參與,完全通過軟件模仿磁盤陣列的方式來實現(xiàn),通過CPU內(nèi)核計算RAID邏輯
Intel VROC
Intel VROC 是一種混合 RAID 解決方案。它的屬性與硬件 RAID 類似,是因為英特爾卷管理設備(英特爾 VMD)的一項關鍵芯片功能是通過新的英特爾至強可擴展處理器提供的。英特爾虛擬 RAID on CPU (VROC)利用英特爾 VMD 來聚合 NVMe 固態(tài)盤,從而實現(xiàn)可引導 RAID。英特爾 VROC 還具有軟件 RAID 等屬性。例如:它使用一些 CPU 內(nèi)核來計算 RAID 邏輯。由于這種軟件與芯片相結合,英特爾 VROC 稱為混合 RAID 解決方案。
2.1 VROC的使用方式
宿遷數(shù)據(jù)恢復目前,英特爾至強可擴展處理器基本都支持VMD,但是并不是cpu支持就可以使用VROC了,需要滿足以下幾個條件:
1.VMD是一個比較新的技術,需要將服務器的引導模式調(diào)整為UEFI引導模式。
2.需要VROC Key,Intel VROC 是一種通過 OEM 或 ODM 與支持服務級別協(xié)議一起銷售的許可產(chǎn)品。Intel VROC 硬件密鑰是獲取Intel VROC 軟件許可的機制。某些 OEM/ODM 通過在其主板上添加密鑰標頭,構建了支持Intel VROC 的服務器和工作站。每個VROC Key的售價在100美金左右。
VROC Key有幾個不同的型號,每個型號Key的功能都有一些差別,有些型號的Key可以支持其余品牌的NVMe盤,但是出于兼容性考慮,還是不建議使用其余品牌的NVMe盤 。
3.服務器支持,并不是每一臺服務器都可以安裝VROC Key,需要服務器的主板有相應的槽位可以插入VROC Key。
2.2 VROC與軟raid
VROC的管理方式以及系統(tǒng)上面的展示與軟RAID非常相似。 VROC與軟RAID都使用mdadm的命令進行管理,VROC需要安裝相對應版本的mdadm rpm包。
VROC與軟RAID這么相似,那么在性能上有什么差距嗎?我們可以通過實驗看一下
RAID 0
為了效果更加明顯,使用了三塊盤創(chuàng)建RAID0,結果顯示VROC與軟RAID沒有明顯的性能差距
RAID 1
VROC與軟RAID組建RAID1各項性能基本一致
RAID 5
VROC與軟RAID組建的raid5各項性能基本一致,但是兩者的寫性能都是偏低的,通過觀察cpu的使用率可以發(fā)現(xiàn),VROC與軟RAID都是單核進程,所在core的使用率也已經(jīng)被打滿了,cpu的性能也是制約RAID5寫性能的一項因素
通過以上的測試可以發(fā)現(xiàn),VROC與軟RAID的性能基本是一致的,因為兩者都需要使用cpu內(nèi)核去來計算RAID邏輯。而VROC有硬件的支持,具備了一些其他的功能
2.3 VROC其余功能
1
可引導RAID
VROC可以作為系統(tǒng)盤使用,VROC有硬件的支持,在沒有安裝操作系統(tǒng)之前就可以在BIOS里面使用NVMe盤創(chuàng)建RAID,然后再將系統(tǒng)安裝在這塊raid卷組上面。
2
備份功能
VROC擁有熱備功能,當檢測到設備故障時,熱備盤可用于重建RAID
3
NVMe盤定位
NVMe盤一直沒有很好的方式去定位,而VROC可以準確定位到NVMe盤
通過以上命令可以使指定的NVMe盤閃燈
南京數(shù)據(jù)恢復3
總結
性能方面,VROC與軟RAID基本一致。軟RAID的優(yōu)勢是不需要額外的成本,而VROC優(yōu)勢是有硬件的支持,具備一些特性(可引導RAID、NVMe盤定位等),以及有Intel的技術服務。兩者各有優(yōu)勢,所以,可以根據(jù)實際的需求去選擇使用哪一項技術
作者
沃趣科技原型研發(fā)部
. 六安移動硬盤數(shù)據(jù)恢復,專業(yè)技術,守護您的數(shù)據(jù)安全
. 硬盤數(shù)據(jù)恢復拆盤,拆盤操作與數(shù)據(jù)恢復技術解析
. 控制器壞了如何修復視頻,控制器故障排查與視頻修復技巧解析
. 硬盤數(shù)據(jù)恢復圖書,從原理到實踐的技術解析
. emcc存儲和ssd,EMCC存儲優(yōu)化與SSD性能提升技術解析
. 硬盤數(shù)據(jù)恢復從哪學,從原理到實踐的技術解析
. 杭州機械硬盤數(shù)據(jù)恢復,專業(yè)技術助力數(shù)據(jù)失而復得
. 磁盤陣列硬盤壞了數(shù)據(jù)如何恢復,專業(yè)方法與案例解析
. 上海機械硬盤數(shù)據(jù)恢復,專業(yè)技術守護數(shù)據(jù)安全
. 固態(tài)硬盤數(shù)據(jù)恢復騙局,如何識別與防范
. 回天移動硬盤數(shù)據(jù)恢復,專業(yè)技術守護數(shù)據(jù)安全
. 楊浦區(qū)硬盤數(shù)據(jù)恢復,專業(yè)技術助力數(shù)據(jù)安全與恢復
. 國內(nèi)有哪些ai大模型,技術突破與產(chǎn)業(yè)應用全景
. 硬盤數(shù)據(jù)恢復re,技術原理、方法與案例分析
. 磁盤陣列維修找哪家,如何選擇可靠的磁盤陣列維修服務提供商
. superrecovery超級硬盤數(shù)據(jù)恢復,superrecovery技術解析與應用