阿凡達(dá)》的幕后英雄:存儲集群NAS
隨著《阿凡達(dá)》的全球熱映,為影片制作數(shù)字特效的新西蘭公司W(wǎng)eta Digital也越來越受到關(guān)注。據(jù)該公司介紹,影片中的細(xì)節(jié)動畫所需要的馬力遠(yuǎn)遠(yuǎn)超過一個(gè)集群NAS系統(tǒng)自身能夠提供的馬力。
為了支持該項(xiàng)目,其中包括3D角色臉部動畫的新突破,Weta Digital建立的存儲系統(tǒng)結(jié)合了BlueArc的Titan 集群NAS陣列以及NetApp的FlexCache。隨著特效變得越來越先進(jìn),對容量和性能的要求開始超過Weta Digital之前支持過的最大系統(tǒng),例如2005年的《金剛》。“《金剛》使用了100 TB的存儲,”Weta Digital首席技術(shù)官Paul Ryan說,“而《阿凡達(dá)》,(我們的服務(wù)器群)就有100 TB的RAM。”
為了支持?jǐn)?shù)字特效的渲染過程,Weta Digital有一個(gè)服務(wù)器群,被稱為“渲染墻”,包含35,000個(gè)CPU內(nèi)核。 在渲染過程中,同一圖像的多個(gè)層次和局部畫面合并形成一幀完整的電影畫面。“這給存儲造成了一些有趣的問題,”瑞恩說, “也就是說,我們會碰到這種情況,‘渲染墻’中有一萬個(gè)過程同時(shí)試圖訪問同一文件或文件組,從而導(dǎo)致了我們存儲中的熱點(diǎn)。”
大文件的服務(wù)者:Titan
為了緩解這一問題,該公司首先引進(jìn)了三個(gè)四節(jié)點(diǎn)的配置,是BlueArc的Titan 3200集群NAS系統(tǒng),每個(gè)系統(tǒng)擁有200TB容量,來支持《阿凡達(dá)》。BlueArc系統(tǒng)的市場定位是為數(shù)量大的大文件提供服務(wù),而像Weta digital這樣的媒體和娛樂公司通常使用大文件。一個(gè)配置完全的3200集群可以容納高達(dá)4PB的容量;BlueArc聲稱,3200可以支持高達(dá)20萬IOPS或高達(dá)20 Gbps的吞吐量。Ryan介紹,Weta Digital曾經(jīng)使用過一個(gè)Titan 3200群集。
但仍存在另一個(gè)問題。 “我們有一個(gè)紋理數(shù)據(jù),是一個(gè)相當(dāng)小的數(shù)據(jù)集, 總共在1TB到5TB,但幾乎每一個(gè)在‘渲染墻’的過程都想訪問該紋理數(shù)據(jù)。”Ryan說。由于這種數(shù)據(jù)訪問模式,“我們發(fā)現(xiàn),無論我們分配多大的帶寬給紋理數(shù)據(jù),渲染墻都將消耗所有的帶寬。”
“熱”數(shù)據(jù)的復(fù)制者:FlexCache
Ryan說:“我們和NetApp合作已久。”估計(jì)Weta Digital使用NetApp 文件服務(wù)器至少有十年之久,公司已經(jīng)有將近600TB的NetApp存儲用來服務(wù)用戶文件共享。 約九個(gè)月前,Weta Digital 引進(jìn)了一個(gè)新的雙節(jié)點(diǎn)高可用性集群,是NetApp的高端FAS6080集群系統(tǒng),以及也是配置成雙節(jié)點(diǎn)高可用性的集群:八臺NetApp的FlexCache設(shè)備。
NetApp的FlexCache旨在支持類似Weta Digital 渲染墻這樣的應(yīng)用。它通過使用本地緩存卷自動復(fù)制“熱”數(shù)據(jù),從而適應(yīng)不斷變化的使用模式。
雖然NetApp和BlueArc的系統(tǒng)不相互“交談”,但Weta Digital找到了一種方法,讓它們有效地共存。 NetApp的集群負(fù)責(zé)提供數(shù)據(jù)給渲染墻,而BlueArc的系統(tǒng)負(fù)責(zé)存儲渲染系統(tǒng)產(chǎn)生的電影畫面。 “我們知道BlueArc的產(chǎn)品不錯(cuò),我們也知道它們速度快,而且絕對符合我們的期望值。”瑞恩說, “但是,在過去的一年中令我們眼前一亮的新事物是FlexCache。”
Ryan說,自動性能管理是FlexCache的一大亮點(diǎn)。 “我們以前用過普通文件服務(wù)器來服務(wù)紋理文件,但是這需要我們手動對復(fù)制進(jìn)行管理。我們不得不在許多不同的文件服務(wù)器上都保留這些紋理文件的副本。”他說。
雖然目前的設(shè)置運(yùn)作良好,“我們一直在尋找更加細(xì)化的工具來查找存儲熱點(diǎn)以及哪些用戶試圖訪問,”Ryan說,“增加BlueArc的功能可以延遲問題的出現(xiàn),F(xiàn)lexCache則提供更多的帶寬。不過,當(dāng)熱點(diǎn)出現(xiàn)時(shí),如何對熱點(diǎn)進(jìn)行分析,仍然存在一定的難度。”