從引領潮流到隨波逐流,最後只能追趕潮流?——在荊棘中掙扎前進的NetApp

冬瓜頭原創,轉載請註明!

NetApp最近推出了FAS3200FAS6200新一代產品。這一代產品相對上一代FAS3100以及FAS6000有什麼區別?發生變化的形態背後有何隱情?NetApp爲何遲遲不推出真正Scale-Out的集羣或者分佈式NASNetApp在固態存儲方面的行爲爲何如此另類?本文將會解開一個個謎團。

 

怪誕之一:曇花一現

FAS3100系列纔出來沒多久,就被FAS3200替了。我記得那時候,其他廠商同檔的存儲系統基本都已經用了DDR2 667的內存以及PCI-E的總線,但是那時FAS3000系列依然使用PCI-X總線以及DDR2 400內存。終於在09FAS3100升級到了DDR2 667以及PCI-E總線,同時硬件也做了改動,把NVRAM集成到主板,並且使用背板來連接兩邊NVRAM,消除了物理線纜。但是好像爲時已晚,在NetApp從內存和總線方面追趕上別人之後,PCIE2.0SAS2.08G FC時代都到來了,所以NetApp決定痛改前非,一次到位,推出FASx200,用新CPU、新總線、新接口、新硬件打造新一代硬件平臺,FAS3100只能是曇花一現了。對此NetApp一定非常難受,陣痛隱隱。

 

怪誕之二:形態回退,接口轉變

FAS3100是把NVRAM集成到了主板,並且雙控各自的NVRAM之間的連線已經被固化到背板中去了,通過這種手段降低接觸不良等造成的故障。但是FASx200系列好像又回來了,還是通過外置接口和連線來連接兩邊的NVRAM,不過這次不用Infiniband了,而就用最普通的10GbE,看來NetApp這次也隨波逐流了。之前用10GbInfiniband來作爲兩邊NVRAM同步的鏈路,看好的就是其低延遲,Infiniband我印象中應該是每Frame. 512Bytes,具體不記得了,總之比一般FC與以太網的幀要短,這樣,在傳輸小message的時候可以獲得更低的延遲,有利於NVRAM之間的纖細日誌的同步,但是我一直也想不明白的一件事,幀短了,再傳大數據塊時候的開銷也就增加了,被更多的EOFSOF等佔用帶寬,這樣豈不是降低了效率麼?所以Infiniband有用40Gb版本的,比如Isilon等,用高速率來彌補大數據塊時的低效率。那麼對於FAS,是否有必要用Infiniband,從這次NetApp的策略來看,不管是從技術角度還是產品、商務角度,用個10GbInfiniband相比以太網來講確實有點得不償失。

但是爲何他又回到外置連線形態了呢?我就很納悶,怎麼回事?一會東一會西的。但是仔細一看才知道箇中辛酸啊。欲知詳情,往下看。

 

怪誕之三:大膽創新——IO擴展模塊的出現

IO擴展模塊,這東西說實話,在中端存儲裏面還沒有哪個廠商這麼搞,基本上都是“IO擴展卡”的方式,而不是一整個模塊。在高端存儲裏則屢見不鮮,比如IBMDS8000裏的IO擴展櫃。而如今NetApp在中端裏用了IO擴展模塊,我就在想,是創新,還是迫不得已?但是仔細想來,確實沒有什麼迫不得已的地方,爲什麼呢?我們來看看這兩張圖。

 

大家可以發現,NetApp這次在硬件方面做了很大的創新,即可以在同一個櫃子中插入兩個控制器,或者插入一個控制器和一個IO擴展模塊,兩種模式任選一種。而且我估計,如果初始購置時選擇了一櫃雙控制器的模式,後期如果想擴充,那麼可以做到不停業務擴充,再上一個櫃子,移出其中一個控制器,插入IO擴展模塊,不過這個動作也是非常繁瑣和複雜的了。這樣做可以極大降低初始購置成本,不用預留任何空槽位。但是這樣做也是有代價的,不言而喻,雙控制器可能會不在同一個櫃子中,那麼NVRAM背板連接模式就不可能了。可靈活擴展的IO模塊與NVRAM背板連接,要哪個?在FASx200這一代產品,NetApp不得不將雙控的NVRAM再次用外接連線的方式來連接。不過這裏澄清一下,如果採用一櫃雙控的模式,也就是NetApp所謂的“CC”模式,即兩個Controller,那麼可以不用在外面連線,背板上自動導通連線,而外面的接口自動被屏蔽,但是如果採用CI模式,即Controller-IO擴展模塊模式,那麼雙控之間就必須從外置接口連接了。

