我的一個(gè)好朋友、也是一位值得尊敬的同事Marc Staimer,最近在SearchVirtualStorage上發(fā)布了一個(gè)podcast引起了我的注意。吸引我的眼球的不是他說(shuō)了些什么(一如既往地是大師的卓見(jiàn)),而是podcast的標(biāo)題邊上的介紹“換掉VMware hypervisor 意味著失掉數(shù)據(jù)存儲(chǔ)的附加功能。”不管這是不是作者的意愿,這個(gè)標(biāo)題中還是引發(fā)了很多我想在這里說(shuō)說(shuō)的事。
虛擬化的理想與現(xiàn)實(shí)
從一開(kāi)始,這個(gè)標(biāo)題就暗示了人們可能想要換一個(gè)hypervisor供應(yīng)商,遠(yuǎn)離VMware。去年年底,備份軟件供應(yīng)商Veeam軟件做了一個(gè)覆蓋578個(gè)美國(guó)和歐洲企業(yè)的調(diào)查,發(fā)現(xiàn)大約67%的美國(guó)企業(yè)和79%的法國(guó)德國(guó)英國(guó)企業(yè)都使用VMware。這個(gè)數(shù)據(jù)看起來(lái)說(shuō)明在超過(guò)1000員工的企業(yè)中,VMware是老大。
有趣的是,同一個(gè)表明對(duì)VMware服務(wù)器聚合成功的感覺(jué)超過(guò)實(shí)際情況。企業(yè)認(rèn)為他們大約在每個(gè)物理服務(wù)器上部署了10個(gè)虛擬服務(wù)器,而實(shí)際情況是差不多在這個(gè)數(shù)字的一半水平。
這個(gè)調(diào)查最值得注意的一點(diǎn),59%的受訪(fǎng)者表示他們打算在今年更換hypervisor供應(yīng)商。多數(shù)的人都不滿(mǎn)意VMware收的授權(quán)費(fèi),有些人還提到了競(jìng)爭(zhēng)產(chǎn)品成熟度有所提高。
為了更好地了解服務(wù)器虛擬化規(guī)劃者的心思,我翻閱了DataCore軟件公司去年做的“第三次年度虛擬化狀態(tài)調(diào)查”,發(fā)現(xiàn)在477個(gè)受訪(fǎng)者中,339個(gè)認(rèn)為存儲(chǔ)相關(guān)的成本是他們實(shí)現(xiàn)服務(wù)器虛擬化的價(jià)值遇到的最大障礙。308個(gè)受訪(fǎng)者還表示存儲(chǔ)的低效率抵消了hypervisor廠家所承諾的性能級(jí)別。所以,SearchVirtualStorage的標(biāo)題的第一部分看起來(lái)有些道理:確實(shí),換一個(gè)hypervisor供應(yīng)商是有好處的。由于VMware占有市場(chǎng)的絕大部分,我們可以預(yù)期這些更換hypervisor的行動(dòng)大多是從VMware換到別的廠商。
VMware的存儲(chǔ)功能被夸大了
標(biāo)題的第二部分是我最看不順的。這里不怎么隱蔽地暗示了如果你把VMware換掉,你會(huì)失去一些重要的存儲(chǔ)能力——或者用標(biāo)題的原話(huà)來(lái)說(shuō),換一個(gè)hypervisor意味著“失去數(shù)據(jù)存儲(chǔ)附加功能”。讓我回顧歷史的話(huà),我會(huì)說(shuō)VMware的存儲(chǔ)相關(guān)“功能”都是由很糟糕的架構(gòu)設(shè)計(jì)所引起的bug,或者必要的補(bǔ)丁。
VMware從一開(kāi)始就對(duì)存儲(chǔ)I/O處理的很糟糕。VMware hypervisor所引起的出了名的I/O僵局和虛擬服務(wù)器的底層存儲(chǔ)效率完全沒(méi)有關(guān)系。用性能分析工具分析這個(gè)情況的時(shí)候,你會(huì)發(fā)現(xiàn)處理器很忙,而I/O隊(duì)列深度是0。CPU很忙說(shuō)明I/O處理上的延遲與ESX微內(nèi)核中的不良代碼有關(guān),空閑的隊(duì)列則說(shuō)明存儲(chǔ)架構(gòu)在處理到達(dá)主機(jī)總線(xiàn)卡(HBA)或者網(wǎng)絡(luò)接口卡的I/O上沒(méi)有任何問(wèn)題。
一個(gè)繞開(kāi)這個(gè)問(wèn)題的辦法,包括把“上至80%”的存儲(chǔ)I/O交給智能陣列控制器,讓hypervisor看起來(lái)好像能更好地和存儲(chǔ)協(xié)作了。像鏡像這類(lèi)的工作通過(guò)陣列控制器的似有功能來(lái)實(shí)現(xiàn)可以更好,VMware在發(fā)布vStorage API for Array Integration(VAAI)的時(shí)候是這么說(shuō)的。所以,結(jié)果就是,他們把他們的客戶(hù)推向了供應(yīng)商鎖定,同時(shí)又向ANSI T10最最神圣的SCSI標(biāo)準(zhǔn)中添加了未經(jīng)批準(zhǔn)的命令。幾個(gè)月之后,在他們發(fā)布VAAI的新版本的時(shí)候,又重演了一遍,他們又添加了未經(jīng)批準(zhǔn)的新命令,沒(méi)有向標(biāo)準(zhǔn)組織提交申請(qǐng),也沒(méi)有通知硬件廠商們。
VMware屈從于SCSI標(biāo)準(zhǔn)
說(shuō)句公平話(huà),VMware隨后向ANSI提交了一些他們的“創(chuàng)新的SCSI命令”以求評(píng)議并批準(zhǔn),聲稱(chēng)他們?cè)?ldquo;推動(dòng)標(biāo)準(zhǔn)化進(jìn)程”。不過(guò),我從消息靈通人士那里聽(tīng)來(lái)的說(shuō)法是,VMware這股合作精神不是來(lái)自對(duì)開(kāi)放標(biāo)準(zhǔn)的認(rèn)可,而是屈服于他們的一些必須遵循標(biāo)準(zhǔn)的大客戶(hù)。
隨后,我們看到了“反革命”的架構(gòu),例如VSAN和服務(wù)器端存儲(chǔ)(DAS),最虔誠(chéng)的粉絲們還在期待他們代號(hào)Marvin的首次硬件OEM(和不同硬件合作伙伴把VSAN商品化)計(jì)劃。據(jù)最新的描述,Marvin會(huì)提供一個(gè)VMware貼牌的服務(wù)器端存儲(chǔ)套件,就像公司的基于軟件的VSAN技術(shù)一樣,只能在他們的hypervisor上工作。考慮到較大的公司會(huì)同時(shí)有不同的hypervisor技術(shù),也會(huì)有一些工作仍然運(yùn)行在非虛擬化的服務(wù)器上,我們又回到了數(shù)據(jù)孤島上了——這個(gè)問(wèn)題我們?cè)?0年代試圖用SAN技術(shù)來(lái)解決過(guò)——而且還有數(shù)不清的數(shù)據(jù)復(fù)制和鏡像層,來(lái)支持故障切換和vMotion,因?yàn)闆](méi)有了來(lái)自共享的、梳理整齊并妥善管理的存儲(chǔ)架構(gòu)的持續(xù)性存儲(chǔ)掛接點(diǎn)。
我來(lái)重復(fù)一下:“VMware的存儲(chǔ)不是管理的不錯(cuò)嗎?”vSphere使用REST API 不是嗎?是,也不是。最近一個(gè)RESTful 管理編程大師告訴我說(shuō),那里確實(shí)有REST,不過(guò)是隱蔽在幾層似有API下面的,幾乎沒(méi)有用。
最后我想說(shuō):在我看來(lái),如果你放棄VMware而使用另外一種服務(wù)器hypervisor,或者不再使用hypervisor了,你并沒(méi)有放棄很多東西,至少?zèng)]少什么存儲(chǔ)功能。