乘虛擬化之風(fēng) 京東虛擬化解決方案一覽

責(zé)任編輯:editor004

2013-09-12 17:03:51

摘自:CSDN

摘要:京東根據(jù)自身業(yè)務(wù)需求,在公有云方面采用Openstack + KVM硬件虛擬化技術(shù)。目前京東根據(jù)自身業(yè)務(wù)需求,在公有云方面采用Openstack + KVM硬件虛擬化技術(shù)。

摘要:京東根據(jù)自身業(yè)務(wù)需求,在公有云方面采用Openstack + KVM硬件虛擬化技術(shù)。但在PaaS層和私有云,則采用了Openstack + LXC的方式進行實現(xiàn)。讓彼此的優(yōu)勢互補,以達到最佳的運行效果。

虛擬化是指在同一臺物理服務(wù)器上模擬多臺虛擬機的能力。且每臺虛擬機在邏輯上擁有獨立的CPU、內(nèi)存、硬盤和網(wǎng)絡(luò)接口等。虛擬化可以提高硬件資源的利用率,使多個應(yīng)用能隔離的運行在同一臺物理機上。虛擬化分為硬件層面的虛擬化和軟件層面的虛擬化。

硬件虛擬化是通過模擬硬件的方式來獲得真實計算機的環(huán)境,可以運行一個完整的操作系統(tǒng)。在硬件虛擬化中,又有Full Virtualization(全虛擬化,完整的模擬一整套真實的硬件設(shè)備)、Partial Virtualization(部分虛擬化,僅對關(guān)鍵性計算組件或者指令集進行模擬。操作系統(tǒng)需要修改才能運行在部分虛擬化環(huán)境中)和Paravirtualization(半虛擬化,不對硬件設(shè)備進行模擬,虛擬機擁有獨立的運行環(huán)境,通過虛擬機管理程序共享的硬件資源。大部分操作系統(tǒng)需要修改才能運行在半虛擬化環(huán)境中)等不同的實現(xiàn)方式。軟件層面的虛擬化,指在同物理服務(wù)器上提供多個隔離的虛擬運行環(huán)境,也被稱為容器技術(shù)。

在硬件虛擬化的層面,現(xiàn)代虛擬化技術(shù)通常是全虛擬和半虛擬的混合體。常見的虛擬化技術(shù)例如VMWare、Xen和KVM都同時支持全虛擬化和半虛擬化。硬件虛擬化方式提供的虛擬機,都獨立的運行著一個完整的操作系統(tǒng),這樣在同一臺物理宿主機上存在大量相同或者相似的進程和內(nèi)存頁,從而導(dǎo)致較大的性能損耗(比如:宿主機操作系統(tǒng)是Centos,使用KVM生成的多個虛擬機,且在每個虛擬機中都運行Windows操作系統(tǒng)和相同的QQ程序,這樣宿主機的性能必然產(chǎn)生較大損耗)。目前,通過KSM(kernel samepage merging)等技術(shù)可以識別與合并含有相同內(nèi)容的內(nèi)存頁,但是還沒有對大量相同或者相似的進程進行優(yōu)化處理的有效手段,相信隨著虛擬化技術(shù)的發(fā)展,該技術(shù)也會取得巨大的進展。因此,硬件虛擬化也被稱為重量級虛擬化,在同一宿主機上能夠同時運行的虛擬機數(shù)量相當(dāng)有限。在軟件虛擬化的層面,同一宿主機上的所有虛擬機(又稱Container)共享宿主機的操作系統(tǒng)實例,不存在由于運行多個操作系統(tǒng)實例所造成的性能損耗(比如:宿主機的操作系統(tǒng)為Centos,通過軟件虛擬化技術(shù)生成多個Container,且每個Container都運行著QQ程序,由于它們共享同一個宿主機Centos操作系統(tǒng),所有Container中QQ程序的進程在Centos中只有一個)。因此,軟件虛擬化也被稱為輕量級虛擬化,在同一宿主機上能夠同時運行的虛擬運行環(huán)境數(shù)量比較寬松。以Solaris操作系統(tǒng)上的Container為例,一個Solaris操作系統(tǒng)的實例理論上可以支持多達8000個Container(實際能夠運行的Container數(shù)量取決于系統(tǒng)資源和負(fù)載)。與此類似,Linux操作系統(tǒng)上的LXC也可以輕松地在同一宿主機上同時支持?jǐn)?shù)量可觀的虛擬運行環(huán)境。

