存儲(chǔ)永遠(yuǎn)不會(huì)像系統(tǒng)內(nèi)存一樣快——這是系統(tǒng)架構(gòu)的本質(zhì),但多虧了NVMe(非易失性內(nèi)存主機(jī)控制器接口規(guī)范),SSD可以提供如此驚人的快速性能,“轉(zhuǎn)到磁盤”的損失往往是微乎其微的。
NVMe包含一系列關(guān)于軟件如何與存儲(chǔ)通信的規(guī)范。它適用于多種傳輸方法工作,包括PCI Express、RDMA和TCP。支持NVMe標(biāo)準(zhǔn)的存儲(chǔ)陣列就像是存儲(chǔ)中的跑車,比任何其他主流方法所允許的都要更直接、更高效地展示超高速存儲(chǔ)介質(zhì)。
NVMe支持的性能、效率和靈活性使整個(gè)數(shù)據(jù)庫(kù)實(shí)例可以從存儲(chǔ)陣列運(yùn)行,性能類似于內(nèi)存數(shù)據(jù)庫(kù)?;蛘?,再舉一個(gè)例子,您可以在單個(gè)主機(jī)上以最低的性能成本擴(kuò)展虛擬機(jī)(VM)部署和基于容器的應(yīng)用程序。
自上個(gè)十年的中期以來(lái),NVMe存儲(chǔ)陣列在普通存儲(chǔ)供應(yīng)商處廣泛可見。雖然速度優(yōu)勢(shì)顯而易見,但購(gòu)買全負(fù)載NVMe陣列的成本非常之高。以下是選擇產(chǎn)品時(shí)需要考慮的因素,以及一些需要考慮的關(guān)鍵供應(yīng)商產(chǎn)品線。
了解您的NVMe工作負(fù)載
NVMe陣列對(duì)于文檔存儲(chǔ)來(lái)說(shuō)過(guò)度了,它真正的價(jià)值在于處理諸如針對(duì)大量數(shù)據(jù)的實(shí)時(shí)和基于機(jī)器學(xué)習(xí)的分析之類的工作負(fù)載,其中CPU和存儲(chǔ)需要高效地協(xié)同工作并具有最佳性能,每秒處理數(shù)千筆交易的大容量金融系統(tǒng)也是主要候選系統(tǒng)。
大規(guī)模托管虛擬機(jī)同樣值得考慮,無(wú)論是由于集群環(huán)境中的虛擬服務(wù)器實(shí)現(xiàn)了高可用性,還是VDI(虛擬桌面基礎(chǔ)設(shè)施)部署帶來(lái)的所有安全和管理優(yōu)勢(shì)。
基于容器的應(yīng)用程序也受益于基于NVMe的存儲(chǔ)。一方面,容器化應(yīng)用程序的可擴(kuò)展性與NVMe規(guī)范中嵌入的并行性完美結(jié)合。另一方面,在需要時(shí)立即增加額外的容器實(shí)例的能力對(duì)您的DevOps團(tuán)隊(duì)來(lái)說(shuō)是一個(gè)非常便利的功能。
NVMe的并行性是其價(jià)值的基礎(chǔ)。在基于SAS的存儲(chǔ)支持單個(gè)消息隊(duì)列和每個(gè)隊(duì)列256個(gè)并發(fā)命令的情況下,NVMe將其擴(kuò)展到64,000個(gè)隊(duì)列,每個(gè)隊(duì)列支持64,000個(gè)并發(fā)命令。這種大幅增長(zhǎng)是讓您能夠增加單個(gè)物理主機(jī)上的虛擬機(jī)數(shù)量、提高效率和簡(jiǎn)化管理的關(guān)鍵。
確定單個(gè)工作負(fù)載并規(guī)劃隨時(shí)間的增長(zhǎng)——以及高可用性需求和連續(xù)性需求(備份/恢復(fù)、復(fù)制、地理冗余或簡(jiǎn)單的災(zāi)難恢復(fù))——可以幫助描繪您在NVMe陣列中的需求。雖然以上每一種考慮都有可能提高您選擇的NVMe陣列的初始成本,但從長(zhǎng)遠(yuǎn)來(lái)看,符合您需求的明智投資最終會(huì)降低您的擁有成本。
保持存儲(chǔ)效率
NVMe陣列是大宗商品,因此高效的存儲(chǔ)實(shí)踐對(duì)于充分利用您購(gòu)買的硬件和延長(zhǎng)存儲(chǔ)介質(zhì)的生命周期至關(guān)重要。
重復(fù)數(shù)據(jù)刪除和壓縮是第一步,因?yàn)樗鼈冇兄跍p少陣列上使用的存儲(chǔ)量,更重要的是,有助于限制介質(zhì)上的寫入操作數(shù)量,從而延長(zhǎng)使用壽命。大多數(shù)NVMe陣列應(yīng)該能夠輕松處理重復(fù)數(shù)據(jù)刪除和壓縮,只需確保在提交之前驗(yàn)證即可。
一些供應(yīng)商提供的另一個(gè)關(guān)鍵功能是優(yōu)化數(shù)據(jù)放置的工具,其想法是保持文件連續(xù)從而減少碎片,并最終限制對(duì)數(shù)據(jù)維護(hù)任務(wù)的需求和它們所需的讀/寫操作。
這些功能不僅可以延長(zhǎng)使用壽命,而且還具有降低功耗和提高性能的可能。至少,您的NVMe系統(tǒng)應(yīng)該支持優(yōu)化數(shù)據(jù)放置,但如果供應(yīng)商提供基于AI的工具來(lái)解決問(wèn)題,那就更好了。
規(guī)劃您的NVMe陣列遷移
顯然,您打算在NVMe陣列上運(yùn)行的工作負(fù)載對(duì)您的企業(yè)至關(guān)重要。必須盡可能避免停機(jī)(甚至性能下降)。對(duì)于許多組織而言,這甚至不是為了省錢,而是為了繼續(xù)經(jīng)營(yíng)甚至是挽救生命。
部署NVMe陣列時(shí),您將面臨的首要挑戰(zhàn)之一是如何將現(xiàn)有的關(guān)鍵業(yè)務(wù)工作負(fù)載轉(zhuǎn)移到NVMe存儲(chǔ)上,同時(shí)不會(huì)造成停機(jī)或明顯的性能下降。
幾乎每個(gè)企業(yè)NVMe存儲(chǔ)供應(yīng)商對(duì)于如何將大量數(shù)據(jù)傳輸?shù)叫麓鎯?chǔ)設(shè)備都有自己的想法。但事實(shí)上,它比拷貝一個(gè)簡(jiǎn)單的文件副本復(fù)雜得多。記得找那些擁有無(wú)縫遷移和零停機(jī)時(shí)間等強(qiáng)大工具和功能的供應(yīng)商。
如果您缺乏內(nèi)部專業(yè)知識(shí),那么讓供應(yīng)商的工程師或認(rèn)證合作伙伴處理您的初始遷移。查看可用的服務(wù)以確保您的遷移按計(jì)劃進(jìn)行。
制定存儲(chǔ)陣列退出策略
我們都經(jīng)歷過(guò)這樣的情況:特定供應(yīng)商非常樂(lè)意幫助您遷移到其系統(tǒng),但不太愿意幫助您進(jìn)行出站遷移。幸運(yùn)的是,為了保持競(jìng)爭(zhēng)力,NVMe陣列供應(yīng)商不得不投資出站遷移。
通過(guò)出站遷移,您可以將目標(biāo)定位于更具成本效益的本地存儲(chǔ)解決方案、基于云的存儲(chǔ)或其他NVMe陣列。出于多種原因,可能需要從NVMe陣列遷移數(shù)據(jù):創(chuàng)建數(shù)據(jù)庫(kù)或應(yīng)用程序的開發(fā)實(shí)例、出于性能或業(yè)務(wù)目的移動(dòng)業(yè)務(wù)應(yīng)用程序,甚至將存檔數(shù)據(jù)遷移到云中以實(shí)現(xiàn)經(jīng)濟(jì)高效的長(zhǎng)期貯存。
這里的底線是,您選擇的NVMe陣列供應(yīng)商應(yīng)該具有靈活性,包括自動(dòng)化或計(jì)劃遷移的能力。您應(yīng)該能夠瞄準(zhǔn)各種on-prem平臺(tái),尤其是您公司已經(jīng)投資的平臺(tái)——更不用說(shuō)大型云提供商提供的存儲(chǔ)服務(wù)了。您擁有的選擇越多,您的投資就越能適應(yīng)未來(lái)的考驗(yàn)。
規(guī)劃存儲(chǔ)規(guī)模
增長(zhǎng)幾乎是任何企業(yè)的目標(biāo)——無(wú)論如何,數(shù)據(jù)增長(zhǎng)都是必然的。從一開始就盡最大努力計(jì)劃如何增加容量。無(wú)論NVMe陣列是否提供將介質(zhì)添加到空插槽的功能,還是提供將多個(gè)陣列分組到單個(gè)可尋址端點(diǎn)的某種方法,在評(píng)估供應(yīng)商時(shí),企業(yè)長(zhǎng)期增長(zhǎng)戰(zhàn)略應(yīng)該是首要考慮因素。
可擴(kuò)展性是提供軟件定義存儲(chǔ)(SDS)的解決方案可以極大受益的領(lǐng)域之一。由于SDS解決方案從數(shù)據(jù)所在的物理介質(zhì)中提供了一個(gè)抽象層,因此它們有可能在企業(yè)的客戶甚至企業(yè)的應(yīng)用程序不知道差異的情況下無(wú)縫擴(kuò)展。如果您預(yù)計(jì)需要這種靈活性,具有SDS功能的NVMe陣列將提供一個(gè)很好的解決方案。
檢查與現(xiàn)有工作流程的集成
企業(yè)可能投入大量時(shí)間、資金和人員來(lái)構(gòu)建一套優(yōu)化的管理工具和工作流程,但最終可能只是在單個(gè)基礎(chǔ)設(shè)施上管理新系統(tǒng)。無(wú)論企業(yè)為NVMe存儲(chǔ)陣列選擇哪種解決方案,都應(yīng)該能夠無(wú)縫集成到現(xiàn)有的管理工具中。
除了管理工具之外,許多尋求NVMe存儲(chǔ)的企業(yè)很可能擁有成熟的DevOps工作流程和強(qiáng)大的自動(dòng)化功能。能夠在存儲(chǔ)中合并對(duì)象的創(chuàng)建,甚至管理安全性或如何滿足個(gè)人存儲(chǔ)需求,可能是您尚未確定的未來(lái)需求。您至少應(yīng)該查看您的供應(yīng)商提供了哪些API或命令行工具,并確??捎眠x項(xiàng)滿足您的近期和長(zhǎng)期需求。
考慮管理程序集成
管理程序集成是NVMe存儲(chǔ)陣列的一個(gè)主要用例。您的虛擬機(jī)不僅可以從NVMe提供的快速存儲(chǔ)中受益,而且正確配置的虛擬機(jī)管理程序可以將NVMe存儲(chǔ)設(shè)備直接分配給虛擬機(jī),進(jìn)一步提高性能并減少延遲。
對(duì)于I/O密集型VM部署或DevOps工作負(fù)載,能夠動(dòng)態(tài)處理磁盤分配是理想的選擇——因此,您的虛擬機(jī)管理程序與NVMe陣列集成以發(fā)現(xiàn)和分配NVMe設(shè)備的能力變得至關(guān)重要。在某些情況下,虛擬機(jī)管理程序可能支持對(duì)單個(gè)設(shè)備的管理進(jìn)行抽象化,這樣您就可以管理VM的性能層。
確定與VM部署相關(guān)的業(yè)務(wù)要求和性能目標(biāo)非常重要。完成之后,您就可以開始與提供您的業(yè)務(wù)所需的集成和動(dòng)態(tài)功能的供應(yīng)商合作了。
確保NVMe陣列的安全
商業(yè)和行業(yè)需求將決定NVMe陣列需要哪些安全功能,其中存在一些共同點(diǎn),包括需要提供證明安全配置的文檔或工件。
您應(yīng)該關(guān)注加密靜態(tài)數(shù)據(jù),因?yàn)榇罅筷P(guān)鍵業(yè)務(wù)數(shù)據(jù)將駐留在您的NVMe陣列上。此外,提供基于角色的訪問(wèn)控制(RBAC)和職責(zé)分離的能力將成為許多行業(yè)的關(guān)鍵因素。
審計(jì)是許多企業(yè)的另一項(xiàng)主要要求。例如,DoD STIGS和HIPAA等法規(guī)都有最低審計(jì)要求的具體規(guī)則,兩者通常都基于普遍公認(rèn)的最佳實(shí)踐。
除了能夠簡(jiǎn)單地進(jìn)行審計(jì)之外,您還應(yīng)該能夠確定哪些操作是可審計(jì)的。通常,您會(huì)遇到審核管理員級(jí)別活動(dòng)的要求??赡苓€需要審核特定文件或在極端情況下所有文件的讀/寫活動(dòng)。最后,審計(jì)和系統(tǒng)日志都應(yīng)該能夠輸入到SIEM或其他企業(yè)監(jiān)控系統(tǒng)中。