這是不是又很難受呢?可以想象到NetApp的相關設計人員當初做出這個決定之後,他們的產品團隊、市場團隊、銷售團隊,是否一定也經歷了陣痛去接受這個事實?如何向用戶和市場去交代?不過說實話,可擴展的IO模塊,這確實是個巨大創新了。在硬件方面創新,這對於一個軟件公司來講是很不容易的,不知道本次產品是否依然由Xyratex供貨,硬件設計究竟是由NetApp主導還是Xyratex主導,這個我無從考證,但是不管怎麼樣,不容易!

 

怪誕之四:USB接口

包括IBMStorwize V7000以及NetApp這次的FASx200系列,都留了USB口。理論上講,所有廠商基本上都會留有後門來管理整個存儲系統,這些特殊的接口和命令,用戶不會知道。但是管理口也可以開後門,沒必要用USB,我推測USB口被引入存儲系統,可能與x86以及Linux Based操作系統在陣列系統中越來越普及有關,有一個USB,後續對OS的升級等會方便很多,根據資料顯示,這次FASx200系列確實可以從外置USB驅動器來啓動,用於緊急修復損壞的OS。其內部其實也是用一塊USB接口的U盤來存放OS內核影像的。

 

怪誕之五:SSDPAM卡,瘋狂的Cache帝!

很早的時候NetApp就對SSD抱有疑慮,我記得當時其他廠商已經在着手開發動態數據分級了,而NetApp卻猶豫的很,最終推出一塊叫做Performance Acceleration ModulePAM)的PCI-E接口卡,專用於FAS3100系列。一開始其上是插DDR SDRAM內存條的。WAFL雖然是個很有特色的文件系統,但是其所存在的問題也是不可小視的,也就是經典的Sequential Read After Random Write的問題,也就是本來邏輯上連續的塊,被WAFL處理之後底層卻變得不連續了,這樣在連續地址讀IO的情況下,底層卻表現爲隨機IO的行爲,從而影響性能。PAM卡的推出可能也有這方面原因。

那麼究竟爲何NetApp不使用SSD來解決性能問題,或者自己也開發自動分級存儲模塊呢?我猜測,這與其WAFL的原理有很大關係。SSD這東西,所有人看到它的表現,一定都是豎起大拇指的,但是我估摸着唯獨NetAppSSD具有那麼一點點排斥心理,爲何呢?

首先,SSD的出現,讓WAFL的那一套寫加速算法顏面盡失,包括全重定向寫、盡力整條寫等針對機械磁盤所作的大量優化,隨着SSD的出現,一切都解決了,那麼WAFL這一套勢必在SSD面前就顯得白費了,這一定讓NetApp很難受的,其實NetApp一直都難受,即便是使用機械盤,WAFL依然面臨着Sequential Read After Random WriteSRARW)問題,早就在研究新架構的WAFL了,比如知否可以支持Raid5而不是Raid4,是否可以不再重定向寫了等等。但是對於WAFL這樣一個複雜而龐大的架構來講,牽一髮會動全身,不是那麼好改革的了。

