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