王海歡 張小邨 江蘇省廣播電視總臺
江蘇省廣播電視總臺IPTV平臺系統(tǒng)2011年建設(shè)成功并上線運行,2012年5月正式上線投入使用。整個業(yè)務(wù)平臺至2018年已運行6個年頭,先后建設(shè)了集成播控央視1號平臺、聯(lián)通多運營商集成播控平臺、業(yè)務(wù)管理平臺、內(nèi)容制作服務(wù)平臺、C3統(tǒng)計分析平臺等多個平臺,對外與央視總平臺、電信、聯(lián)通及多家上游內(nèi)容提供商等單位的技術(shù)系統(tǒng)實現(xiàn)互聯(lián)。目前IPTV主體6F機房有服務(wù)器236臺,機房供電負(fù)荷容量接近飽和。為了滿足未來業(yè)務(wù)日益發(fā)展,充分挖掘物理服務(wù)器計算存儲資源的使用效率,簡化服務(wù)器配置維護復(fù)雜度,優(yōu)化IPTV信息基礎(chǔ)架構(gòu)平臺的可靠性,江蘇省廣播電視總臺在建設(shè)多運營商IPTV業(yè)務(wù)平臺時,采用集群虛擬化技術(shù)構(gòu)建了高效IT信息基礎(chǔ)設(shè)施平臺(以下簡稱虛擬化平臺)。
整個虛擬化平臺基于VMWARE VSphere產(chǎn)品包進行構(gòu)建,包括宿主機群、虛擬化適配調(diào)度層、虛擬機層、業(yè)務(wù)應(yīng)用層及虛擬調(diào)度管理層。虛擬化平臺總體架構(gòu)見圖1。具體組件功能如下:
圖1 虛擬化平臺總體架構(gòu)
采用裝載固態(tài)盤及機械盤及多種用途的光纖、以太高速網(wǎng)卡的DELL 740R服務(wù)器,提供虛擬化平臺計算、存儲的物理化設(shè)備資源支持及實現(xiàn)高性能的網(wǎng)絡(luò)傳輸通道。
資源虛擬化層包括基礎(chǔ)設(shè)施子層和應(yīng)用服務(wù)子層,基礎(chǔ)設(shè)施層完成對物理宿主機上計算、存儲、網(wǎng)絡(luò)組件進行適配并抽象成標(biāo)準(zhǔn)計算、存儲、網(wǎng)絡(luò)組件,供應(yīng)用服務(wù)層根據(jù)用戶需求構(gòu)建所需的虛擬機設(shè)備和應(yīng)用各種管理調(diào)度策略。虛擬化平臺資源虛擬化層基于VMware ESXi組件及VSAN插件,ESXi 直接安裝在物理服務(wù)器上,實現(xiàn)了基于裸機 hypervisor,并將其劃分為多個虛擬機。
平臺虛擬出的計算虛擬機、虛擬交換機、虛擬網(wǎng)卡及虛擬存儲資源的集合。本次項目根據(jù)IPTV業(yè)務(wù)需要,分別構(gòu)建了包含上述類型資源的集成播控、業(yè)務(wù)管理兩個虛擬化資源池。
運行于虛擬機上集成播控平臺應(yīng)用、業(yè)務(wù)管理平臺應(yīng)用及應(yīng)用高可用組件。
整個虛擬化平臺采用VMWARE Vcenter集中管理組件作為配置和管理虛擬化 IT 環(huán)境的中央點。它提供基本的數(shù)據(jù)中心服務(wù),如訪問控制、性能監(jiān)控和警報管理功能, 提供資源調(diào)度策略的配置及根據(jù)虛擬機運行狀態(tài)進行集中調(diào)度控制。
管理客戶端包括窗口式和web網(wǎng)頁管理兩種模式,實現(xiàn)對宿主機、虛擬機資源管理及調(diào)度的展示和操作。
整個IPTV虛擬化平臺在系統(tǒng)選型和設(shè)計上具有高可靠、彈性可擴展、高性能等特點。
IPTV虛擬化平臺包括四部分不同角色的網(wǎng)絡(luò)區(qū)域:
由兩臺千兆H3C 5500堆疊而成,每臺服務(wù)器同時與兩臺H3C 5500上聯(lián),承擔(dān)vmware虛擬化vcenter 的管理和虛擬機運行狀態(tài)數(shù)據(jù)傳輸,用于Vcenter 對集群管理池中虛擬機及資源的調(diào)度,同時還包括虛擬機間業(yè)務(wù)系統(tǒng)雙機高可用的心跳連接。
本次虛擬化規(guī)劃為集成播控平臺和業(yè)務(wù)管理平臺兩個獨立的虛擬機池,其中集成播控集群連接到IPTV兩臺Cisco 4500組成的集成播控服務(wù)器接入交換機。運維管理集群的各EXSI宿主機連接到由兩臺Cisco 6800組成的業(yè)務(wù)管理平臺接入交換機。
用于連接一臺宿主機內(nèi)或跨多臺宿主機的多臺虛擬機之間數(shù)據(jù)交換的虛擬化交換網(wǎng)絡(luò),包括vSwitch標(biāo)準(zhǔn)交換機和 vDSwitch分布式交換機及與之相連的宿主機物理網(wǎng)卡。
圖2 應(yīng)用數(shù)據(jù)虛擬交換機
圖3 虛擬化交換物理互聯(lián)網(wǎng)絡(luò)
專用交換網(wǎng)絡(luò)在宿主機內(nèi)部配置基于VMkernal端口的分布式交換機,在宿主機之間由兩臺H3C 6600堆疊而成,通過全萬兆端口與宿主機連接,承擔(dān)VSAN中宿主機間虛擬機遷移(vMotion)的狀態(tài)數(shù)據(jù)、卷信息同步及跨宿主機I/O交互、虛擬機管理程序管理流量的實時通信。虛擬化交換物理互聯(lián)網(wǎng)絡(luò)如圖3 所示。
為了實現(xiàn)虛擬化平臺高性能、易擴展的需要,項目組采用VMWARE Virtual SAN技術(shù)構(gòu)建了基于虛擬機映像文件的虛擬化SAN存儲系統(tǒng)。通過專用10G網(wǎng)絡(luò)提供EXSI宿主機節(jié)點間存儲狀態(tài)信息的同步,VSAN組件可將所有宿主機節(jié)點的本地存儲池化為一個集中的SAN數(shù)據(jù)存儲,供虛擬機及其虛擬機磁盤文件VMDK存儲使用,并可以基于共享數(shù)據(jù)存儲實施虛擬機數(shù)據(jù)冗余、虛擬機高可用等多種策略。本次IPTV業(yè)務(wù)系統(tǒng)虛擬化主要對大量非數(shù)據(jù)庫類實體服務(wù)器應(yīng)用遷移到虛擬機上,考慮性價比,宿主機本地存儲采用SSD+機械硬盤的物理存儲組件。每個服務(wù)器節(jié)點采用12塊硬盤,其中兩塊SSD作為數(shù)據(jù)讀寫緩存,十塊HDD硬盤作為永久數(shù)據(jù)存儲容量設(shè)備,兩塊HDD作RAID1安裝ESXI系統(tǒng),整個虛擬化存儲擴展包括下面兩個維度:
在單個宿主機中考慮到需要部署大量虛擬機,故進行了本地存儲的擴展,每一塊SSD硬盤和五塊HDD硬盤(最多支持七塊)組成一個磁盤組,每個磁盤組作為VSAN物理存儲的故障域,當(dāng)組內(nèi)的SSD硬盤或HDD硬盤出現(xiàn)故障時,故障只會限制在本磁盤組內(nèi)及相關(guān)的虛擬機文件存儲,不會影響到其它磁盤,每臺物理主機存儲縱向擴充為兩個磁盤組,實現(xiàn)了容量主機內(nèi)容量擴展。
10臺集成播控和業(yè)務(wù)管理兩個業(yè)務(wù)平臺資源池,對應(yīng)構(gòu)建了兩個各五臺的VSAN 集群,每個集群配置5 臺宿主機,每個業(yè)務(wù)系統(tǒng)的所有虛擬機可在集群內(nèi)共享計算存儲及虛擬網(wǎng)絡(luò)資源,并可根據(jù)業(yè)務(wù)發(fā)展需要擴充集群內(nèi)主機節(jié)點數(shù),實現(xiàn)橫向CPU計算資源和存儲資源的同時擴展。
所有虛擬機的讀寫I/O均指向SSD,對于來自虛擬機的數(shù)據(jù)讀操作請求,與外部SAN一樣, VSAN是將SSD作為讀寫緩存使用。當(dāng)塊被寫入基礎(chǔ)數(shù)據(jù)存儲后,最先寫入SSD,如果是不經(jīng)常訪問的數(shù)據(jù),則會重新分配到(旋轉(zhuǎn)的) HDD中。在進行讀操作時,如果數(shù)據(jù)在SSD緩存中,則只需對緩存中的數(shù)據(jù)進行讀取,緩存中沒有命中的數(shù)據(jù)再到HDD數(shù)據(jù)盤中查找讀出。
圖4 基于SSD緩存磁盤組的讀寫操作
本次IPTV虛擬化平臺上承載了集成播控、業(yè)務(wù)管理兩大基礎(chǔ)業(yè)務(wù)平臺,涉及IPTV新聞、綜藝點播節(jié)目的集成發(fā)布、終端用戶登錄認(rèn)證、EPG認(rèn)證鑒權(quán)、業(yè)務(wù)計費等關(guān)鍵業(yè)務(wù),任何平臺應(yīng)用的中斷都會導(dǎo)致嚴(yán)重的安全播出事故和用戶的投訴,為此在整個IPTV虛擬化系統(tǒng)中,我們規(guī)劃設(shè)計了多種層次的系統(tǒng)高可用策略,以保障業(yè)務(wù)應(yīng)用連續(xù)不中斷的健康運行。
VMWARE vSAN數(shù)據(jù)存儲上采用的vmfs文件系統(tǒng)是一種分布式對象集群文件系統(tǒng),該系統(tǒng)允許多臺ESXI主機同時讀寫同一存儲設(shè)備,主要用作虛擬機文件的存儲庫。其上的虛擬機是由大量不同的存儲對象組成的,如VMDK、虛擬機交換文件、增量盤(快照)和虛擬機名字空間。這幾種對象按照相應(yīng)的VMFS對象采用VSAN的分布式RAID策略,可以采用鏡像、條帶化及上述組合方式存儲到后臺不同主機的不同磁盤里,以保證虛擬機文件存儲的高可用性和性能。VSAN分布式RAID提供了將虛擬磁盤散布到不同主機、磁盤組上。本次項目Virtual SAN設(shè)置了以5臺宿主機為一個集群組,配置主機之間使用RAID-1(非傳統(tǒng)RAID),基于虛擬機三副本策略,具備最多可以容忍2臺虛擬機存儲文件出現(xiàn)故障而不會丟失任何數(shù)據(jù)。
虛擬化平臺通過將多臺主機組建成一個故障轉(zhuǎn)移集群,啟用vSphere HA服務(wù),在集群虛擬機失效時自動重啟備用虛擬機文件,保障運行在集群上的服務(wù)(或VM)不會因為單臺主機的故障而停止。
在 vSphere HA 群集時,會自動選擇一臺宿主機作為首選主機。首選主機可與 vCenter Server 進行通信,并監(jiān)控所有受保護的虛擬機以及從屬主機的狀態(tài)。宿主機持續(xù)監(jiān)控其上的虛擬機運行狀態(tài)(通過虛擬機中Vmware Tools實現(xiàn)主機向虛擬機發(fā)送檢測信號),并在檢測到故障時,通過在群集內(nèi)的其他主機上重新啟動虛擬機的副本,防止服務(wù)器故障引起虛擬機無法繼續(xù)運行,若故障虛擬機是首選主機,則宿主機服務(wù)器集群重新選舉首選主機,以保持vSphere HA的虛擬機健康狀態(tài)檢測機制的完整性。由于虛擬機可充當(dāng)應(yīng)用程序的移動容器,出現(xiàn)故障時,應(yīng)用程序?qū)崿F(xiàn)了在宿主機之間遷移。
圖5 VSAN虛擬化RAID三副本
圖6 vMotion動態(tài)遷移
整個虛擬化平臺啟用vMotion和動態(tài)資源分配技術(shù),vMotion技術(shù)可以在業(yè)務(wù)服務(wù)不中斷情況下,從一臺ESXI主機向另一臺ESXI主機執(zhí)行實時遷移。
vMotion的遷移需要集群內(nèi)的宿主機可以訪問到集中存儲,虛擬機的存儲文件部署在共享VSAN存儲上,一臺虛擬機的計算資源可以位于某一臺ESXI主機上,而其虛擬機存儲文件可能在組成VSAN存儲的另外一臺ESXI主機上,基于VSAN存儲系統(tǒng)和VMFS集群對象文件系統(tǒng)保證了虛擬機文件存儲遷移的位置無關(guān)性。
vMotion的計算資源遷移包括CPU和內(nèi)存資源的遷移,當(dāng)發(fā)生遷移時,遷移源宿主機將虛擬機的內(nèi)存數(shù)據(jù)復(fù)制到內(nèi)存位圖文件,通過VMkernal接口及10G VSAN專用交換網(wǎng)絡(luò)進行傳輸。傳輸完成后,在目標(biāo)宿主機上啟動虛擬機應(yīng)用內(nèi)存位圖文件到目標(biāo)宿主機內(nèi)存,完成虛擬機計算資源的遷移。
由于vMotion具備虛擬機不中斷業(yè)務(wù)情況下在宿主服務(wù)器上進行遷移的能力,結(jié)合動態(tài)資源調(diào)度DRS服務(wù),實現(xiàn)集群服務(wù)器組中虛擬機計算資源自動負(fù)載均衡;也可用于簡化宿主機硬件維護流程,通過將待維護的宿主機上活動虛擬機進行熱遷移到其它宿主機上,從而實現(xiàn)不停機、不中斷業(yè)務(wù)運營的情況下執(zhí)行硬件下線和其它檢修維護。
由于vSphere HA只能對宿主機、虛擬機級組件的狀態(tài)和故障進行監(jiān)測和故障切換,對于虛擬機內(nèi)的業(yè)務(wù)應(yīng)用級故障無法做到實時監(jiān)測和故障切換。整個VMware vSphere 的高可用策略在故障發(fā)生時,通過重啟備份虛擬機文件來恢復(fù)故障,故存在一定停機故障恢復(fù)時間。為此我們在VMware的高可用方案基礎(chǔ)上繼續(xù)保留業(yè)務(wù)系統(tǒng)自身的雙機HA方案,通過設(shè)置同一業(yè)務(wù)的主備雙虛擬機不在同一宿主機上的資源分配策略,和連續(xù)堆疊管理交換機的網(wǎng)絡(luò)連接實現(xiàn)業(yè)務(wù)應(yīng)用狀態(tài)心跳的同步,保障出現(xiàn)業(yè)務(wù)應(yīng)用級故障時,業(yè)務(wù)應(yīng)用在不同物理宿主機上的虛擬機間切換。Vsphere中配置同一應(yīng)用的主備雙虛擬機不在同一宿主機策略見圖7。
圖7 Vsphere中配置同一應(yīng)用的主備雙虛擬機不在同一宿主機策略
作為整個虛擬化平臺的系統(tǒng)管理中心,vCenter對整個虛擬化平臺的主機、網(wǎng)絡(luò)、存儲的實體和虛擬化資源進行多種維度分層視圖展示,清楚地表明了主機、虛擬網(wǎng)絡(luò)、虛擬存儲資源的關(guān)系。集中管理EXSI宿主機、虛擬機及虛擬化存儲資源的運行狀態(tài),匯聚各虛擬機、宿主機的運行數(shù)據(jù),提供管理客戶端進行數(shù)據(jù)展示、統(tǒng)計分析等。通過對上述運行數(shù)據(jù)的分析判斷,vCenter Server為虛擬化平臺IT環(huán)境各存儲、高可用、安全防護組件提供操作自動化、資源優(yōu)化、資源占用趨勢預(yù)測的數(shù)據(jù)支撐。配置安全的訪問控制機制、強大的權(quán)限管理機制以及與Microsoft Active Directory 的集成,可以嚴(yán)格地限制對虛擬機的訪問,可確保任何未經(jīng)授權(quán)的用戶都無法訪問管理服務(wù)器及其虛擬機。