http://bbs.doit.com.cn/thread-50438-1-1.html
虛擬雞和虛擬鴨
好久不寫(xiě)正經(jīng)的技術(shù)介紹了,以至于最近朋友見(jiàn)了都問(wèn)“換行之后感覺(jué)如何?”
“我K~誰(shuí)…誰(shuí)…誰(shuí)…誰(shuí)說(shuō)我換行啦?我還在做皮匠這份很有前途的職業(yè)哩!”
好吧,為了不讓人誤會(huì),我還是介紹點(diǎn)咚咚吧。可介紹點(diǎn)啥哩?
有了!讓我來(lái)隆重介紹兩個(gè)概念:SAN和NAS……別吐,別吐,我不說(shuō)了還不行嗎!救護(hù)車(chē)~~~
唉,也是,存儲(chǔ)技術(shù)里也沒(méi)啥有意思的新咚咚了。FCoE?這東西只能讓我聯(lián)想起周星星同學(xué)發(fā)明的“太陽(yáng)能手電筒”——只有在有光的地方才能亮,在沒(méi)有光的地方,堅(jiān)決不亮。
想來(lái)想去,EMC收購(gòu)VMware之后,好多存儲(chǔ)人開(kāi)始注意虛擬主機(jī)技術(shù),咱們就說(shuō)說(shuō)這虛擬技術(shù)吧。不過(guò)事先聲明,這方面我也不懂,我姑且一說(shuō),您姑且一聽(tīng),如假不換,管殺不管埋……前排的同學(xué)注意了,不要再亂扔西紅柿了,不然我要講回SAN和NAS嘍!
說(shuō)起虛擬技術(shù)呢,首先當(dāng)然要提這一領(lǐng)域的四大天王,他們是:VMware、XEN、MS Virtual Server、Virtuozzo和OpenVZ。
(哄噢~有人不識(shí)數(shù)喔~)
聽(tīng)我慢慢說(shuō)啦!OpenVZ是用Virtuozzo全套源碼的一個(gè)開(kāi)源項(xiàng)目,所以技術(shù)上說(shuō),Virtuozzo和OpenVZ是一家,就像CentOS和Red Hat的關(guān)系一樣。當(dāng)然CentOS和Red Hat實(shí)在太相像了,而Virtuozzo和OpenVZ還是稍微有點(diǎn)區(qū)別的。比如Virtuozzo能支持Windows,而OpenVZ就不行;Virtuozzo有很多圖形節(jié)目的管理工具,OpenVZ目前還只能用命令行。
敘述的有點(diǎn)亂,還是逐個(gè)介紹一下四大天王先。
首屈一指的當(dāng)屬VMware公司。這個(gè)公司在虛擬主機(jī)方面的產(chǎn)品賊豐富,技術(shù)也賊成熟,順其自然的,其看家護(hù)院的產(chǎn)品——ESX Server——賣(mài)的也就賊貴賊貴的。
這個(gè)ESX Server是直接安裝在裸機(jī)上的,不需要安裝任何操作系統(tǒng),或者說(shuō),ESX自己就是個(gè)特殊的操作系統(tǒng)。因?yàn)?/font>ESX的安裝界面很像RedHat,里面的指令和服務(wù)也很像,所以有些人誤以為ESX = RedHat + VMware Server,其實(shí)不是醬子滴。
ESX里的大部分底層驅(qū)動(dòng)都由VMware重新寫(xiě)過(guò),而且還內(nèi)帶好多咚咚,比如SAN文件共享和多路徑冗余。VMware為了表示自己的確干了好多活,就把這個(gè)kernel命名為VMkernel。
而整個(gè)ESX基本可以看作VMkernel + Console。這個(gè)Console基本就是RedHat AS3的改版,可以看做是個(gè)特殊的虛擬機(jī)。
本人覺(jué)得VMware最酷的技術(shù)是VMotion,就是能讓虛擬機(jī)活著搬家。我曾伙同另外一個(gè)家伙測(cè)過(guò)VMotion的效率,在虛擬機(jī)從一臺(tái)服務(wù)器搬家到另外一臺(tái)服務(wù)器的過(guò)程中,持續(xù)ping這臺(tái)虛擬機(jī)的IP地址,結(jié)果發(fā)現(xiàn)整個(gè)過(guò)程中只有一個(gè)ping響應(yīng)略有延遲。厲害!
當(dāng)然嘍,要實(shí)現(xiàn)VMotion,就肯定需要后端有一個(gè)共享SAN文件系統(tǒng)。ESX里面帶的SAN文件系統(tǒng)叫VMFS,實(shí)現(xiàn)的功能跟SANergyFS和ADIC StorNext FS差不多,不過(guò)VMFS是對(duì)稱(chēng)式的。也就是說(shuō),安裝ESX的時(shí)候,不需要給VMFS指定MDC。
ESX里集成的多鏈路功能也不錯(cuò),主流光纖卡都能支持(要求太低了點(diǎn)兒吧~)
還有,多鏈路聚合和切換是在驅(qū)動(dòng)層完成的,不是靠device-mapper或MD。也就是說(shuō),在雙卡的機(jī)器上安裝ESX之后,在/proc/scsi/scsi里看到的,就已經(jīng)是合并之后的設(shè)備,不需要像powerpath那樣再搞東搞西的。
另外ESX還支持iSCSI和NFS,用來(lái)連接IP-SAN和NAS(咦?這回居然沒(méi)人嘔吐,那我再大聲說(shuō)一遍,“IP-SAN和NAS~”OK,我爽了,你慢慢吐先。)
其實(shí)ESX里面是有Samba Client的,而且我試了試,訪問(wèn)一般的Windows共享沒(méi)啥問(wèn)題。但是VMware的官方文檔里,目前還沒(méi)有對(duì)CIFS的支持,也許是人家對(duì)自己嚴(yán)格要求吧。
VMware產(chǎn)品系列中,除了ESX以外,還有兩個(gè)虛擬引擎——VMware Server(也就是原來(lái)的GSX),VMware Workstation以及最近即將發(fā)布的VMware Fusion。
Sorry,這回真的數(shù)錯(cuò)了,是三個(gè),三個(gè)產(chǎn)品。Server、Workstation和Fusion。
與ESX相比,這三個(gè)產(chǎn)品運(yùn)行的層次要高一些,都是要安裝在操作系統(tǒng)上的。Server和Workstation運(yùn)行在Windows和Linux上,Fusion運(yùn)行在蘋(píng)果的Mac OS上。
為了配合這些個(gè)虛擬引擎,當(dāng)然主要是為了配合ESX,VMware還有一些管理軟件和工具。比如Virtual Center、Importer、Convertor、P2V、Player等等。
這些工具中很多是免費(fèi)的,也有些如Virtual Center這樣的工具,是跟ESX打包在一起賣(mài)的。ESX + VC的組合叫Virtual Infrastructure,簡(jiǎn)稱(chēng)VI。
順便提一下,虛擬技術(shù)世界里,簡(jiǎn)稱(chēng)VI的咚咚好多,一不留神就容易搞混。比如有家公司叫Virtual Iron,而且其產(chǎn)品也叫Virtual Infrastructure,另外在InfiniBand交換技術(shù)里還有個(gè)協(xié)議層叫Virtual Interface。下次有人跟你說(shuō)VI的時(shí)候,最好問(wèn)清楚是哪個(gè)VI,免得最后驢被馬性騷擾。
類(lèi)似的重名現(xiàn)象還有VDI這個(gè)縮寫(xiě)。VMware有一個(gè)包叫Virtual Desktop Infrastructure,Virtual Iron公司也有個(gè)名字完全相同的產(chǎn)品包。當(dāng)然里面的咚咚是完全不同的啦。
造成這嚴(yán)重的重名現(xiàn)象至少有兩種可能:
一是這些公司在起名字的時(shí)候太缺乏創(chuàng)意,哪像咱存儲(chǔ)界的廠商,明明東西一樣,名字也起得五花八門(mén)。
二是人家故意把名字弄得一樣,以表示說(shuō)“對(duì)啦,我就是跟你競(jìng)爭(zhēng)的!”
事實(shí)上Virtual Iron也確實(shí)是VMware的一個(gè)有力競(jìng)爭(zhēng)者。咱們要說(shuō)的第二個(gè)天王,XEN,確切的說(shuō)不是一個(gè)人在戰(zhàn)斗,而是一個(gè)龐大的陣營(yíng)。其中就包括Virtual Iron公司。
XEN本是一個(gè)劍橋搞的開(kāi)源項(xiàng)目,最近幾年發(fā)展得超級(jí)迅速,目前幾乎所有的Linux版本都搭配了這個(gè)咚咚,就連一些Unix也開(kāi)始考慮勾搭之。XEN的技術(shù)特點(diǎn)是Para-virtual,即“并行虛擬”也叫“半虛擬”技術(shù),就是說(shuō)XEN能讓虛擬機(jī)中的某些程序直接訪問(wèn)硬件。
打個(gè)比方說(shuō),VMware ESX像是穿在服務(wù)器硬件上的一層衣服,這層衣服把硬件包裹得很?chē)?yán)實(shí)。ESX中的虛擬機(jī)所看到的硬件資源,100%都是由ESX虛擬出來(lái)的。虛擬機(jī)中的操作系統(tǒng),是不能直“接觸”摸到真正的硬件資源的。
而XEN呢,則像是穿在服務(wù)器硬件上的性感的比基尼泳裝,虛擬機(jī)不僅可以看到,而且可以直接摸到……
同學(xué)~你口水流出來(lái)啦!趕快擦擦。
記得早些年間要在XEN上裝Linux的時(shí)候,還需要手工改內(nèi)核。現(xiàn)在Intel和AMD在CPU里提供的新的虛擬技術(shù)之后,XEN不僅可以不改內(nèi)核直接安裝Linux,還可以支持Windows虛擬機(jī)。技術(shù)的進(jìn)步真是快啊!
啥?你問(wèn)Intel和AMD是啥技術(shù)?別急,我后面會(huì)說(shuō)到。本來(lái)我腦子就亂,你這一打岔,我就更亂了。
咳~咳~剛才說(shuō)到哪了?
噢,對(duì)了,是說(shuō)XEN陣營(yíng)。
這里面的兩大主力是Virtual Iron和XenSource公司。這個(gè)Virutal Iron公司原本是有自己一整套從軟到硬的虛擬產(chǎn)品,不過(guò)近來(lái)發(fā)現(xiàn)XEN年輕貌美,便放棄了自己半老的舊引擎,全套采用XEN為其核心。早年記得Virtual Iron還有些基于InfiniBand交換的硬件虛擬技術(shù),現(xiàn)在在他的網(wǎng)站上也看不到了。看來(lái)告別過(guò)去的決心有夠堅(jiān)決。
XenSource公司沒(méi)有什么舊關(guān)系的瓜葛,就是靠的XEN的發(fā)展而發(fā)展起來(lái)的。現(xiàn)在業(yè)界使用最廣泛的XEN商用版本就來(lái)自這個(gè)公司。XenSource發(fā)布的商用版本一共有三個(gè)……等會(huì)兒,讓我再數(shù)一遍。OK,沒(méi)問(wèn)題,的確是三個(gè):XenEnterprise、XenServer、XenExpress。
雖然在XEN的陣營(yíng)中,XenSource提供了類(lèi)似VMware的P2V和Importer工具,Virtual Iron提供了集中管理工具,但是總體來(lái)說(shuō),XEN的管理軟件和工具還是遠(yuǎn)不如VMware完整和成熟。好在XEN陣營(yíng)還在日益擴(kuò)大,除了各大Linux廠商、Sun和IBM,聽(tīng)說(shuō)最近微軟也來(lái)湊熱鬧,跟XenSource談起了合作。如此看來(lái),XEN真是前途不可限量啊!
說(shuō)到微軟,也就是咱們要認(rèn)識(shí)的第三位天王,總是讓人想起IE、Media Player等“經(jīng)典”之作,雖然他不是第一個(gè)做出來(lái),而且技術(shù)也不見(jiàn)得更好,但是一旦開(kāi)始免費(fèi)的捆綁在Windows里面,對(duì)手的日子就難過(guò)了。如今微軟在虛擬技術(shù)上的手段,也是如此。
到目前為止,微軟一共推出了四個(gè)咚咚,安啦~不會(huì)再數(shù)錯(cuò)啦,Virtual PC 2004、Virtual PC2007、Virtual Server 2005、Virtual Server 2005 R2。這些咚咚的工作層次跟VMware Server和Workstation的層次相同,都是需要安裝到操作系統(tǒng)上。當(dāng)然了,用胳膊肘都能猜出來(lái),微軟的咚咚只能安裝在Windows上嘍。不過(guò)微軟對(duì)虛機(jī)系統(tǒng)的支持倒是顯得比較現(xiàn)實(shí),聲稱(chēng)在未來(lái)會(huì)支持Linux虛擬機(jī)。
讓對(duì)手最害怕的是,微軟號(hào)稱(chēng)在Windows 2008里面要開(kāi)始捆綁他的虛擬產(chǎn)品。這可嚇壞了VMware,盡管MS VSR現(xiàn)在做得很土,基本不具備任何實(shí)用性可言,VMware還是忙不迭的把自己的VMware Server變成免費(fèi)產(chǎn)品,以免被微軟打個(gè)措手不及。
由此也可以看出微軟這三號(hào)天王也非浪得虛名,雖然東西做得不咋地,但至少可以隔山打牛。最終受益的還是咱們用戶,可以免費(fèi)使用功能性能都不錯(cuò)的VMware Server。
啥?你說(shuō)你原本也可以免費(fèi)使用?拜托~用盜版就不要這么大聲嘛!
這四號(hào)天王,就是前面被打岔時(shí)說(shuō)過(guò)的Virtuozzo和OpenVZ。這兩串勾勾文都是產(chǎn)品的名字,背后的公司名字叫SWsoft。如前面已經(jīng)說(shuō)過(guò)的那樣,Virtuozzo OS Virtualization和Virtuozzo Server Virtualization是SWsoft公司的商業(yè)版產(chǎn)品,OpenVZ是采用SWsoft源碼的開(kāi)源項(xiàng)目。
與前三個(gè)天王的產(chǎn)品相比,SWsoft的產(chǎn)品運(yùn)行在更高的層次上。用業(yè)內(nèi)行話說(shuō),Virtuozzo和OpenVZ屬于Application Container——應(yīng)用程序的容器。好像有點(diǎn)難懂,咱們用點(diǎn)通俗的話說(shuō),不過(guò)你放心,這里沒(méi)有比基尼什么事。
VMware、XEN、MS VSR這些咚咚所虛擬出來(lái)的,都是一個(gè)個(gè)“硬”的主機(jī),你得在這些虛機(jī)上再裝操作系統(tǒng)。而Virtuozzo和OpenVZ所虛出來(lái)的,是一個(gè)個(gè)已經(jīng)裝好系統(tǒng)的主機(jī)。
也就是說(shuō),VMware、XEN、MS VSR所虛擬的是硬件資源,而Virtuozzo和OpenVZ所虛擬的是操作系統(tǒng)環(huán)境。
所以Virtuozzo和OpenVZ里面沒(méi)有VM(Virtual Machine)這個(gè)概念,取而代之的是VE(Virtual Environment)或稱(chēng)VPS(Virtual Private Server)。而進(jìn)到VE/VPS里面,看到的就是一個(gè)現(xiàn)成的操作系統(tǒng)環(huán)境。
等著聽(tīng)比基尼故事的人失望了~
具體來(lái)說(shuō)。比方說(shuō)Windows下安裝某個(gè)程序,要改注冊(cè)表是吧?還有創(chuàng)建目錄和文件是吧?Virtuozzo能把這些動(dòng)作統(tǒng)統(tǒng)截獲,并且偷偷在其它地方執(zhí)行,而不真正修改原來(lái)的系統(tǒng)環(huán)境。這樣程序自以為萬(wàn)事OK,很Happy的運(yùn)行,殊不知卻是被Virtuozzo給騙了。
Virtuozzo這個(gè)有所不同的機(jī)制,對(duì)資源管理更為靈活,某個(gè)虛擬環(huán)境只有活動(dòng)的時(shí)候,才會(huì)被分配資源。因此在相同的硬件資源下,Virtuozzo可以配置出更多的虛擬環(huán)境。一般VMware和XEN只能在一臺(tái)服務(wù)器上跑幾十個(gè)虛擬機(jī),而Virtuozzo號(hào)稱(chēng)可以一臺(tái)機(jī)器支持5000個(gè)虛擬環(huán)境!
當(dāng)然Virtuozzo也有很明顯的不方便之處,就是Linux上只能虛擬Linux,Windows上只能虛擬Windows。而且像VMware或Xen那樣在服務(wù)器之間挪動(dòng)虛擬機(jī),也是異常困難的。
盼望比基尼出現(xiàn)的人這下徹底失望了~
-