虛擬服務(wù)器也需要虛擬化平臺(tái),這就增加了服務(wù)器虛擬化軟件成本。有太多產(chǎn)品可供選擇,包括CitrixXenServer5.5、VMwarevSphere4與MicrosoftWindowsServer2008R2withHyper-V。除了服務(wù)器虛擬化軟件成本,還有幫助管理架構(gòu)的相關(guān)工具的成本。有廠商集中產(chǎn)品,如CitrixWorkflowStudio與VMwarevCenterServer,以及第三方管理產(chǎn)品,如AppSenseManagementCenter和來(lái)自廠商Kaseya的產(chǎn)品。
還可能需要其他軟件獲取諸如高可用性、集群、故障恢復(fù)、虛擬服務(wù)器遷移或備份。這些需求根據(jù)組織所需而變化。不管所選的實(shí)際產(chǎn)品是什么,服務(wù)器虛擬化軟件成本應(yīng)該包括初始購(gòu)買(mǎi)與許可價(jià)格,以及每年維護(hù)費(fèi)用。謹(jǐn)慎的管理對(duì)于防止虛擬機(jī)許可成本螺旋上升很重要。
“如果管理得不好,虛擬機(jī)許可可能增加,”Zuk說(shuō),“另一方面,管理員成本應(yīng)該降低。”
JonWilliamToigo:首先就是謹(jǐn)慎。托管服務(wù)商通常把它們的服務(wù)器虛擬化工作描述的十分完美,一旦你開(kāi)始追求這些目標(biāo),你可能都意識(shí)不到這會(huì)對(duì)你的存儲(chǔ)基礎(chǔ)設(shè)施有什么影響。
人們通常會(huì)認(rèn)為,“要虛擬化所有的服務(wù)器,我只要找到合適的服務(wù)器設(shè)備,然后安裝上正確的主機(jī)總線適配器(HBA)和網(wǎng)絡(luò)接口卡(NIC),按照正確的操作過(guò)程和正確的內(nèi)存數(shù)量,然后我們就可以把它交給現(xiàn)有的基礎(chǔ)架構(gòu),它會(huì)自行和后端存儲(chǔ)配合。”
很遺憾,并不是你想的那樣,因?yàn)楫?dāng)虛擬化服務(wù)器時(shí),你從之前建立的工作負(fù)載上改變了存儲(chǔ)架構(gòu)在整個(gè)IT網(wǎng)絡(luò)中的輸入/輸出(I/O)模式。
服務(wù)器虛擬化本質(zhì)上就像積木。你想把所有的應(yīng)用程序都堆積到一起,而又不希望因?yàn)槌檎{(diào)其中一個(gè)就使它倒塌。所以在這個(gè)過(guò)程中你需要將多個(gè)服務(wù)器整合到越來(lái)越小的平臺(tái)上。
為了適應(yīng)工作負(fù)載的需求,你需要給服務(wù)器套件添加額外的HBA和NIC以獲取足夠的帶寬。
通過(guò)服務(wù)器虛擬化軟件的使用,將繁多的工作量整合到很少的物理服務(wù)器上可能改變數(shù)據(jù)中心網(wǎng)絡(luò)的動(dòng)態(tài)流量流。在沒(méi)有服務(wù)器虛擬化的情況下,數(shù)據(jù)中心網(wǎng)絡(luò)管理員會(huì)在物理服務(wù)器上使用較低廉的、固定配置的交換機(jī)。這些“機(jī)架交換機(jī)”為核心網(wǎng)絡(luò)提供幾個(gè)上行鏈路。
由于大多數(shù)連接到機(jī)架交換機(jī)的服務(wù)器都在很大程度上沒(méi)有充分使用網(wǎng)絡(luò)鏈路,因此這些安排能夠?qū)⑺械牧髁恐痪奂胶诵木W(wǎng)絡(luò)的幾個(gè)上行鏈路上,同時(shí)保持超額使用率限制在通常可以接受的范圍內(nèi)。流量聚合也可以在機(jī)架交換機(jī)本身發(fā)生。
然而,通過(guò)服務(wù)器虛擬化,流量聚合可以發(fā)生在物理服務(wù)器層面上。目前,多種工作量在相同的物理服務(wù)器上運(yùn)行,并共享同一條網(wǎng)絡(luò)連接。
通過(guò)使用服務(wù)器虛擬化實(shí)現(xiàn)工作量聚合,現(xiàn)在物理服務(wù)器的網(wǎng)絡(luò)連接使用率得到大大地提高。使用機(jī)架交換機(jī)連接到核心網(wǎng)絡(luò)來(lái)聚合已經(jīng)聚合過(guò)的流量可能導(dǎo)致網(wǎng)絡(luò)性能和吞吐量的瓶頸和干擾。
對(duì)于這個(gè)潛在問(wèn)題的最簡(jiǎn)單的解決方法是增加機(jī)架到核心網(wǎng)絡(luò)的上行鏈路數(shù)量。這個(gè)方法的確有助于處理“雙重聚合”問(wèn)題,但是它也同時(shí)增加了數(shù)據(jù)中心所要求的核心交換機(jī)端口的數(shù)目。數(shù)據(jù)中心網(wǎng)絡(luò)管理員必須認(rèn)真研究,以免超出核心交換機(jī)網(wǎng)絡(luò)端口容量。
不要依賴(lài)本地
其他方面的壓力也正在促使數(shù)據(jù)中心網(wǎng)絡(luò)管理員向核心網(wǎng)絡(luò)中添加上行鏈路。因此,管理員和網(wǎng)絡(luò)設(shè)計(jì)師想利用本地資源。通信或連接頻繁的服務(wù)器通常連接到相同的交換機(jī)上,這樣可以避免流量通過(guò)核心網(wǎng)絡(luò)、最小化冗余和最大化吞吐量。一個(gè)固定類(lèi)型的非虛擬化數(shù)據(jù)中心就可能實(shí)現(xiàn)這一點(diǎn)。
然而,通過(guò)服務(wù)器虛擬化,工作量的位置會(huì)根據(jù)服務(wù)器的使用而動(dòng)態(tài)改變。諸如熱遷移的技術(shù)允許服務(wù)器管理員在不同的物理服務(wù)器上簡(jiǎn)單、快速地遷移工作量。有些虛擬化解決方案甚至能夠自動(dòng)化該過(guò)程;VMware的DistributedResourceScheduling(DRS)就是一個(gè)這樣的例子。
另外一方面,服務(wù)器虛擬化主機(jī)通常每臺(tái)主機(jī)都使用6、8、10或者更多網(wǎng)絡(luò)連接。雖然工作量整合將刪除某些物理服務(wù)器,但是數(shù)據(jù)中心網(wǎng)絡(luò)管理員可能發(fā)現(xiàn)在固定配置的交換機(jī)上的現(xiàn)存的容量不夠處理一個(gè)相當(dāng)大的服務(wù)器虛擬化解決方案。
由于各種不同的原因,服務(wù)器虛擬化上空閑的網(wǎng)絡(luò)端口可能不適合重用于服務(wù)器虛擬化方案。正如上面所探討的,添加上行鏈路的壓力只是加劇了潛在容量問(wèn)題。
這些容量關(guān)注并不僅是關(guān)于端口數(shù)而已。正如前面所探討的,有些服務(wù)器虛擬化解決方案能夠利用802.3ad/LACP連接聚合。然而,服務(wù)器虛擬化解決方案也需要冗余;一個(gè)獨(dú)立網(wǎng)絡(luò)端口的丟失現(xiàn)在可以影響通過(guò)多個(gè)部門(mén)或業(yè)務(wù)單位的大量工作量。連接丟失對(duì)服務(wù)器虛擬化主機(jī)上的影響可以遠(yuǎn)遠(yuǎn)超過(guò)對(duì)非虛擬化服務(wù)器網(wǎng)絡(luò)連接丟失的影響程度。
虛擬化的定義有很多,可歸納總結(jié)為邏輯技術(shù),以集成抽象方式訪問(wèn)(調(diào)用計(jì)算機(jī)資源,基于物理機(jī)制,但不受物理限制。虛擬化對(duì)任何硬件資源都可虛擬,例如,中央處理器(CPU)、內(nèi)存、硬盤(pán)和輸入,輸出(I/O)接口;也可以對(duì)軟件環(huán)境進(jìn)行虛擬,例如,操作系統(tǒng)(文件系統(tǒng)和應(yīng)用程序等。虛擬技術(shù)的這種內(nèi)涵決定了它在云計(jì)算中的核心支撐地位,對(duì)于云,首先是虛擬資源池,無(wú)池就無(wú)集成。
服務(wù)器虛擬化是對(duì)硬件的抽象和對(duì)虛擬的管理
服務(wù)器虛擬:一是對(duì)3種基礎(chǔ)硬件資源CPU、內(nèi)存、設(shè)備與I/0進(jìn)行虛擬化;二是依靠虛擬機(jī)實(shí)時(shí)遷移這種輔助技術(shù),對(duì)資源虛擬城池進(jìn)行統(tǒng)一調(diào)度和使用。
內(nèi)存虛擬化技術(shù)就是把物理機(jī)的內(nèi)存進(jìn)行統(tǒng)一管理,虛擬封裝成虛擬機(jī)所使用的虛擬內(nèi)存,以提供給每個(gè)虛擬機(jī)進(jìn)行使用,將虛擬內(nèi)存空間獨(dú)立提供給虛擬機(jī)中的進(jìn)程。內(nèi)存技術(shù)與CPU技術(shù)重要性同等重要,訪問(wèn)次數(shù)同等頻繁。
虛擬內(nèi)存實(shí)現(xiàn)就在于對(duì)物理內(nèi)存進(jìn)行管理,按虛擬層對(duì)內(nèi)存的需求劃分物理內(nèi)存,建立虛擬層所需內(nèi)存地址與物理機(jī)內(nèi)存地址的映射關(guān)系,保證虛擬層的內(nèi)存訪問(wèn)在虛擬內(nèi)存和物理機(jī)內(nèi)存的連續(xù)和一致。映射關(guān)系的技術(shù)實(shí)現(xiàn)是內(nèi)存虛擬化的核心。
早期內(nèi)存管理技術(shù),是通過(guò)基于硬件的內(nèi)存擴(kuò)展和優(yōu)化程序的軟件方法實(shí)現(xiàn)的,成本高昂。虛擬內(nèi)存技術(shù)因此誕生,通過(guò)CPU的內(nèi)存管理單元和頁(yè)表轉(zhuǎn)換技術(shù),提升了內(nèi)存性能,維護(hù)了基于應(yīng)用程序所能看到的虛擬內(nèi)存和物理內(nèi)存的映射關(guān)系。
虛擬內(nèi)存管理引入了虛擬物理內(nèi)存和機(jī)器內(nèi)存的概念,以此建立虛擬內(nèi)存地址與物理機(jī)內(nèi)存地址的映射關(guān)系。
虛擬層中的進(jìn)程使用的邏輯內(nèi)存與虛擬物理內(nèi)存建立一級(jí)映射地址關(guān)系,虛擬物理內(nèi)存與物理機(jī)的機(jī)器內(nèi)存建立二級(jí)映射地址關(guān)系。
實(shí)時(shí)遷移技術(shù)類(lèi)似基站軟切換的機(jī)理,對(duì)應(yīng)客戶(hù)操作系統(tǒng)同時(shí)建立2條鏈路連接,在虛擬機(jī)運(yùn)行過(guò)程中,將完整運(yùn)行環(huán)境的狀態(tài)由原宿機(jī)快速遷移至新宿機(jī),遷移過(guò)程平緩,用戶(hù)在極短時(shí)間內(nèi)不能察覺(jué)。在虛擬環(huán)境中,由于對(duì)物理機(jī)進(jìn)行了虛擬,所以能跨異構(gòu)的硬件平臺(tái)。
實(shí)時(shí)遷移技術(shù),就是數(shù)據(jù)拷貝、傳送和切換。遷移的虛擬機(jī)通過(guò)協(xié)議相互聯(lián)系,首先啟動(dòng)原宿機(jī)操作系統(tǒng)相關(guān)信息和狀態(tài)的拷貝,然后開(kāi)始遷移,通過(guò)內(nèi)存頁(yè)面將拷貝移至新的宿機(jī),最后內(nèi)存?zhèn)魉涂截愅瓿桑滤迿C(jī)啟動(dòng)接管原宿機(jī)操作系統(tǒng),整個(gè)遷移過(guò)程完成。
在服務(wù)器虛擬化的應(yīng)用中,我們還更關(guān)心虛擬服務(wù)器的性能。用戶(hù)的使用特征會(huì)導(dǎo)致虛擬化服務(wù)器性能呈現(xiàn)不同的狀態(tài)。不同部件的資源使用密集,例如CPU密集、內(nèi)存密集和I/O密集,都會(huì)對(duì)虛擬服務(wù)器整體性能有所影響,密集資源使用會(huì)導(dǎo)致虛擬平臺(tái)軟件運(yùn)行機(jī)制開(kāi)銷(xiāo)的龐大運(yùn)行。
專(zhuān)業(yè)技術(shù)人員總是需要檢測(cè)編碼跟當(dāng)前的編寫(xiě)方法是否兼容。然而組合編碼已經(jīng)跟之前的大不相同,所以用傳統(tǒng)的測(cè)試方法根本就無(wú)法在恰當(dāng)?shù)臅r(shí)間以恰當(dāng)?shù)膬r(jià)格完成測(cè)試任務(wù)。生產(chǎn)服務(wù)作為一種獨(dú)立的模組與軟件應(yīng)用程序合并正成為一個(gè)快速發(fā)展的商業(yè)市場(chǎng)。第三方服務(wù)例如PayPal或者信用調(diào)查服務(wù)越來(lái)越多地被用于使用應(yīng)用程序的客戶(hù)身上。
服務(wù)虛擬化對(duì)軟件開(kāi)發(fā)者最大的影響之一就是能夠讓?xiě)?yīng)用程序研發(fā)過(guò)程中的有效兼容更加容易。軟件開(kāi)發(fā)人員能夠跳過(guò)組件檢測(cè),并且能夠解決一些阻礙研發(fā)過(guò)程的問(wèn)題,以確保研發(fā)及時(shí)、高效并節(jié)省成本。
提到虛擬化,很多用戶(hù)都會(huì)想到VMware。然而,VMware已不再是X86虛擬化市場(chǎng)頂部唯一的供應(yīng)商了。由一家廠商統(tǒng)治虛擬化市場(chǎng)的時(shí)代已經(jīng)終結(jié),SPECvirt的數(shù)據(jù)顯示,性能和擴(kuò)展性的優(yōu)勢(shì)已經(jīng)不再是由一家企業(yè)獨(dú)霸天下了。多數(shù)企業(yè)用戶(hù)會(huì)持續(xù)使用的基本功能,目前市場(chǎng)上的大部分產(chǎn)品都能夠?qū)崿F(xiàn)。ArsTechnica網(wǎng)站上刊出的一篇文章評(píng)論到,當(dāng)前的虛擬化市場(chǎng)當(dāng)中,VMware是老大,微軟Hyper-V老二,思杰Xen第三,紅帽和甲骨文在爭(zhēng)奪第四把交椅。