劉彬
(大眾報業(yè)集團 信息技術(shù)部,山東 濟南 250014)
基于Nutanix平臺的云媒資探索
劉彬
(大眾報業(yè)集團 信息技術(shù)部,山東 濟南 250014)
傳統(tǒng)的云計算與虛擬化平臺實質(zhì)上僅實現(xiàn)了服務(wù)器的虛擬化,介紹了一種新型的將計算和存儲進行聚合、基于軟件定義存儲架構(gòu)的Nutanix虛擬平臺。以山東大眾網(wǎng)構(gòu)建云媒資系統(tǒng)為例,介紹了Nutanix平臺工作原理,包括節(jié)點架構(gòu)、NDFS文件系統(tǒng)的數(shù)據(jù)讀寫機制、壓縮技術(shù)和平臺的容錯與可靠性,并討論了媒資系統(tǒng)在此平臺上的部署與優(yōu)化等相關(guān)工作。
存儲虛擬化;虛擬化平臺;云計算;媒資系統(tǒng)
隨著大眾網(wǎng)新建演播室和數(shù)據(jù)中心的投入使用,視音頻類節(jié)目與文字、圖片的新聞內(nèi)容將會規(guī)模級增長,為了對眾多類型的素材內(nèi)容進行管理,最大限度上發(fā)揮這些“媒體資產(chǎn)”的價值,網(wǎng)站需要從零開始搭建一個媒體資產(chǎn)管理系統(tǒng)。與廣播電視臺的應(yīng)用不同,網(wǎng)站的制作內(nèi)容具有多元化的表現(xiàn)形式,除了各種常見格式的大容量素材、成片的高清視頻外,網(wǎng)站資源中更多的是低碼率的flv和mp4視頻文件,以及集團數(shù)字報pdf文件、doc文件、gif動畫、jpg圖片、html靜態(tài)頁面等,這些輕量級的文件甚至只有KB級別大小,針對小文件被頻繁訪問的特性,在系統(tǒng)的存儲性能上對I/O速率提出了極高的要求。
基于虛擬化的云計算技術(shù)近年來逐漸成為各個行業(yè)中的應(yīng)用熱點,在虛擬化平臺上搭建的云媒資系統(tǒng)[1]在廣電行業(yè)內(nèi)也成為主流應(yīng)用,傳統(tǒng)的虛擬化平臺通過在服務(wù)器級別上部署虛擬化軟件,僅僅完成了計算資源的虛擬化,而在服務(wù)器后端通常采用集中式存儲架構(gòu),如SAN(存儲區(qū)域網(wǎng)絡(luò))或NAS(網(wǎng)絡(luò)連接存儲),為所有虛擬機提供共享存儲,傳統(tǒng)的平臺架構(gòu)如圖1所示。
圖1 傳統(tǒng)的虛擬化平臺架構(gòu)
為保證系統(tǒng)存儲的安全性,傳統(tǒng)架構(gòu)方式在存儲網(wǎng)絡(luò)和硬盤陣列上往往采取雙機熱備的冗余設(shè)計,存在過于復(fù)雜的系統(tǒng)架構(gòu)、較高的成本代價、不便利的系統(tǒng)擴展等缺點,而對于網(wǎng)站應(yīng)用最致命的一點是,針對小文件被頻繁讀取、寫入的需求,對存儲設(shè)備有極高的I/O性能要求,目前即使是FC SAN(光纖存儲網(wǎng))和光纖盤陣,在極端的超大量多并發(fā)訪問的情況下,存儲網(wǎng)絡(luò)存在的性能瓶頸會影響整個系統(tǒng)的正常運行。
Nutanix[2]是一個將存儲、計算資源、網(wǎng)絡(luò)和虛擬化高度集成的虛擬計算平臺,放棄了傳統(tǒng)的集中化存儲架構(gòu),真正實現(xiàn)了存儲的虛擬化,采用融合式的架構(gòu)將計算資源和本地存儲整合在單一設(shè)備中,將共享存儲整合到服務(wù)器層中以提供更高的I/O性能,為網(wǎng)站云媒資的實現(xiàn)提供了小文件讀寫性能上的保證。
2.1 節(jié)點邏輯架構(gòu)
一組Nutanix服務(wù)器組成的集群中,每個服務(wù)器節(jié)點邏輯結(jié)構(gòu)如圖2所示,每個節(jié)點都運行著一個VM監(jiān)控程序和VM控制器,后者負責(zé)處理本地虛擬機監(jiān)控程序的所有I/O操作和節(jié)點之間的所有通信任務(wù),不僅為虛擬機管理程序管理作為中央數(shù)據(jù)存儲的集群與服務(wù)器,還管理眾多客戶虛擬機,存儲資源通過傳統(tǒng)接口與VM監(jiān)控程序?qū)?,被整合并提供給所有客戶虛擬機服務(wù),這種將計算和存儲融合為一體的技術(shù)可為虛擬化平臺提供靈活、可伸縮的體系架構(gòu)。
圖2 節(jié)點邏輯結(jié)構(gòu)
Nutanix節(jié)點為虛擬化的環(huán)境開創(chuàng)了極其簡便、極具擴展性的存儲架構(gòu),各節(jié)點都運行一個虛擬存儲控制器以提升系統(tǒng)可擴展性和恢復(fù)能力,本地存儲包含了可提供極高IOPS以實現(xiàn)高性能的閃存設(shè)備、讀寫高速容量略小的固態(tài)硬盤SSD以及實現(xiàn)低成本、高容量的硬盤驅(qū)動器HDD,存儲控制邏輯智能地實現(xiàn)服務(wù)器內(nèi)部分布式存儲,并將本地存儲轉(zhuǎn)換成為集群共享。
2.2 NDFS文件系統(tǒng)
NDFS文件系統(tǒng)是Nutanix虛擬計算平臺的核心,它管理所有元數(shù)據(jù)和數(shù)據(jù),并實現(xiàn)分布式資源調(diào)度功能,NDFS可以將全部節(jié)點間的本地存儲聚集起來,創(chuàng)建可分割成一個或多個數(shù)據(jù)存儲的統(tǒng)一的存儲池,使用標準的網(wǎng)絡(luò)文件系統(tǒng)協(xié)議為所有托管的VM虛擬機提供存儲,基于無網(wǎng)絡(luò)化的NDFS文件系統(tǒng)通過集群內(nèi)高速內(nèi)部總線訪問其數(shù)據(jù),而且所有讀寫操作都在節(jié)點本地進行,計算資源運算的數(shù)據(jù)不需訪問外部存儲,這樣消除了網(wǎng)絡(luò)時延,加快了數(shù)據(jù)存取的I/O速度。
2.2.1 數(shù)據(jù)讀寫機制
當(dāng)虛擬機需要寫入數(shù)據(jù)時,數(shù)據(jù)會同步地復(fù)制在集群內(nèi)相鄰的主機節(jié)點上,只有當(dāng)用戶數(shù)據(jù)和與之關(guān)聯(lián)的元數(shù)據(jù)被復(fù)制完成后,主機才接收將數(shù)據(jù)寫入本地存儲器的指令。數(shù)據(jù)的同步復(fù)制通過文件系統(tǒng)的操作日志Oplog來實現(xiàn),OpLog存儲在虛擬控制器的SSD層上以便提供快速的寫入I/O性能,用來處理突發(fā)性的數(shù)據(jù)寫入,Oplog將多個寫入指令合并,然后將數(shù)據(jù)按順序排入盤區(qū)存儲。為了保證數(shù)據(jù)可用性,數(shù)據(jù)寫指令在提交給VM控制器并得到確認之前,OpLog會將寫入同步復(fù)制到另一個VM控制器,且集群內(nèi)所有VM控制器都會參與復(fù)制,根據(jù)節(jié)點和存儲盤區(qū)的負載進行動態(tài)選擇寫入路徑,這種機制確保了同一數(shù)據(jù)至少存在于集群內(nèi)兩個完全獨立的節(jié)點中,以此實現(xiàn)系統(tǒng)容錯。
對于數(shù)據(jù)讀取指令,可通過本地存儲控制邏輯發(fā)送請求,NDFS利用分層存儲技術(shù)將最常調(diào)度的“熱門數(shù)據(jù)”駐留在性能最高的閃存卡上,常用的數(shù)據(jù)存在固態(tài)硬盤SSD上,隨著訪問量下降而變?yōu)椤袄溟T數(shù)據(jù)”則被轉(zhuǎn)到更加經(jīng)濟但容量較大的HDD磁盤上;但若任意節(jié)點的冷門數(shù)據(jù)再度變?yōu)闊狳c數(shù)據(jù),即VM控制器的請求更加頻繁時,NDFS就會自動將該數(shù)據(jù)重新裝入閃存或固態(tài)硬盤中,盡可能保證最快的性能。所有讀取、寫入均由本地VM控制器提供服務(wù),在其控制下虛擬機的數(shù)據(jù)將保存在本地節(jié)點中,當(dāng)發(fā)生HA事件使虛擬機移動到其他一個節(jié)點并請求讀取舊數(shù)據(jù)時,由新的VM控制器將I/O請求轉(zhuǎn)發(fā)到遠程控制器,NDFS將數(shù)據(jù)在后臺進程的控制下遷移到本地。
2.2.2 數(shù)據(jù)壓縮技術(shù)
與傳統(tǒng)存儲架構(gòu)對整個LUN或磁盤執(zhí)行壓縮不同,Nuta?nix平臺對存儲的扇區(qū)級別利用內(nèi)聯(lián)壓縮、后處理壓縮兩種策略,在提高壓縮效率并保證系統(tǒng)性能前提下,對池化的各存儲資源層的容量進行最大化提升:對于順序化I/O數(shù)據(jù)操作,當(dāng)數(shù)據(jù)寫入磁盤時進行同步壓縮,以保證計算資源的性能,稱作內(nèi)聯(lián)壓縮策略;而為了處理隨機或批處理的數(shù)據(jù)時獲得高性能,熱門數(shù)據(jù)寫入PCIe接口的固態(tài)硬盤等高速存儲介質(zhì)時并不進行數(shù)據(jù)壓縮,只有降低成了冷門數(shù)據(jù)而向低速存儲介質(zhì)轉(zhuǎn)移時,在保證數(shù)據(jù)和計算資源處于可用狀態(tài)而并不影響正常的I/O操作時,才對數(shù)據(jù)進行壓縮,這種方式稱為后處理壓縮策略。Nutanix平臺利用基于數(shù)據(jù)類型動態(tài)變化的Snappy算法,針對VM虛擬機和文件級別進行本機壓縮,幾乎可獲得最高性能的壓縮、解壓的效果,對于以虛擬機為中心的工作流程更加適應(yīng)。
2.4 Nutanix平臺優(yōu)勢
2.3 平臺容錯機制與可靠性
作為一個基于軟件實現(xiàn)的全分布式平臺,Nutanix平臺的保護功能以及針對各個組件的自修復(fù)功能,可從容地應(yīng)對VM控制器、磁盤或者服務(wù)器節(jié)點的故障,甚至可以防止災(zāi)難性硬件故障,確保群集從整個物理設(shè)備的故障中恢復(fù)而不會造成數(shù)據(jù)或服務(wù)損失,確保數(shù)據(jù)和訪問始終可用。
1)某個節(jié)點上的VM控制器發(fā)生軟件故障時,平臺會通過數(shù)據(jù)路徑冗余機制來保證服務(wù)的高可用性,平臺的自動選路功能會自動將訪問請求從主機重新路由,選擇集群內(nèi)其他運行正常的節(jié)點的VM控制器并交予托管,由于集群對節(jié)點上的所有數(shù)據(jù)副本都具有訪問權(quán)限,新VM控制器可以立即響應(yīng)所有的I/O請求,直到故障得到解決才停止托管,這種機制實際上也是為所有虛擬機提供的一種多路完整的容錯故障轉(zhuǎn)移機制。
2)當(dāng)磁盤故障時,傳統(tǒng)平臺的RAID陣列的數(shù)據(jù)恢復(fù)必須經(jīng)歷一個漫長的重建過程,CPU的超負荷運轉(zhuǎn)會導(dǎo)致系統(tǒng)I/O性能嚴重降低。Nutanix平臺自動檢測到磁盤故障后,會將該磁盤標記為離線狀態(tài),并立即將其從存儲池中掛起,通過確定存儲在磁盤故障的扇區(qū)位置啟動相關(guān)聯(lián)的數(shù)據(jù)副本的重復(fù)制,平臺以后臺進程方式進行,且集群內(nèi)所有節(jié)點均參與數(shù)據(jù)重建,隨著集群規(guī)模的增長,可調(diào)用的CPU資源也逐漸增多,用戶的故障數(shù)據(jù)在集群中各個節(jié)點上存有副本,因此重建的時間大大縮短,體現(xiàn)出存儲虛擬化的優(yōu)勢。
3)當(dāng)更嚴重的服務(wù)器節(jié)點失效時,平臺利用其支持的多個虛擬軟件的高可用性服務(wù)(如VMware的HA功)將虛擬機遷移到其他節(jié)點,讀取或?qū)懭胝埱髮⒈话l(fā)送到遷移后的VM控制器,VM控制器將不在本地的數(shù)據(jù)臨時復(fù)制到資源占用較小的某個節(jié)點,并將請求轉(zhuǎn)發(fā)到當(dāng)?shù)豓M控制器,數(shù)據(jù)通過集群節(jié)點間的內(nèi)部10GbE網(wǎng)絡(luò)發(fā)回本地。本地VM控制器通過監(jiān)控管理程序?qū)?shù)據(jù)發(fā)送到虛擬機,并保存在本地供后續(xù)訪問,同時平臺再次復(fù)制整個集群數(shù)據(jù)以便將全集群恢復(fù)到原容錯狀態(tài)。
扁平化的Nutanix架構(gòu)保證了平臺可靠性:系統(tǒng)故障點的數(shù)量顯著減少,減少了物理連接光纜的數(shù)量,從而減少布線錯誤和避免由于電纜意外斷開而造成的網(wǎng)絡(luò)資源失效;將控制邏輯分布于集群中各節(jié)點的容錯保障機制,在VM控制器失效時的自動選路和托管過程對管理程序和虛擬機完全透明;相比SAN架構(gòu)中硬件控制器故障后的設(shè)備更換及再初始化的漫長故障周期,基于軟件驅(qū)動自修復(fù)的控制器失效后僅需要重啟就可在后臺自動修復(fù)。
Nutanix平臺將控制邏輯和數(shù)據(jù)存儲融合到各個節(jié)點,低延時地提供數(shù)據(jù)I/O,性能更快,靈活性更高;平臺不再需要昂貴的集中式存儲或?qū)S么鎯W(wǎng)絡(luò)以及傳統(tǒng)的存儲陣列,顯著降低了虛擬化成本,同時消除了集中式SAN和NAS存儲的性能瓶頸,更利于虛擬應(yīng)用的性能最優(yōu)化;平臺摒棄了傳統(tǒng)存儲的邏輯單元號LUN、卷或RAID組的配置操作,轉(zhuǎn)而實施了文件系統(tǒng)層的數(shù)據(jù)保護,大大簡化了部署操作并提升系統(tǒng)容錯能力,且具有強大而簡便的橫向擴展能力;軟件支持VMware、KVM、MS Hyper-V等多個虛擬化部署,支持實時VM遷移、高可用性、分布式資源調(diào)度以及容錯技術(shù)等強大功能。
考慮到新聞網(wǎng)站內(nèi)容生產(chǎn)的特點,媒資系統(tǒng)必須采用B/S部署結(jié)構(gòu),以方便同網(wǎng)站CMS、VMS進行有效整合,實現(xiàn)適合網(wǎng)站媒體資產(chǎn)的工作流程。Nutanix平臺的B/S應(yīng)用系統(tǒng)部署簡便,根據(jù)大眾網(wǎng)媒資工作流程描述(如圖3所示)和系統(tǒng)各組件的服務(wù)功能分析和負載均衡,在平臺上建立以下4個VM虛擬機并配置媒資系統(tǒng)組件,同時設(shè)置使用帶冗余鏈路的低延時10GbE內(nèi)部交換機。
圖3 媒資系統(tǒng)工作流程
1)Web服務(wù)應(yīng)用:提供B/S界面和實現(xiàn)Server端應(yīng)用,控制操作頁面的顯示和整體流程的實現(xiàn),提供媒體資產(chǎn)入庫與出庫流程的業(yè)務(wù)支持,在Nutanix平臺設(shè)置需分配8 Gbyte內(nèi)存。
2)數(shù)據(jù)庫應(yīng)用:負責(zé)媒資系統(tǒng)中元數(shù)據(jù)、人員信息記錄和系統(tǒng)配置信息的存儲,安裝MS SQLServer 2008數(shù)據(jù)庫軟件,需分配8顆vCPU和16 Gbyte獨享內(nèi)存,初始時18 Tbyte存儲空間,存儲配置中選中CTR-RF2-VM-01(所有虛擬機和數(shù)據(jù)使用統(tǒng)一的容器)。
3)轉(zhuǎn)換引擎應(yīng)用:提供素材轉(zhuǎn)碼與格式轉(zhuǎn)換、合成和碎片化服務(wù),分配16 Gbyte獨享內(nèi)存。
4)檢索與流媒體應(yīng)用:負責(zé)向用戶提供數(shù)據(jù)檢索、節(jié)目編目服務(wù)和視頻流媒體服務(wù)支持,實現(xiàn)視頻的簡單編輯功能,設(shè)置分配8 Gbyte內(nèi)存。
數(shù)據(jù)庫應(yīng)用是整個媒資系統(tǒng)中最核心的組件,為保證數(shù)據(jù)庫級組件服務(wù)的高性能,必須對MS SQLServer數(shù)據(jù)庫進行優(yōu)化設(shè)置,運行在Nutanix平臺的數(shù)據(jù)庫可初始設(shè)置如下:數(shù)據(jù)硬盤設(shè)置為分區(qū)簇大小為64 kGbyte的NTFS格式;數(shù)據(jù)庫TraceFlag跟蹤標志設(shè)置為834和1118,開啟大頁面緩沖池分配并減少TempDB的SGAM頁爭搶;用來存儲臨時對象的TempDB數(shù)據(jù)文件設(shè)置為初始50 Mbyte,自動增長容量默認為10%,禁止壓縮TempDB文件,同時設(shè)置為分解成8個文件進行讀寫I/O;主數(shù)據(jù)Database文件允許自動增長,直到達到80%的磁盤容量,并關(guān)閉數(shù)據(jù)和日志文件的自動壓縮功能。
SQLServer緩存池中會對數(shù)據(jù)頁面加輕量級的latch數(shù)據(jù)鎖,隨著應(yīng)用時間的增長,在多用戶并發(fā)情況下會經(jīng)常發(fā)生PAGEIOLATCH類型的I/O等待,說明此時的數(shù)據(jù)庫相關(guān)配置已經(jīng)不能滿足需要,成為性能瓶頸所在,因此需要動態(tài)調(diào)整數(shù)據(jù)庫配置以及擴大分配給此應(yīng)用服務(wù)器的Nutanix平臺的獨享內(nèi)存。日常應(yīng)用中需經(jīng)常使用BPA工具檢測數(shù)據(jù)庫潛在的問題,積極利用第三方的數(shù)據(jù)備份工具經(jīng)常創(chuàng)建快照和備份點,以防應(yīng)用層面的數(shù)據(jù)錯誤的恢復(fù)。
大眾網(wǎng)云媒資系統(tǒng)的構(gòu)建,在硬件設(shè)備和軟件架構(gòu)上都考慮了先進和可靠的技術(shù),系統(tǒng)配置簡便、易于操作和管理維護,同時充分考慮了隨網(wǎng)站業(yè)務(wù)發(fā)展帶來的未來升級需要,對于大眾網(wǎng)的云媒資系統(tǒng)來說,初期建立的規(guī)模較小,盡管在存儲容量上有限,但強大的線性橫向擴展能力在后期可方便地進行按需擴展?;贜utanix平臺的云媒資系統(tǒng)部署后,在大眾網(wǎng)應(yīng)用效果良好,初步滿足了網(wǎng)站日常工作對媒資系統(tǒng)的要求。
[1] 樊磊,姜殿斌.基于云計算架構(gòu)下的全媒體資產(chǎn)管理系統(tǒng)[J].電視技術(shù),2012,36(22):78-81.
[2] Nutanix-The Virtual Computing Platform[EB/OL].[2014-10-15].http://www.nutanix.com.
Exploration of Media Asset Management System Based on Nutanix Virtual Computing Platform
LIU Bin
(IT Department,Shandong Dazhong News Group,Jinan 250014,China)
The conventional platform of cloud computing and virtualization essentially just actualize virtualization for servers.The working mechanisms of the Nutanix virtual computing platform are introduced taking the construction of media asset management system in DZWWW for an example,including node’s architecture,mechanism of data reading, writing and compression for NDFS file system,fault tolerance and reliability of the platform.The deployment, optimization and other related work of media asset management system on the platform are also discussed.
storage virtualization;virtual computing platform;cloud computing;media asset management system
【本文獻信息】劉彬.基于Nutanix平臺的云媒資探索[J].電視技術(shù),2015,39(6).
TN948 文獻標志碼:B DOI:10.16280/j.videoe.2015.06.017
閆雯雯
2014-12-08