摘要:云計算剖析本文將從云架構的核心抽象開始討論從基礎架構即服務,然后是構建塊,最后是高度集成的解決方案。核心開源技術領域經歷著以虛擬化管理和大規模云軟件包集成的虛擬基礎架構為中心的開發浪潮。
對分布式系統也就是 Internet 使用云作為一種抽象是十分普遍的,但在過去的幾年中,這個抽象已經擴展,并入了高度虛擬化的可伸縮基礎架構,這些基礎架構可以很容易地被作為一個(本地的或遠程的,或者本地和遠程資源的組合)服務提供。本文將不對云架構的定義及其優點做深入的介紹,供您參考閱讀。
云計算剖析
本文將從云架構的核心抽象開始討論(從基礎架構即服務 [IaaS]),然后是構建塊,最后是高度集成的解決方案。
盡管不是必需的,但虛擬化為構建可動態伸縮的架構提供了一些獨特的優勢。除資源共享和可伸縮性外,為了負載均衡,虛擬化還能夠在物理服務器間遷移虛擬機 (VM)。圖 1?中所示的這個虛擬化組件是由一個名為虛擬管理程序(有時也叫作虛擬機監視器?[VMM])的軟件層提供的。這個層提供了同時在一個單一物理機器上執行多個操作系統(及其應用程序)的能力。每個操作系統被視為一個邏輯機器并由虛擬管理程序映射到物理機器。在這個虛擬管理程序上有一個名為?virtual machine?的對象,這個對象封裝了操作系統、應用程序及配置。另外,如果需要,還可以在這個虛擬管理程序中提供設備仿真或是作為一個 VM 提供設備仿真。最后,考慮到虛擬化的新動態特性及它所提供的新功能,還會需要新的管理模式。這種管理較好在各層內完成,本地管理在服務器上完成,還有更高級別的基礎架構管理,以便提供虛擬環境的全面協調管理。
圖 1. 云中一個節點的核心元素
如果將?圖 1?中的那些節點在一個具有共享存儲的物理網絡上繁殖它們,在整個基礎架構上編排管理,然后用緩存和過濾提供入向連接(無論是私有的還是公共的設置)的前端負載均衡,那么您就有了一個可以叫作云?的慮擬基礎架構了。圖 2?顯示了這個新結構。有了根據其各自的負載實現的跨節點 VM 均衡(甚至是動態均衡的),睡眠狀態的服務器可以關掉,除非還需要額外的計算能力(以提供更好的電源效率)。
圖 2. 云計算基礎架構
?
定義了云的基本架構后,就可以開始探究如何應用開源技術來構建一個動態的云基礎架構了。
核心開源技術
Linux 領域經歷著以虛擬化、管理和大規模云軟件包集成的虛擬基礎架構為中心的開發浪潮。在這里,我們先來看一下在單個節點級別上的開源,然后再研究此基礎架構。
虛擬管理程序
虛擬管理程序是云在節點級別的基礎。盡管虛擬化不是必需的,但它在提供可伸縮的和功耗合理的架構方面的能力是勿庸置疑的。目前有很多開源虛擬化解決方案,其中有兩個解決方案很關鍵,它們可以將 Linux 操作系統轉化為虛擬管理程序,這兩個解決方案分別為 Linux Kernel Virtual Machine (KVM) 和 Lguest。KVM 是虛擬管理程序的正式解決方案,被部署到生產環境中。Lguest 是一個只能運行 Linux VM 的以 Linux 為中心的解決方案,但將它集成到內核就可以得到更廣泛的應用。由于其性能優勢,Xen 虛擬管理程序也被廣泛用于公共和私有 IaaS 解決方案中。
除了將 Linux 轉換為虛擬管理程序外,還有其他一些以 guest VM 為中心的解決方案。User-Mode Linux (UML) 則是另一種方式,它能修改 guest Linux 內核使其運行在另一個 Linux 操作系統上(無虛擬管理程序擴展)。因為許多用戶都希望運行一個未被修改的內核,所以完整的虛擬化解決方案(比如 KVM)更受歡迎。
UML 方法也很受歡迎,但它需要虛擬硬件(比如控制臺、虛擬硬盤和網絡)。
設備仿真
虛擬管理程序提供了與多個操作系統共享 CPU 的途徑(CPU 虛擬化),但是為了提供完整的虛擬化,整個環境都必須針對這些 VM 進行虛擬化。機器(或平臺)仿真可以以幾種方式實現,其中有一種流行的開源包可支持許多虛擬管理程序,被稱作?QEMU。QEMU 是一個完全的仿真器和虛擬管理程序。但是 KVM 只將 QEMU 用于設備仿真,作為用戶空間內的一個多帶帶過程(參見?圖 1)。QEMU 的一個有趣特性是因它提供了磁盤仿真(通過 QCOW 格式),QEMU 還提供了其他一些高級特性,比如快照和實時 VM 遷移。
自內核 2.6.25 后,KVM 使用 virtio 作為一種優化 I/O 虛擬化性能的手段。為此,它將準虛擬化了的 (paravirtualized) 驅動程序引入到虛擬管理程序,進而將性能提高到了接近原生的級別。雖然這只有在操作系統可針對此目的修改時才有效,但是它還是可以用在 Linux 虛擬管理程序場景中的 Linux guest 內。
如今,virtio 和 QEMU 可協同工作以便在用戶空間內的 Linux guest 和 QEMU 仿真器之間優化仿真設備事務。
虛擬網絡
由于 VM 合并到了物理服務器上,因此對平臺的聯網需求十分迫切。但我們不需要把所有 VM 的聯網都強加到這個平臺的物理層上,本地通信可自行被虛擬化。為了優化 VM 間的網絡通信,引入了虛擬交換。vSwitch 和物理交換一樣,只是被虛擬化進了這個平臺(參見?圖 3)。在這個圖中,與 VM 相連的虛擬接口 (VIF) 通過虛擬交換與物理接口 (PIF) 進行通信。
圖 3. 具有虛擬和物理接口的 Open vSwitch 高級視圖
?
開源也可以解決這個問題,借助的是一個很有趣的解決方案,稱為?Open vSwitch。除了為虛擬環境提供虛擬交換外,vSwitch 還能集成物理平臺及提供企業級特性,比如虛擬本地局域網絡 (VLAN)、基于優先級 Quality of Service (QoS)、中繼和對硬件加速的支持(比如單根 I/O 虛擬化 [IOV] 網絡適配器)。Open vSwitch 現在可用的是 2.6.15 內核,并支持一系列基于 Linux 的虛擬化解決方案 (Xen、KVM 和 VirtualBox)和管理標準(Remote Switched Port Analyzer [RSPAN] 和 NetFlow 等)。
VM 工具和技術
由于 VM 是操作系統、根文件系統和配置的聚合,因此空間已經很成熟,完全適于工具開發。但是為了充分發揮 VM 和工具的潛力,必須有一種方式來組合它們。目前的這種方式稱為?Open Virtualization Format?(OVF),它是一種 VM 結構,靈活、高效且可移植。OVF 在一個 XML 包裝程序內包含了一個虛擬磁盤映像,這個包裝程序定義了該 VM 的配置,包括網絡配置、處理器和內存要求以及多種可擴展的元數據來進一步定義此映像及其平臺要求。OVF 提供的關鍵功能是可移植性,可以以一種虛擬管理程序不可知的方式分發 VM。
目前,有很多實用工具可用來管理 VM 映像 (VMI) 以及將這些映像轉變為其他格式,或從其他格式轉變回來。VMware 的?ovftool?就是這樣一種很有用的工具,可用于 VMI 轉化(比如,從 VMware Virtual Disk Development Kit [VMDK] 格式轉變為 OVF)。對于 VMI,這些工具顯得非常有用,但是如果有一個物理服務器,要將它轉變為 VMI,該如何做呢?對此,您可以使用一個很有用的工具,稱為?Clonezilla。雖然該工具最早是作為災難恢復的磁盤克隆工具開發的,但它可以被用來將一個物理服務器實例轉化成一個 VM,以便于部署在一個虛擬基礎架構內。隨著 OVF 格式的大量采用,有很多其他的轉換和管理工具或者已經存在(比如構建于 libvirt 之上的實用工具)或正在開發之中。
本地管理
本文從兩個角度探索了管理。本節討論平臺管理;稍后的一個章節會談及較高級別的基礎架構管理。
Red Hat 引入了 libvirt 庫作為管理平臺虛擬化(虛擬管理程序和 VM)的一個 API。libvirt 的一個吸引人之處是它支持多種虛擬管理程序解決方案(KVM 和 Xen 就是其中兩個)并提供對多種語言(比如 C、Python 和 Ruby)的 API 綁定。它提供的是管理的 “最后階段”,直接與平臺虛擬管理程序交互并將 API 擴展到更大的基礎架構管理解決方案。借助 libvirt,啟動和停止 VM 非常簡單,而且它還為更先進的操作(比如在平臺間遷移 VM)提供了 API。使用 libvirt 還能使用它的 shell(構建于 libvirt 之上),稱為?virsh。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/3661.html
摘要:月日,國家會議中心,由主辦的合稱將強勢登陸北京這是首次來華,在這場三合一的開源技術盛會中,來自國內外的開發人員架構師系統管理員專家商業領袖等數千名專業人士將匯聚一堂。后被收購,梁勝出任云平臺首席技術官,也成為首位華人。 6月19-20日,國家會議中心,由The Linux Foundation主辦的LinuxCon + ContainerCon + CloudOpen (合稱LC3) ...
摘要:云和大數據也不例外。最終觀點基于以上考慮建立一套固有的基礎架構,你將會看到大數據和云之間是一種天作之合的組合。 在2013年三月音樂電影藝術節上,Motley Fool的Tim Byers說過:在很多方面,云和大數據越來越密不可分且功能相似-云資源用來支撐大數據的存儲及項目,而且大數據相對于云來說是一個龐大的業務案例。大數據和云技術的最終聯姻,必定是天作之合。 ??? 聽起來雖然浪漫,但我們...
摘要:基于在阿里巴巴搭建的平臺于年正式上線,并從阿里巴巴的搜索和推薦這兩大場景開始實現。在經過一番調研之后,阿里巴巴實時計算認為是一個非常適合的選擇。接下來,我們聊聊阿里巴巴在層對又大刀闊斧地進行了哪些改進。 Apache Flink 概述 Apache Flink(以下簡稱Flink)是誕生于歐洲的一個大數據研究項目,原名StratoSphere。該項目是柏林工業大學的一個研究性項目,早期...
閱讀 3560·2021-09-22 10:52
閱讀 1588·2021-09-09 09:34
閱讀 1990·2021-09-09 09:33
閱讀 758·2019-08-30 15:54
閱讀 2596·2019-08-29 11:15
閱讀 713·2019-08-26 13:37
閱讀 1667·2019-08-26 12:11
閱讀 2975·2019-08-26 12:00