第二,WAFL的重定向寫措施,會迅速耗盡SSD上的空餘空間,懂點SSD的人都知道,SSD自己內部會去記錄哪些page存有數據,哪些沒有,這麼做是爲了損耗平衡算法,SSD內部也會有大量的重定向寫操作,其做法與WAFL類似,但是WAFL這麼做是爲了方便的快照與整條寫,SSD這麼做純粹是爲了損耗平衡,不管怎麼樣,這兩者是重複和部分衝突了,另外,WAFL不斷的寫到空餘位置,那麼SSD上的“曾經寫過多少”這個高水位線就會迅速達到頂峯,SSD內部空餘空間迅速降低到最低值,嚴重影響SSD的性能,而WAFL的作用原理又不可能實時的將SSD中的“垃圾”塊回收回來,因爲WAFL從本質上講可以認爲是無時無刻不在產生垃圾(重定向寫之後,以前的塊便是空閒塊了,但是SSD卻無法感知文件系統層面的空閒塊,依然認爲是有用塊),它根本來不及回收的,況且WAFL內部的兩層FS之間已經爲了忙活着回收空間而做了大量複雜流程了。如果說SSDWAFL的優化變得價值全無,這一點還可以容忍,但是如果WAFL想用SSD而眼看着效果不好,那麼就真的沒治了。

第三,我們退一步講,就算WAFL會很快耗盡SSD的空餘空間到最低值(也就是SSD廠商隱藏的那部分爲了保證性能而預留的空餘空間,比如100GBSSD其實是有128GB物理空間的),效果再不好,但是也比機械硬盤要快的,所以NetApp只能退而求其次將就着上SSD了。還有最重要的一點,別忘了,SSD目前的容量還太小,如果上SSD,會有兩種用法,一種就是直接將SSD當做普通盤來用,做Raid,做Aggregate,做WAFL,然後做Volume,做Lun或者目錄的Exports。但是這種做法適用的場景很少,比如一部分小容量的數據卻要求極高的訪問速度,那麼沒有問題,這種做法可以滿足。但是如果遇到短尾型應用的數據訪問場景,大量的數據卻只有一部分爲熱點,那麼此時你將所有數據都放到SSD上,顯然是得不償失,此時自然就需要有一種動態的細粒度的熱點數據分級解決方案了,這也是目前幾乎所有存儲廠商都在搞的技術,而且主流廠商也都推出了各自的產品了。而我們回來看NetApp,她何嘗不想推出自己的動態分級方案?她很難受,爲什麼呢?WAFL如果是老虎,那麼NetApp可以說已經騎虎難下了。想在WAFL上引入動態分級子模塊,不是那麼容易的。動態分級子模塊包含至少兩個亞模塊,一個是熱點數據監控、統計模塊,另一個是數據遷移模塊。監控和統計子模塊,可以作爲一個旁路模塊存在,不會對現有的任何FS架構產生太大影響,這個WAFL做起來沒有問題,但是數據遷移亞模塊,這對WAFL來講,又很難受了,WAFL不按常理出牌,與其他傳統FS不同,總是去重定向寫,改一改就動全身,所以從技術上講,實現動態分級還是太費勁,風險也很大,需要測試很長時間,所以我推測這也是NetApp遲遲沒有推出動態分級的可能原因之一吧。

所以我估計,NetApp一開始就定下了基調,SSD目前來講就作爲大緩存的角色而存在。可以看到本次FASx200系列,最高規格的FAS6280已經可以使用8TB FLASHPAM卡了,當然,需要插多塊PAM卡來堆疊成這麼高的容量,而且兩個控制器上的PAM卡規格必須對稱,成雙成對出現,而不能夠只插一組卡讓全局使用。

但是後續如果NetApp真的推出了動態分級功能,那麼勢必等於抽了自己一嘴巴。除非有很好的說辭,至於說辭,編造起來比技術要容易的多了,這個我們就不必擔心了。但是總歸還是很難受的。在今年年初,NetAppTom Georgens提出“分級存儲終將走向死亡”的論斷,我認爲,這句話絕對是正確的,不過時間是個問題,當SSD成本不斷降低,技術不斷提高,容量逐漸變大之後,這種過渡的動態分層肯定走向死亡,所以這句話是有退路的,就得看你怎麼理解了。但是短期來看,分層是有必要的。PAM卡只對讀加速,而不對寫加速。其實緩存本身就是一種動態分層,所以這個論斷顯然帶有強烈的主觀色彩了。

 

怪誕之六:FlexShareFlexCache的推廣

