<progress id="hfjjl"><span id="hfjjl"></span></progress>

    <dl id="hfjjl"></dl>

    <dl id="hfjjl"><ins id="hfjjl"></ins></dl>
    您當前的位置:首頁資訊電子商務正文

    虛擬化發展簡史和京東的虛擬化應用方案

    放大字體  縮小字體 發布日期:2013-09-13 瀏覽次數:1136

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

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

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

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

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

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

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

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

      基礎設施利用率——在沒有虛擬化技術之前,公司需要為最高峰時刻而準備充足的服務器,然而平時服務器的利用率極其低下。根據IDC的報告,典型的X86服務器部署平均達到的利用率僅為總容量的10%-15%。而且在每臺服務器上都只運行了一個應用程序,以免出現一個應用程序中的漏洞影響同一服務器上其他應用程序的可用性風險。拿京東舉例:京東的店慶日是618(6月18日)也是一年中銷售的最高峰。京東在每年618之前都會預估這一天的訪問量、銷量來評估需要采購多少服務器。但是這一天過后,另外364天的平均機器利用率只有10%左右。

      物理基礎設施成本——為了支持不斷增長的業務。物理基礎設施和運營成本都在穩步的攀升。大多數的計算基礎設施都必須時刻保持運行狀態,因此耗電量,制冷設備成本都不會隨利用率的水平而變化,提升利用率成本不會提升。

      IT管理成本——隨著計算環境日益復雜,運維人員所需的專業教育和經驗要求都在不斷提高。而且此類人員的相關薪資成本也隨之增加。如果還在使用手動的維護方式,將花費過多的時間和資源。

      災備——物理機的災備極其復雜,且恢復時間較長。需要給物理機安裝操作系統,相關軟件,并恢復相應的App。整個過程至少需要20-30分鐘。

      為了解決上述問題,虛擬化問題孕育而生了。總而言之,虛擬化降低了用戶的各種成本,且穩定,高效,靈活、可靠。

    【想看更多互聯網新聞和深度報道請關注速途網官方微信。(微信號:速途網)】

    “如果發現本網站發布的資訊影響到您的版權,可以聯系本站!同時歡迎來本站投稿!

    0條 [查看全部]  相關評論
     
     
    开彩票店赚钱吗
    <progress id="hfjjl"><span id="hfjjl"></span></progress>

      <dl id="hfjjl"></dl>

      <dl id="hfjjl"><ins id="hfjjl"></ins></dl>
      <progress id="hfjjl"><span id="hfjjl"></span></progress>

        <dl id="hfjjl"></dl>

        <dl id="hfjjl"><ins id="hfjjl"></ins></dl>