在虛擬化這個領(lǐng)域,國內(nèi)外的各大公司對硬件虛擬化的興趣較大,在研發(fā)和生產(chǎn)環(huán)境中也大都采用硬件虛擬化技術(shù)。但是近段時間國內(nèi)外很多云計算廠商紛紛開始嘗試使用LXC替代KVM/XEN等硬件虛擬化技術(shù)以獲得更好的性能。至于在實際的應(yīng)用場景中到底應(yīng)該選擇硬件虛擬化還是軟件虛擬化,需要從以下方面考慮。靈活性、易管理,可靠性、穩(wěn)定性、性能考慮。硬件虛擬化更靈活、易管理。軟件虛擬化則有更高性能。關(guān)于穩(wěn)定性和可靠性沒有一個確切的證據(jù)證明誰比誰更優(yōu)。如果最終用戶不需要獨立的操作系統(tǒng)。而只需要關(guān)心運行環(huán)境(例如PaaS層面的各種App Engine服務(wù)),這樣軟件虛擬化也是比較好的選擇。雖然Container能提升資源利用率,但遷移成本很高,硬件虛擬化具有天生的遷移優(yōu)勢,另外還包括工程師的學(xué)習(xí)成本,這些都是需要考慮在內(nèi)的因素。所以選擇上還需要根據(jù)自身的業(yè)務(wù)和公司的戰(zhàn)略去確定使用哪種虛擬化技術(shù)。

目前京東根據(jù)自身業(yè)務(wù)需求,在公有云方面采用Openstack + KVM硬件虛擬化技術(shù)。但在PaaS層和私有云,則采用了Openstack + LXC的方式進行實現(xiàn)。讓彼此的優(yōu)勢互補,以達到最佳的運行效果。

一般來講虛擬化發(fā)展公認(rèn)分為5個階段。階段一,服務(wù)器整合。通過虛擬化技術(shù)完成IT基礎(chǔ)架構(gòu)、資源的整合,包括服務(wù)器整合、存儲整合、網(wǎng)絡(luò)整合等。以此來進行IT基礎(chǔ)設(shè)計的簡化、達到提高IT設(shè)備的利用率,降低運維成本的目的。階段二,動態(tài)工作負(fù)載遷移。通過虛擬化技術(shù)實現(xiàn)動態(tài)工作負(fù)載遷移。即在業(yè)務(wù)不受到任何影響的情況下,實現(xiàn)IT資源的動態(tài)調(diào)整和遷移,以此實現(xiàn)對局部資源的削峰填谷效應(yīng),進一步提高IT投資的利用率。傳說中的虛擬機Resize&Live Migrate。階段三,高可用。通過虛擬化實現(xiàn)高可用,即通過虛擬化技術(shù)提升服務(wù)質(zhì)量,增強為前端業(yè)務(wù)提供服務(wù)支持的能力。用戶在不增加IT投資的情況下,就可以使用虛擬機的冗余和備份。高可用分為硬件和軟件,硬件層面只能通過采購冗余的硬件解決。比如:交換機、路由器、電力,空調(diào),消防,和其他的冗余;軟件層面需要考慮有狀態(tài)的與無狀態(tài)的區(qū)別。如:軟件服務(wù)集群、Active/Passive、Active/Active等實現(xiàn)。階段四,工作負(fù)載管理。通過虛擬化技術(shù)實現(xiàn)工作負(fù)載管理,有了前幾個階段的基礎(chǔ),用戶可以對虛擬服務(wù)器進行統(tǒng)一的規(guī)劃和管理。例如京東每個月月末都會有促銷,那么管理員就可以有計劃地在月末為其調(diào)配更多的虛擬資源,而無需增加物理設(shè)備的購買。這個就是傳說中的ELB(Elastic Load Balance)+ AS(AutoScaling)。階段五,災(zāi)難恢復(fù)。通過虛擬技術(shù)來實現(xiàn)災(zāi)難恢復(fù),這同樣是建立在前幾階段之上的高級應(yīng)用,在本地或異地,通過虛擬服務(wù)器或虛擬存儲實現(xiàn)不同等級的災(zāi)難恢復(fù)能力,用戶可以根據(jù)自己能夠忍受的業(yè)務(wù)中斷時間來選擇相應(yīng)的方案,而這,也幾乎不用增加過多的IT物理設(shè)施投入和運維成本。

