WekaIO,立捷速能
過去3、4年來,WekaIO堪稱最受矚目的新創儲存廠商之一,憑藉在IO500等高效能運算(HPC)排行榜的突出表現,該公司的WekaFS檔案系統,與Intel DAOS、Lustre等老牌分散式檔案系統分庭抗禮,成為重要的HPC儲存平臺之一。
高效能儲存系統的後起之秀
WekaIO成立於2014年,公司總部設於美國加州,研發總部在以色列特拉維夫,3位創辦成員來自另一家以色列新創儲存廠商XIV(2008年為IBM併購)。
在2017年7月WekaIO結束隱形營運模式,正式發表了命名為Matrix的高效能平行分散式檔案系統,簡稱MatrixFS,也就是今日WekaFS檔案系統的前身。
推出產品之後,從2017年下半年起,WekaIO隨即與聖地牙哥超級電腦中心、HPE、Intel等單位合作,展開了MatrixFS檔案系統的測試,展現這套檔案系統作為高效能儲存平臺的潛力。
接著從2018年起,WekaIO在IO500高效能運算系統儲存效能榜單,締造了一連串佳績,在儲存市場聲名大噪。首先是在SC18大會公布的IO500榜單中,於10節點測試項目取得第2名成績,1年後在SC19大會中,WekaFS搭配AWS平臺組成的345節點系統,更一舉在IO500總榜單奪得第1。
雖然WekaIO藉由在IO500排行中掄元,達到打響名號的目的之後,便未再進一步升級WekaFS on AWS測試平臺的規格,以致在IO500榜單中的排名逐漸下滑,為新的競爭對手超越。不過,即使過了3年以後,在SC21與ISC22大會發布的最新2份IO500榜單中,WekaFS on AWS當年締造的成績,依然能名列第9與第12,這些都已足以證明這家後起之秀,具備了與眾多老牌儲存平臺抗衡的實力,影響力也不斷擴大。
以ISC22大會的最新IO500榜單為例,入榜的83套系統中,採用WekaIO WekaFS的系統便占了6套,在高效能運算領域已占有一席之地。
在商業應用領域,WekaIO的影響力逐漸擴大,除了自身品牌的產品,還有許多大廠也將WekaFS引進他們的產品線。
WekaFS的基本架構
WekaFS是誕生於NVMe時代的分散式的平行檔案系統,是基於NVMe SSD來建構儲存層,可橫跨多臺實體或虛擬伺服器,將伺服器所內含的NVMe SSD,以叢集的方式建構成為統一的儲存池,以因應隨機、循序、大資料與小資料等不同存取型態的需求,並透過S3、SMB、NFS等標準的物件與檔案儲存協定,來為前端主機提供存取服務,還具備數千節點等級的大規模橫向擴展(Scale-Out)能力,以及橫跨本地端與雲端的分層儲存架構。
基於NVMe SSD的儲存層設計,固然是WekaFS高效能表現不可或缺的關鍵,但僅依靠硬體支撐,還不足以讓WekaFS在高效能運算領域脫穎而出,WekaIO之所以力壓許多老牌分散儲存系統,更重要的還是專屬軟體架構的貢獻。
WekaFS檔案系統的基本架構
WekaFS檔案系統兩大部分組成,一是由儲存端的儲存主機(儲存節點),另一是用戶端的應用伺服器。在儲存端,可橫跨多臺儲存主機組成儲存叢集,將儲存主機內含的NVMe SSD構成單一的全域命名空間,還可搭配本地端或公有雲的S3物件儲存設備,組成分層儲存架構。以儲存叢集的建置組態而言,WekaFS的最基本的儲存叢集規模是以6臺儲存主機組成,最大則可擴展到上千臺以至數千臺儲存主機。圖片來源/WekaIO,立捷速能
而在用戶端方面,應用伺服器則可透過標準的NFS、SMB等檔案傳輸協定或S3物件儲存協定,來存取WekaFS的檔案系統空間,也能透過Nvidia的GPUDirect傳輸協定,與基於Nvidia GPU的運算平臺直連。
容器化的核心架構
WekaFS是由兩大部分組成:位於後端、負責提供儲存服務的Weka儲存主機(Storage Host)(早先稱為儲存節點),以及位於前端的Weka用戶端(Weka Client)(也稱為應用伺服器Application Server),特別之處在於,WeksFS採用少見的容器化部署架構,並含有自身的獨立作業系統。
所有支撐WekaFS架構的核心元件,都是在Linux容器(Linux Container,LXC)的用戶空間,透過自身的即時作業系統(RTOS)來運行。這些在RTOS中執行的元件包括:
負責管理多協定存取服務的檔案服務元件(File Service),負責管理資料分布、資料保護與metadata的檔案系統叢集元件(File System Cluster),用於將SSD轉換為網路儲存裝置的SSD Access Agent,提供命令列指令管理、狀態監控的管理節點(Management Node),以及用於存取物件儲存區的物件連接器(Object Connector)。
透過整合於Linux容器內的RTOS運作架構,WekaFS可獲得下列兩大效益:
第一,藉此實現系統部署的容器化與微服務化,提高應用靈活性與效能。在實體主機中,用戶可部署多個分別用於NFS、SMB、S3等儲存服務的容器,並透過橫跨多個容器的存取架構,讓WekaFS獲得更高的平行處理能力,以及更多的處理器與記憶體資源。
第二,藉此實現系統的獨立性與高效能。部署在容器內的WeksFS可與主機上的其他程式與服務隔離,並透過RTOS自行管理與調度硬體資源(儲理器核心、記憶體、網路卡與SSD)、管理記憶體、I/O與網路堆疊,擺脫對於Linux Kernel的依賴。
WekaIO宣稱這樣的架構,可以將處理器切換處理不同執行程式的上下文交換(context switch)降到最低,縮短I/O路徑,減少延遲。而且,這種架構也便於跨平臺部署與系統更新,既可移植部署到不同的實體或VM環境,也能獨立於底層的Linux外,更新WekaFS的前端與後端元件。
為了改善傳輸效能,WekaFS的網路傳輸介面、應用程式存取介面,以及metadata架構,都有專屬的設計。
在網路傳輸方面,WekaFS不用標準的Linux Kernel TCP/IP,而是以DPDK(Data Plane Development Kit)連結網路卡與LXC容器,並透過Weka protocol over UDP來連結用戶端與儲存端,藉此可避開Linux Kernel帶來的效能瓶頸,提高傳輸效能,減少延遲。
WekaFS還以專屬的虛擬檔案系統(Virtual File System)核心驅動程式,取代一般常用的FUSE驅動程式,作為應用程式的存取介面,既能提供完整的存取功能,又具備更高的效能。
在metadata架構方面,WekaFS採用分散式架構,將metadata分散到整個叢集當中,不像許多其他平行檔案系統因採用獨立metadata服務,因而導致了效能瓶頸。
同時,WekaFS具有稱作「自適應快取(Adaptive Caching)」的獨特快取加速功能,提供資料快取與metadata快取來減少存取延遲,特別有助於含有大量小型檔案與metadata的應用程式。
WekaFS檔案系統的容器化核心架構
有別於一般的檔案系統,WekaFS檔案系統既非裸機部署,也非透過VM部署,而是將核心元件部署在Linux容器(LXC)的用戶空間內,並透過自身的RTOS作業系統來調度硬體資源,擺脫對於Linux Kernel的依賴,有助於提高部署彈性,並提高效能、減少延遲。
為了獲得最佳化的效能,WekaFS的網路堆疊架構也不同於一般檔案系統,核心元件與底層硬體或上層應用程式的連結,都採用專屬的架構,而非一般常見的通用介面,例如WekaFS是透過專屬的SSD Agent與DPDK網路介面,分別用於連結NVMe SSD與網路卡,繞過了Linux Kernel。用戶端與儲存端的連結,也是採用專屬的Weka over UDP協定。
而在用戶端方面,這裡採用專屬的虛擬檔案系統(VFS)驅動程式,取代一般常用的FUSE驅動程式,作為應用程式的存取介面。圖片來源/WekaIO,立捷速能
單一命名空間下的多檔案系統架構
許多Scale-Out NAS的檔案系統,都只支援單一檔案系統搭配單一命名空間,然後再透過目錄與配額來分派資源,對於不同的獨立用戶群組,必須建立新的獨立檔案系統與命名空間,以致形成不易管理的多個儲存孤島,而且,為了維持效能,還須避免目錄容量過大,導致必須建立更多的目錄,也增加管理的複雜性。
相較之下,WekaFS則可在全域命名空間(global namespace),建立多個檔案系統(最多1,024個),每個檔案系統有獨立的用戶群組、存取權限、儲存分層設定與快照策略,還能即時變更容量,可靈活地調整儲存資源配置。
彈性的部署型態
將WekaFS軟體安裝到基於Intel Xeon Scalable,或是AMD EPYC處理器的標準伺服器上,就能構成用於提供儲存服務的Weka儲存主機,WekaIO建議的最低安裝規格如附表所示,對於儲存裝置與網路介面規格的要求較高。
在儲存裝置方面,每臺儲存節點須配備至少4臺NVMe SSD;網路卡方面雖然10GbE就能滿足最低要求,但WekaIO建議採用100GbE以上規格,才能獲得預期效能,WekaFS目前最高可支援200GbE與200Gb的InfiniBand HDR網路。
一個WekaFS叢集環境最少需由6臺Weka儲存主機組成,以提供容忍其中2臺主機失效的可用性。最大叢集規模可達上千臺儲存主機,某些OEM廠商的資料甚至聲稱可達8,000臺儲存主機以上。
在建置系統時,用戶可以選擇下列3種型式來部署WekaFS
● 超融合式部署:將WekaFS安裝到運算節點上,與前端應用程式共享硬體資源,以便節省額外的儲存節點開銷。
● 專用儲存伺服器部署:將WekaFS安裝在獨立的儲存伺服器上,不影響既有的運算節點架構,所有硬體資源都為WekaFS使用,也不受應用程式端的故障影響,具備較佳的效能、可靠性與擴展彈性。
● 公有雲部署:將WekaFS安裝在公有雲的執行個體或虛擬機器上,如AWS的EC2執行個體,可獲得更彈性的資源配置,以及不受限的擴展能力。
值得一提的是,當初WekaIO用於挑戰IO500的WekaFS on AWS測試站,便是標準的WekaFS公有雲部署模式。依據WekaIO的說法,任何用戶都可以仿效他們的做法,基於AWS的EC2執行個體,建構出同樣的高效能儲存平臺。
獨特的分層儲存架構
除了Weka儲存主機內含的NVMe SSD儲存空間,WekaFS也能搭配位於本地端或雲端、基於S3儲存協定的物件儲存設備,構成NVMe SSD加上物件儲存區的雙層儲存架構。
而其中物件儲存設備的底層儲存裝置,可以是硬碟,或是硬碟搭配SSD的混合架構。
我們只須將S3 Bucket儲存區配置給WekaFS,就可以將命名空間從NVMe SSD層延伸到物件儲存層,如單一命名空間般運作。
同時,管理者還可以設定分層儲存政策,讓WekaFS將存取狀態較不活躍的檔案,從NVMe SSD層自動遷移到物件儲存層,藉此實現空間配置的最佳化。
比較特別的是,WekaFS的分層儲存架構,是以盡可能讓每個檔案都能獲得高存取效能為優先,即使某個檔案被遷移到物件儲存層,原始檔案也會一直保留在NVMe SSD層上,充當快取使用,用戶仍可快速存取這個檔案,直到為寫入的新檔案覆蓋為止。
更進一步來看,即使檔案被降級遷移到物件儲存層,該檔案的metadata始終還是保存在NVMe SSD層,所以,對於前端應用程式來說,所有檔案都是可以立即寫入的,無論檔案本體位於哪個分層上。
此外,WekaFS也會透過監控NVMe SSD層的可用容量,當容量消耗到達高水位時,自動將資料遷到物件儲存層,確保NVMe SSD層始終有足夠容量。
資料保護架構
如同多數分散式檔案系統,WekaFS也是採用stripe平行分散存取搭配parity的架構,來獲得高效能與資料保護能力。
基本上,WekaFS的資料保護是以「故障域(Failure Domain)」為運作單位,1個故障域通常是1臺儲存主機,也可以是1座機架或公有雲服務區域,WekaFS會將寫入的資料分割為4k區塊組成的stripe,並產生parity,然後分散寫入儲存叢集的各個故障域儲存主機上。
關於stripe的深度,我們可設為4到16之間的數值,一般而言,規模越大的儲存叢集,可以使用更大的stripe設定值,從而得到更高的效能。
至於parity,則可設置為+2或+4,一般環境使用+2即可,若為數百臺規模的大型叢集,則可選用+4的設定,這可提供較常見的3副本架構更高的保護能力。
在6臺儲存主機的最小叢集組態下,WekaFS支援4+2的stripe與parity設定,能承受2臺儲存主機或2個故障域失效。
1個故障域內無論多少元件故障,WekaFS都視為單一故障域的失效, 透過WekaFS的專屬演算法,屬於同一stripe的區塊,不會寫入同一個故障域,而會分散到不同故障域中,因而損失一個故障域的儲存主機時,只會損失stripe的單一區塊。WekaFS可利用parity重建損失的資料區塊,然後分散寫入其餘完好的故障域。同樣的,WekaFS用於因應元件失效的備用容量(spare space),也是均勻分散在所有故障域,所以當叢集出現失效元件時,是由叢集剩餘所有完好故障域一同提供備用容量。
這也意味著,WekaFS的資料重建作業,是由所有完好的故障域主機一同參與,不會形成熱點,而且,叢集規模越大,參與重建的儲存主機越多,重建速度也將會越快。
這種分散式的虛擬化備用容量架構,與當前許多新一代分散式RAID技術十分相似。然而,WekaFS是檔案系統,並不像RAID是在更底層的區塊層級上運作,因而WekaFS能識別儲存區中檔案實際占用部分,在執行資料重建時,能夠只重建受裝置故障影響的部份檔案,從而節省可觀的時間。
相形之下,多數的RAID在執行重建時,由於區塊層級無法識別上層檔案的實際占用狀況,以致必須重建那些受影響設備或裝置上的所有區塊,包括空白區塊,因此,分散式RAID的資料重建速度,理論上要遜於WekaFS。
資料服務功能
基於在WekaFS叢集本身的保護機制之餘,用戶也能透過WekaFS內含的快照功能(snapshot),來為個別的檔案系統製作副本,作為資料保護用途。
WekaFS的快照是以檔案系統為單位運作,每個檔案系統允許建立最多4,096份快照副本,並可選擇建立唯讀或可讀寫兩種類型的快照(其中唯讀快照可轉換為可讀寫快照)。除了一般的指針式快照外,亦能建立檔案系統完整的Clone副本,但較消耗空間。
另外,用戶還能利用WekaFS新提供的Snap-to-Object功能,將指定快照副本的完整資料(含metadata),複製到本地端或雲端的外部物件儲存設備上,作為遠端的備份副本使用,一旦來源端WekaFS叢集發生問題時,我們可以利用副本進行還原,或是將副本掛載到另一個WekaFS叢集上。
Snap-to-Object這項功能可視為基於快照的非同步遠端複製,當第一次Snap-to-Object作業完成後,後續快照都是以增量方式傳輸與儲存,可大幅縮短作業時間。另外WekaFS還能以遠端備份功能,將快照傳送到第2座物件儲存設備上,構成3站點保護架構。
系統管理與安全管理
WekaFS提供了網頁式GUI控制臺、命令列(Command Line Interface) 、REST API等3種管理方式,後2者都是以指令方式運作,而GUI控制臺則能以儀表板方式顯示系統狀態,並透過點選方式,執行建立、擴展檔案系統,設定分層儲存政策,以及資料保護、加密、存取路徑與各式資料服務操作。
在安全性方面,WekaFS支援3種存取權限管制機制,包括:LDAP、微軟的Active Directory,以及RBAC (Role-Based Access Control)。
而在用戶的權限配置上,WekaFS則分為下列5種等級:叢集管理者(擁有管理WekaFS叢集全部權限)、組織管理者(多租戶環境下,可管理所屬租戶範圍的全部權限)、正常使用者(可掛載與存取檔案系統,但不能操作管理控制臺與CLI指令)、唯讀用戶(只能掛載與讀取檔案系統,不能寫入資料),以及S3使用者(只能執行S3物件儲存指令)。
WekaFS也提供完整的全面加密功能,如遵循FIPS 140-3等級1標準的密鑰,以及XTS AES 512位元加密,用戶建立檔案系統的時候,可選擇是否啟用加密保護。WekaIO宣稱,啟用加密功能之後,對於WekaFS整體效能的影響很低,幾乎可以忽略。
WekaFS檔案系統的控制臺介面
在系統管理介面上,WekaFS提供網頁控制臺與命令列等兩種選擇,上圖為用於參與IO500測試的WekaFS on AWS叢集的圖形介面(GUI),提供直觀的系統狀態儀表板,並能透滑鼠點選來執行組態設定與資料服務功能。圖片來源/WekaIO,立捷速能
與容器應用與AI平臺的整合
針對日漸普及的Kubernetes容器應用環境,WekaFS也特別提供專門的CSI(Container Storage Interface)Plug-in程式,作為Kubernetes的持續性儲存區(Persistent Volumes,PVs)連接WekaFS的介面,利用CSI介面還能使用容量配額功能,以此管理容器端應用程式的空間耗用。
而針對高效能分散式平臺的一大主要應用情境——AI與機器學習應用,WekaIO也提出了標準的參考架構,幫助用戶的整合。
透視WekaIO的AI參考架構,主要是安裝在8臺HPE ProLiant DL325伺服器而成的8節點WekaFS儲存叢集,搭配1至4臺Nvidia的DGX A100運算伺服器,WekaFS儲存叢集以200GbE網路連到2臺Nvidia Spectrum SN3700交換器,再以100GbE網路連接DGX A100,至於多臺DGX A100之間,則利用200Gb InfiniBand HDR網路互連。
關於上述AI參考架構的組態,WekaIO已測試與驗證,在實際應用環境中,還可進一步擴充WekaFS儲存叢集的規模,獲得額外效能與容量。
新世代檔案系統的標竿
與既有的分散式平行檔案系統相比,WekaFS同樣具備高擴展性與高效能,還擁有一系列嶄新的特性,包括基於NVMe SSD最佳化的底層儲存架構設計,容器化與微服務化的部署型態,涵蓋物件儲存的多協定支援與分層儲存,還有基於分散架構的高速資料重建能力等,可說實現了當前對於新一代分散式檔案系統的期望,兼具高效能、高擴展性、靈活的部署型式、彈性的應用環境支援,以及高可靠性與安全性。
基於上述理由,WekaFS也獲得眾多一線大廠的青睞,以將WekaFS引入自身產品線,作為提供AI、巨量資料分析應用的儲存平臺,也讓WekaIO的影響力跨出自身品牌之外。
其他廠商的WekaFS儲存產品
Hitachi Vantara HCSF HCSF是由WekaIO的WekaFS檔案系統,結合Hitachi Vantara伺服器而成的分散式儲存系統。圖片來源/Hitachi Vantara
憑藉著經過多次實證的高效能表現,WekaIO的WekaFS獲得眾多一線大廠的青睞,成為高效能運算領域最炙手可熱的新興檔案系統。目前已知有Cisco、Dell、Lenovo、HPE、Hitachi Vantara等大廠,都陸續將WekaFS引進自身產品線,將自身的硬體與WekaFS整合,作為支援AI、機器學習等應用的高效能儲存平臺。
臺灣企業或組織若有意評估這項解決方案,可洽詢WekaIO代理商立捷速能取得原版WekaFS,也能從Hitachi Vantara取得OEM版的WekaFS產品,稱為Hitachi Content Software for File(HCSF)。
HCSF系統的核心同樣也是WekaFS,與WekaIO原廠產品相比,特色是儲存節點的預先整合,以及提供了預設的物件儲存設備搭配方案。
透過WekaFS與伺服器預先整合,Hitachi Vantara組成完整的儲存節點套件,可簡化用戶的建置與部署作業。不久之前,Hitachi Vantara更新與擴展HCSF的硬體規格,該公司最初提供的HCSF硬體,主要搭配Advanced Server系列當中的DS120伺服器,採用1U尺寸的機箱,預設搭載Intel Xeon Silver 4214或Xeon Gold 6226R處理器,以及192GB記憶體。
現在HCSF則有4U/8槽、1U/10槽、2U/20槽等3種硬體款式,前2者搭載的處理器都是AMD EPYC 7413,後者則為AMD EPYC 7713,記憶體容量分別為每節點128 GB、256 GB、512 GB,儲存裝置組態更為多樣,效能也隨之提升。
同時,Hitachi Vantara另一款物件儲存產品Hitachi Object Platform(HCP),也提供與HCSF整合的選項,用戶可省下為HCSF找尋其他的物件儲存設備的麻煩。HCP可提供高擴展性,由SSD與硬碟組成的低成本物件儲存空間,只須將其物件儲存空間,以S3協定掛載給HCSF,便能作為後者WekaFS擴展的物件儲存空間,組成分層儲存架構。
熱門新聞
2024-12-08
2024-12-08
2024-12-08
2024-12-06