對象存儲非常適合長期備份和歸檔,如何將高性能對象存儲擴(kuò)展到大規(guī)模、高容量的工作負(fù)載,人們對此需要進(jìn)行了解。
對象存儲最有趣的方面之一是其用途的多樣性。盡管對象存儲通常用作歸檔存儲區(qū)、原有數(shù)據(jù)的目的地,以及文件服務(wù)器的替代品,但實(shí)際上有許多方法可以應(yīng)用對象存儲。隨著供應(yīng)商開始提供性能優(yōu)化的對象存儲,該技術(shù)已經(jīng)為用于一組全新的工作負(fù)載準(zhǔn)備就緒。
高性能對象存儲不僅僅需要從基于硬盤的對象存儲系統(tǒng)切換到全閃存對象存儲。向全閃存介質(zhì)的遷移無疑會有所幫助,但是對象存儲系統(tǒng)(很大程度上要?dú)w功于其豐富的元數(shù)據(jù))通常具有太多延遲,無法有效利用閃存性能。
創(chuàng)建高性能對象存儲系統(tǒng)的另一個挑戰(zhàn)是基礎(chǔ)設(shè)施的橫向擴(kuò)展特性。為了滿足容量需求,對象存儲將大量節(jié)點(diǎn)添加到存儲集群中。每個節(jié)點(diǎn)的容量都被吸收到集群中,從而創(chuàng)建一個存儲池。在大型橫向擴(kuò)展集群中,具有數(shù)十個節(jié)點(diǎn)都是比較常見的。聚合和管理這些節(jié)點(diǎn)的等待時間可能很長。
人工智能和深度學(xué)習(xí)的對象存儲挑戰(zhàn)
非結(jié)構(gòu)化的大型數(shù)據(jù)工作負(fù)載(例如人工智能和機(jī)器學(xué)習(xí)以及深度學(xué)習(xí))是對象存儲架構(gòu)如何成為高性能工作負(fù)載的一個很好的例子。理論上,這些工作負(fù)載對于對象存儲而言應(yīng)該是理想的。它們擁有數(shù)百萬甚至數(shù)十億個文件,而存儲所有這些數(shù)據(jù)需要大量的SSD硬盤或HDD硬盤,因此需要許多節(jié)點(diǎn)。這些過程也是受吞吐量驅(qū)動的。
所有這些因素的結(jié)合使人工智能和深度學(xué)習(xí)針對對象存儲的高節(jié)點(diǎn)數(shù)存儲集群量身定制。大多數(shù)與人工智能通信的框架(例如TensorFlow)用于驅(qū)動人工智能和機(jī)器學(xué)習(xí)工作負(fù)載,它們都使用Amazon S3協(xié)議。大多數(shù)對象存儲系統(tǒng)也是基于S3存儲桶,并且S3存儲桶本身是高度并行的。從理論上講,對象存儲基礎(chǔ)設(shè)施應(yīng)該能夠滿足人工智能和機(jī)器或深度學(xué)習(xí)工作負(fù)載的需求。
但是,此方法不僅僅需要創(chuàng)建一個全閃存對象存儲系統(tǒng)。該系統(tǒng)必須能夠解決這樣一個問題,即可能會有數(shù)十個(即使不是數(shù)百個)節(jié)點(diǎn),而元數(shù)據(jù)以及集群管理也帶來了挑戰(zhàn)。
應(yīng)對元數(shù)據(jù)挑戰(zhàn)
元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),它對高性能對象存儲帶來了挑戰(zhàn),其原因有兩個:第一個挑戰(zhàn)是,對象存儲系統(tǒng)需要更多時間來管理其豐富的元數(shù)據(jù)。由于大多數(shù)對象存儲供應(yīng)商會在集群中指定一定數(shù)量的節(jié)點(diǎn)來管理和存儲元數(shù)據(jù),因此管理更加復(fù)雜。在人工智能和深度學(xué)習(xí)等工作負(fù)載中,專用的元數(shù)據(jù)控制器通常不堪重負(fù),并成為系統(tǒng)瓶頸。因此,閃存驅(qū)動器甚至硬盤無法充分發(fā)揮其潛力。
第二個挑戰(zhàn)是集群通信。大多數(shù)橫向擴(kuò)展NAS或塊存儲系統(tǒng)的節(jié)點(diǎn)數(shù)都比較少。在網(wǎng)絡(luò)附屬存儲(NAS)和塊用例中,擁有六個節(jié)點(diǎn)的存儲集群被認(rèn)為是大型的存儲系統(tǒng),但在許多對象存儲部署中,六個節(jié)點(diǎn)只是一個入門級別。而節(jié)點(diǎn)間的通信成為一個大問題,尤其是在不涉及性能的歸檔的用例中。
要創(chuàng)建高性能的大規(guī)模對象存儲解決方案,需要解決元數(shù)據(jù)性能和集群管理問題。下一代對象存儲將元數(shù)據(jù)分布在集群中的每個節(jié)點(diǎn)上,而不僅僅是幾個控制器。元數(shù)據(jù)的分布可確保每個節(jié)點(diǎn)都具有響應(yīng)I/O請求所需的所有信息。
其他高性能對象存儲問題
對象存儲系統(tǒng)還必須解決節(jié)點(diǎn)間聯(lián)網(wǎng)的問題。元數(shù)據(jù)的分布在這里有所幫助,因?yàn)樗鼫p少了東西流向的流量。供應(yīng)商必須優(yōu)化其節(jié)點(diǎn)間網(wǎng)絡(luò),因此它不會成為性能瓶頸。它們極有可能必須優(yōu)化網(wǎng)絡(luò)通信,以最大程度地減少傳輸頻率。
需要優(yōu)化的另一個領(lǐng)域是協(xié)議仿真。例如,大多數(shù)對象存儲系統(tǒng)都支持網(wǎng)絡(luò)文件系統(tǒng)(NFS)。網(wǎng)絡(luò)文件系統(tǒng)(NFS)的支持至關(guān)重要,因?yàn)樵S多物聯(lián)網(wǎng)設(shè)備不是內(nèi)部部署S3存儲桶,而是使用網(wǎng)絡(luò)文件系統(tǒng)(NFS)。其挑戰(zhàn)在于,許多對象存儲系統(tǒng)都使用一個單獨(dú)的組件在網(wǎng)絡(luò)文件系統(tǒng)(NFS)和S3存儲桶之間進(jìn)行轉(zhuǎn)換,而不是在其軟件中內(nèi)部部署運(yùn)行網(wǎng)絡(luò)文件系統(tǒng)(NFS)。其轉(zhuǎn)移的開銷很大,并且在高性能情況下會顯示出來。
網(wǎng)絡(luò)文件系統(tǒng)(NFS)在對象存儲代碼中的原生集成可實(shí)現(xiàn)更高的性能,并同時訪問相同的數(shù)據(jù)。并發(fā)訪問意味著物聯(lián)網(wǎng)設(shè)備可以通過網(wǎng)絡(luò)文件系統(tǒng)(NFS)將數(shù)據(jù)發(fā)送到對象存儲卷,同時人工智能或深度學(xué)習(xí)框架可以通過S3存儲桶對象對其進(jìn)行處理,而無需對其進(jìn)行復(fù)制或移動。
NAS適用的位置
網(wǎng)絡(luò)附屬存儲(NAS)系統(tǒng)仍在數(shù)據(jù)中心中發(fā)揮作用。對象存儲是長期歸檔和備份的理想選擇,雖然大容量網(wǎng)絡(luò)附屬存儲(NAS)仍可以在備份存儲市場上競爭。對象存儲還適合作為文件服務(wù)器的替代品,以替代性能不太重要的工作負(fù)載(例如用戶主目錄)。
高性能對象存儲非常適合需要數(shù)十或數(shù)百個節(jié)點(diǎn)以及數(shù)十PB容量的大規(guī)模工作負(fù)載。這些工作負(fù)載還取決于吞吐量,并且在I/O訪問中高度并行。在這兩個極端之間是高性能、非結(jié)構(gòu)化的數(shù)據(jù)工作負(fù)載,這些工作負(fù)載本質(zhì)上是隨機(jī)I/O,節(jié)點(diǎn)數(shù)量很少。在這些用例中,網(wǎng)絡(luò)附屬存儲(NAS)可能仍然是一個更好的選擇。