為了快速的完成虛擬化5個階段的建設(shè),推動虛擬化技術(shù)的發(fā)展,IT巨頭們紛紛加大對虛擬化投入。從2006年到現(xiàn)在,虛擬化技術(shù)進入了爆發(fā)期。諸多廠商如雨后春筍般涌現(xiàn),如微軟、紅帽、思杰、IBM、Amazon、Rackspace、Google、Oracle等。在國內(nèi),京東、騰訊、華為等也都紛紛推出了各自的公有云服務(wù)。仿佛一瞬間國內(nèi)外的IT巨頭們都加入了公有云的競爭,將其推向了白日化。最后鹿死誰手還需要時間的驗證。

在了解了那么多虛擬化的概念和基礎(chǔ)知識之后,那么我們還有一個很大的疑問,為什么我們要用虛擬化,它有什么優(yōu)點呢?我們將從以下幾個方面進行考慮。

基礎(chǔ)設(shè)施利用率——在沒有虛擬化技術(shù)之前,公司需要為最高峰時刻而準(zhǔn)備充足的服務(wù)器,然而平時服務(wù)器的利用率極其低下。根據(jù)IDC的報告,典型的X86服務(wù)器部署平均達到的利用率僅為總?cè)萘康?0%-15%。而且在每臺服務(wù)器上都只運行了一個應(yīng)用程序,以免出現(xiàn)一個應(yīng)用程序中的漏洞影響同一服務(wù)器上其他應(yīng)用程序的可用性風(fēng)險。拿京東舉例:京東的店慶日是618(6月18日)也是一年中銷售的最高峰。京東在每年618之前都會預(yù)估這一天的訪問量、銷量來評估需要采購多少服務(wù)器。但是這一天過后,另外364天的平均機器利用率只有10%左右。物理基礎(chǔ)設(shè)施成本——為了支持不斷增長的業(yè)務(wù)。物理基礎(chǔ)設(shè)施和運營成本都在穩(wěn)步的攀升。大多數(shù)的計算基礎(chǔ)設(shè)施都必須時刻保持運行狀態(tài),因此耗電量,制冷設(shè)備成本都不會隨利用率的水平而變化,提升利用率成本不會提升。IT管理成本——隨著計算環(huán)境日益復(fù)雜,運維人員所需的專業(yè)教育和經(jīng)驗要求都在不斷提高。而且此類人員的相關(guān)薪資成本也隨之增加。如果還在使用手動的維護方式,將花費過多的時間和資源。災(zāi)備——物理機的災(zāi)備極其復(fù)雜,且恢復(fù)時間較長。需要給物理機安裝操作系統(tǒng),相關(guān)軟件,并恢復(fù)相應(yīng)的App。整個過程至少需要20-30分鐘。

為了解決上述問題,虛擬化問題孕育而生了??偠灾摂M化降低了用戶的各種成本,且穩(wěn)定,高效,靈活、可靠。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號