2年之前這兩個技術還都處於潛伏期,如今被NetApp推到水面高調示人了。同樣,還有Multistor,爲了應對雲時代,這些之前似乎無關緊要的功能,如今卻變得很有噱頭。FlexShare之前基本沒人用,它屬於一個QoS模塊,可以設定特定的資源在訪問的時候能獲取多大的優先級,在大規模雲基礎架構中,QoS顯得頗爲重要。FlexCache則是一種類似CDN的遠程訪問加速解決方案,這在一些IPTV或者視頻編輯領域頗有作用。而MultiStor,則屬於一種存儲虛擬化的範疇,這個虛擬化不是指虛擬化其他廠商的存儲空間,而是將一臺物理設備虛擬成多臺邏輯設備,類似虛擬機,這在存儲系統中比較少見,尤其是中端存儲,就更少見了,據我瞭解NetApp是第一家在中端存儲實現這種虛擬化功能的廠商。這個功能被包裝爲更被雲所認可的名詞,也就是“Secure multi-tenancy”,安全多租戶。這種虛擬化正是雲梭需要的,而且被加入了“安全”二字,也更能往“雲安全”上靠,噱頭十足!所以說,這一點並不算怪誕,應該是見怪不怪了,其他廠商也都在這麼搞噱頭。

 

怪誕之七:NetApp的集羣NAS呢?

Ibrix3PARIsilonCompellent等這些Scale-out架構的存儲系統,該收的都被收了。NetApp也收過,他很早就收購的Spinaker,是一家做Single Namespace的文件系統的廠商,基於Spinaker而搞出來的NetApp GX系列,一直不給力。究其原因,很大程度上是因爲GX只是一個Single Path Image模式的架構,類似於微軟的DFS,將多個獨立文件系統,從路徑上加一次虛擬,僅此而已,多個文件系統(控制器機頭)之間依然採用鬆耦合方式。他沒有從骨子裏表現爲一個Single Filesystem Image的集羣或者分佈式文件系統,市場認同度不高。就WAFL的目前的架構來看,想做成骨子裏的集羣或者分佈式文件系統,不是不可能,NetApp的技術還是很強的,但是需要傷筋動骨,興師動衆,需要革掉舊東西,一定會有陣痛。目前來講,NetApp可能尚未考慮好究竟要怎麼做。新推出的Ontap8.0操作系統,我認爲基本上沒有太大的變動。這一切都顯示了,NetApp正在荊棘中痛苦的掙扎着、創新着前進。

 

綜述——

NetApp的軟件很有特色,這次連硬件也能玩出個花色來。這一點NetApp確實很具有創新思想。作爲NAS存儲的開山鼻祖,經歷了20年的NetApp,一直在引領NAS潮流,包括衆多獨特的細節功能以及它的基於WAFL之上的統一存儲的概念。但是時代在變,潮流在變。就拿統一存儲來說,這個潮流前幾年確實一直被推崇,但是隨着雲的出現,統一不一定非要在存儲控制器中實現了,雲上層的資源管理完全可以統一,底層存儲在雲中能折騰起的浪花會越來越小,離用戶越來越遠,最後會變成一片平靜的海面。而在硬件規格大換代的潮流中,NetApp前期沒能跟得上,這次在FASx200中終於隨波逐流了,但是可喜的一點是在硬件形態方面依然做了創新。而在固態存儲與動態分級潮流面前,NetApp顯然已經落後了至少2年了,其PAM卡這個大緩存還有多少生命力,不好預測。在這個變革的時代,WAFL這個存在了20年的文件系統,是否也應該思變了呢?現在不變,更待何時,否則就只能在不斷的追趕當中逐漸退去。

就在不久前,NetApp決定大力拓展中國市場,欲將中國市場的銷售額超過日本,成爲亞太區第一。我對此也產生了一些聯想,國內的經濟發展導致國內存儲市場逐年被挖掘,而NetApp假設就算已經無法引領潮流,那麼至少在國內NAS市場還是能有很大作爲的。後續NetApp對中國市場會有什麼動作,會加大宣傳力度麼,會高調示人麼?讓我們拭目以待吧。


 

2

2

1

1

3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章