3第三章云計算主流技術(shù)_第1頁
3第三章云計算主流技術(shù)_第2頁
3第三章云計算主流技術(shù)_第3頁
3第三章云計算主流技術(shù)_第4頁
3第三章云計算主流技術(shù)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第三章云計算的主流技術(shù)l本章主要講述了云集的主流技術(shù),介紹了虛擬化優(yōu)勢以及虛擬化的優(yōu)勢。講述了Hypervisor的作用。講述了容器的概念,容器和虛擬化的區(qū)別。l學(xué)完本課程后,您將能夠:l描述虛擬化和容器的概念;l描述Hypervisor的作用;l區(qū)分虛擬化和容器;1.虛擬化簡介虛擬化簡介2.優(yōu)勢優(yōu)勢3.架構(gòu)架構(gòu)4.Hypervisor的作用的作用5.主流的主流的Hypervisor6.容器簡介容器簡介7.容器簡介容器簡介8.容器和虛擬化的區(qū)別容器和虛擬化的區(qū)別Server 1Server 2Server 3lIT資源獨立。l操作系統(tǒng)必須與硬件緊耦合。l資源抽像成共享資源池。l上層操作系統(tǒng)與硬

2、件解耦,操作系統(tǒng)從資源池中分配資源。虛擬化虛擬化虛擬化前虛擬化前WindowsAPPLinuxAPPLinuxAPP虛擬化后虛擬化后APPWinLinuxAPPAPPWinLinuxAPPAPPWinLinuxAPPAPPWinLinuxAPPAPPWinLinuxAPPAPPWinLinuxAPP資源池化資源池化虛擬化層虛擬化層虛擬化層虛擬化層虛擬化層虛擬化層什么是虛擬化l虛擬化 (Virtualization) 的含義很廣泛。將任何一種形式的資源抽象成另一種形式的技術(shù)都是虛擬化。虛擬化是資源的邏輯表示,其不受物理限制的約束。Page4虛擬化中的幾個重要概念Guest OS:運行在虛擬機(jī)之上

3、的運行在虛擬機(jī)之上的OSGuest Machine:虛擬出來的虛擬機(jī)虛擬出來的虛擬機(jī)Hypervisor:虛擬化軟件層虛擬化軟件層/虛擬機(jī)監(jiān)控機(jī)虛擬機(jī)監(jiān)控機(jī)(Virtual Machine Monitor,VMM)Host OS:運行在物理機(jī)之上的運行在物理機(jī)之上的OSHost Machine:物理機(jī)物理機(jī)物理機(jī)物理機(jī)虛擬機(jī)虛擬機(jī)硬件Host Machine操作系統(tǒng)Host OS硬件Host Machine虛擬機(jī)監(jiān)控器Hypervisor虛擬機(jī)Guest Machine操作系統(tǒng)Guest OS虛擬機(jī)Guest Machine操作系統(tǒng)Guest OS虛擬化的特點相對于硬件獨立相對于硬件獨立虛擬機(jī)

4、無需修改,即可在任何服務(wù)器上運行。分區(qū)分區(qū)在單一物理服務(wù)器上同時運行多個虛擬機(jī)。隔離隔離在同一服務(wù)器上的多個虛擬機(jī)之間相互隔離。封裝封裝整個虛擬機(jī)執(zhí)行環(huán)境封裝在獨立文件中,可以通過移動文件的方式來遷移該虛擬機(jī)。云計算 VS 虛擬化虛擬化是實現(xiàn)云計算的技術(shù)支撐手段之一,但并非云計算的核心關(guān)注點。虛擬化是實現(xiàn)云計算的技術(shù)支撐手段之一,但并非云計算的核心關(guān)注點。虛擬化技術(shù)是云計算在虛擬化技術(shù)是云計算在IaaS層具有商用價值的基礎(chǔ)。層具有商用價值的基礎(chǔ)。虛擬化的優(yōu)勢 (1)傳統(tǒng)物理服務(wù)器物理服務(wù)器應(yīng)用程序操作系統(tǒng)虛擬化服務(wù)器操作系統(tǒng)與物理服務(wù)器綁定難以遷移 可靠性難以控制難以擴(kuò)展 資源利用率低空間占用

5、高難以管理操作系統(tǒng)與物理服務(wù)器分離易于遷移、擴(kuò)展,資源整合標(biāo)準(zhǔn)化的虛擬硬件由一系列文件組成,易于保護(hù)物理服務(wù)器虛擬化層 - Hypervisor操作系統(tǒng)應(yīng)用程序操作系統(tǒng)應(yīng)用程序虛擬機(jī)虛擬機(jī)虛擬化的優(yōu)勢 (2)性能性能虛擬化前虛擬化前虛擬化后虛擬化后資源利用率每臺主機(jī)一個操作系統(tǒng),系統(tǒng)的資源利用率低。主機(jī)與操作系統(tǒng)不一一對應(yīng),按需分配使用,系統(tǒng)的資源利用率高。獨立性軟硬件緊密結(jié)合,硬件成本高昂且不夠靈活。操作系統(tǒng)和硬件不相互依賴,虛擬機(jī)獨立于硬件,能在任何硬件上運行。程序運行效率同一臺主機(jī)上同時運行多個程序容易產(chǎn)生沖突,運行效率較低。管理操作系統(tǒng)和應(yīng)用程序被封裝成單一個體,不同個體間不沖突。同一

6、臺機(jī)器上運行同一個程序,效率高。安全性安全性較差。強(qiáng)大的安全和故障隔離。1.虛擬化簡介虛擬化簡介2.優(yōu)勢優(yōu)勢3.架構(gòu)架構(gòu)4.Hypervisor的作用的作用5.主流的主流的Hypervisor6.容器簡介容器簡介7.容器簡介容器簡介8.容器和虛擬化的區(qū)別容器和虛擬化的區(qū)別虛擬化架構(gòu) (1)根據(jù)在整個系統(tǒng)中的位置不同寄居虛擬化宿主操作系統(tǒng)操作系統(tǒng)應(yīng)用應(yīng)用虛擬化層裸金屬虛擬化虛擬化層應(yīng)用操作系統(tǒng)應(yīng)用服務(wù)控制臺應(yīng)用操作系統(tǒng)操作系統(tǒng)虛擬化宿主操作系統(tǒng)虛擬容器應(yīng)用系統(tǒng)模板庫虛擬容器應(yīng)用系統(tǒng)模板庫混合虛擬化宿主操作系統(tǒng)應(yīng)用操作系統(tǒng)應(yīng)用操作系統(tǒng)應(yīng)用操作系統(tǒng)虛擬硬件管理寄居虛擬化寄居虛擬化裸金屬虛擬化裸金屬虛

7、擬化操作系統(tǒng)虛擬化操作系統(tǒng)虛擬化混合虛擬化混合虛擬化優(yōu)優(yōu)點點l簡單、易于實現(xiàn)。l虛擬機(jī)不依賴于操作系統(tǒng)。l支持多種操作系統(tǒng),多種應(yīng)用 。l簡單、易于實現(xiàn)。l管理開銷非常低。 l相對于寄居虛擬化架構(gòu),沒有冗余,性能高。l可支持多種操作系統(tǒng)。缺缺點點l安裝和運行應(yīng)用程序依賴于主機(jī)操作系統(tǒng)對設(shè)備的支持。l管理開銷較大,性能損耗大。l虛擬層內(nèi)核開發(fā)難度大。l隔離性差,多容器共享同一操作系統(tǒng)。l需底層硬件支持虛擬化擴(kuò)展功能。廠廠家家lVMware WorkstationlWMware ESXServerlCitrix XenServerl華為 FusionSpherelVirtuozzolRedhat

8、KVM虛擬化架構(gòu) (2)根據(jù)Hypervisor的實現(xiàn)方式和所處的位置1型虛擬化2型虛擬化1.虛擬化簡介虛擬化簡介2.優(yōu)勢優(yōu)勢3.架構(gòu)架構(gòu)4.Hypervisor的作用的作用5.主流的主流的Hypervisor6.容器簡介容器簡介7.容器簡介容器簡介8.容器和虛擬化的區(qū)別容器和虛擬化的區(qū)別虛擬機(jī)與VMMl虛擬機(jī) (Virtual Machine) 是由虛擬化層提供的高效、獨立的虛擬計算機(jī)系統(tǒng),其皆擁有自己的虛擬硬件(CPU,內(nèi)存,I/O 設(shè)備)。l通過虛擬化層的模擬,虛擬機(jī)在上層軟件看來,其就是一個真實的機(jī)器。這個虛擬化層一般稱為虛擬機(jī)監(jiān)控器 (Virtual Machine Monitor,

9、 VMM),也稱Hypervisor。VMM的功能l虛擬資源lVMM利用底層硬件資源來構(gòu)建一個包含虛擬CPU、內(nèi)存和外設(shè)等的虛擬環(huán)境。在這個環(huán)境中,Guest OS認(rèn)為自己運行在一臺真是的計算機(jī)上,并唯一擁有這臺“虛擬”機(jī)器上的所有資源。l虛擬環(huán)境的調(diào)度lVMM可以同時構(gòu)建多個虛擬機(jī)環(huán)境,從而允許多個Guest OS并發(fā)執(zhí)行,VMM利用一套策略來有效的調(diào)度資源。l虛擬化環(huán)境的管理接口lVMM提供一組完備的管理接口,來支持虛擬環(huán)境的創(chuàng)建、刪除、暫停和遷移等功能。上層的管理程序通過調(diào)用VMM提供的管理接口,為用戶提供管理界面。1.虛擬化簡介虛擬化簡介2.優(yōu)勢優(yōu)勢3.架構(gòu)架構(gòu)4.Hypervisor

10、的作用的作用5.主流的主流的Hypervisor6.容器簡介容器簡介7.容器簡介容器簡介8.容器和虛擬化的區(qū)別容器和虛擬化的區(qū)別KVM架構(gòu) VS Xen架構(gòu)lKVMl內(nèi)核模塊內(nèi)核模塊,使得內(nèi)核成為使得內(nèi)核成為hypervisorl呈現(xiàn)給用戶空間字符設(shè)備呈現(xiàn)給用戶空間字符設(shè)備/dev/kvml用戶空間通過用戶空間通過ioctl()訪問訪問lGuest是一個普通的進(jìn)程是一個普通的進(jìn)程lvcpu是一個線程是一個線程l充分利用充分利用linux內(nèi)核支持內(nèi)核支持l調(diào)度,內(nèi)存共享,調(diào)度,內(nèi)存共享,QoS,電源管理等,電源管理等l僅支持全虛擬化僅支持全虛擬化(Intel VT/AMD-V)lXenl輕量級輕

11、量級hypervisorl直接運行在硬件上直接運行在硬件上lCpu虛擬化、內(nèi)存虛擬化虛擬化、內(nèi)存虛擬化l特權(quán)虛擬機(jī)特權(quán)虛擬機(jī)Domain0lIO虛擬化虛擬化l虛擬機(jī)管理虛擬機(jī)管理l支持全虛擬化支持全虛擬化+半虛擬化半虛擬化l非硬件虛擬化平臺非硬件虛擬化平臺: PV Guest內(nèi)存共享(Grant機(jī)制)Xen平臺Linux (pvops)GuestXEN HypervisorH/W后端驅(qū)動前端驅(qū)動toolstack特權(quán)特權(quán)GuestH/WXen平臺架構(gòu)側(cè)重安全性:平臺架構(gòu)側(cè)重安全性:為保證安全性,各為保證安全性,各Domain之間之間對共享區(qū)域的訪問和映射必須通對共享區(qū)域的訪問和映射必須通過過H

12、ypervisor授權(quán)。授權(quán)。HostLinux (baremetal)GuestH/WKVM Hypervisor前端驅(qū)動toolstackKVM平臺后端驅(qū)動KVM平臺架構(gòu)側(cè)重性能:平臺架構(gòu)側(cè)重性能:VM之間以及與之間以及與Host Kernel之間之間對共享區(qū)域的訪問和映射無需對共享區(qū)域的訪問和映射無需Hypervisor進(jìn)行授權(quán),故整個訪進(jìn)行授權(quán),故整個訪問路徑較短問路徑較短使用使用Linux baremetal內(nèi)核,無內(nèi)核,無pvops性能損耗。性能損耗。Xen、KVM架構(gòu)各有所長KVMKVM 全稱是 Kernel-Based Virtual Machine。也就是說 KVM 是基于

13、Linux 內(nèi)核實現(xiàn)的。KVM有一個內(nèi)核模塊叫 kvm.ko,只用于管理虛擬 CPU 和內(nèi)存。 IO 的虛擬化,比如存儲和網(wǎng)絡(luò)設(shè)備Linux 內(nèi)核和Qemu來實現(xiàn)。KVM虛擬化 = KVM內(nèi)核模塊 + /dev/kvm + QEMU。Guest:客戶機(jī)系統(tǒng),包括:客戶機(jī)系統(tǒng),包括CPU(vCPU)、內(nèi)存、驅(qū)動()、內(nèi)存、驅(qū)動(Console、網(wǎng)卡、網(wǎng)卡、I/O 設(shè)備驅(qū)動等),被設(shè)備驅(qū)動等),被 KVM 置置于一種受限制的于一種受限制的 CPU 模式下運行。模式下運行。KVM:運行在內(nèi)核空間,提供:運行在內(nèi)核空間,提供CPU 和和內(nèi)存的虛級化,以及客戶機(jī)的內(nèi)存的虛級化,以及客戶機(jī)的 I/O 攔攔

14、截。截。Guest 的的 I/O 被被 KVM 攔截后,交攔截后,交給給 QEMU 處理。處理。QEMU:修改過的為:修改過的為 KVM 虛機(jī)使用的虛機(jī)使用的 QEMU 代碼,運行在用戶空間,提供代碼,運行在用戶空間,提供硬件硬件 I/O 虛擬化,通過虛擬化,通過 IOCTL /dev/kvm 設(shè)備和設(shè)備和 KVM 交互。交互。XENXen 的 VMM ( Xen Hyperviso ) 位于操作系統(tǒng)和硬件之間,負(fù)責(zé)為上層運行的操作系統(tǒng)內(nèi)核提供虛擬化的硬件資源,負(fù)責(zé)管理和分配這些資源,并確保上層虛擬機(jī)(稱為域 Domain)之間的相互隔離。Xen采用混合模式,因而設(shè)定了一個特權(quán)域用以輔助Xen

15、管理其他的域,并提供虛擬的資源服務(wù),該特權(quán)域稱為Domain 0,而其余的域則稱為Domain U。Xen Hypervisor:直接運行于硬件之上,:直接運行于硬件之上,是是Xen客戶操作系統(tǒng)與硬件資源之間的客戶操作系統(tǒng)與硬件資源之間的訪問接口。通過將客戶操作系統(tǒng)與硬件訪問接口。通過將客戶操作系統(tǒng)與硬件進(jìn)行分類,進(jìn)行分類,Xen管理系統(tǒng)可以允許客戶管理系統(tǒng)可以允許客戶操作系統(tǒng)安全,獨立的運行在相同硬件操作系統(tǒng)安全,獨立的運行在相同硬件環(huán)境之上。環(huán)境之上。 Domain 0:運行在:運行在Xen管理程序之上,管理程序之上,具有直接訪問硬件和管理其他客戶操作具有直接訪問硬件和管理其他客戶操作系統(tǒng)

16、的特權(quán)的客戶操作系統(tǒng)。系統(tǒng)的特權(quán)的客戶操作系統(tǒng)。 Domain U:運行在:運行在Xen管理程序之上的管理程序之上的普通客戶操作系統(tǒng)或業(yè)務(wù)操作系統(tǒng),不普通客戶操作系統(tǒng)或業(yè)務(wù)操作系統(tǒng),不能直接訪問硬件資源(如:內(nèi)存,硬盤能直接訪問硬件資源(如:內(nèi)存,硬盤等),但可以獨立并行的存在多個。等),但可以獨立并行的存在多個。Xen架構(gòu)簡介Xen架構(gòu)簡介1.虛擬化簡介虛擬化簡介2.優(yōu)勢優(yōu)勢3.架構(gòu)架構(gòu)4.Hypervisor的作用的作用5.主流的主流的Hypervisor6.容器簡介容器簡介7.容器簡介容器簡介8.容器和虛擬化的區(qū)別容器和虛擬化的區(qū)別容器是操作系統(tǒng)內(nèi)核自帶能力l容器是基于一些 Linux

17、內(nèi)核的特性構(gòu)建而成, Docker并沒有重新發(fā)明這些特性。lcgroups: 主要做資源控制lnamespaces: 主要做訪問隔離lLXC (Linux Containers) toolslLinux Container容器是一種內(nèi)核虛擬化技術(shù),可以提供輕量級的虛擬化,以便隔離進(jìn)程和資源。l已有的容器技術(shù)lDockerlRocketHost / HardwareLinux Kernelcgroups/namespaces interface (userspace tools)cgroupsnamespaces“LXC tools” and othersLXC tools commoditiz

18、ation (Docker, Rocket, etc)1.Docker 并沒有發(fā)明容器,更像是容器的前端和外圍工具。2.Docker 核心在于實現(xiàn)應(yīng)用與運行環(huán)境整體打包以及打包格式統(tǒng)一。3.Docker 并不是容器技術(shù)的唯一選擇。kernelOS庫、工具等appapp精簡kernel精簡庫/工具容器引擎App容器App容器OS基礎(chǔ)庫OS基礎(chǔ)庫傳統(tǒng)linux將內(nèi)核、用戶態(tài)的庫、工具等打包成一體,應(yīng)用與OS耦合,硬件需OS認(rèn)證;HWHW輕量級容器OS,Apps與OS解耦,無需認(rèn)證;Docker VS Containercgroupnamespacedockerimagedocker contain

19、er+=l傳統(tǒng)Container:l缺少自動化、使用復(fù)雜。l用法與平臺耦合性高、應(yīng)用范圍窄、用戶限制大。l只解決了Run,沒有解決Build和Ship。l各個容器的實現(xiàn)方式千差萬別,缺省統(tǒng)一的標(biāo)準(zhǔn)。lDocker:l提供了Portable的標(biāo)準(zhǔn)并且提供了實現(xiàn)。l基于該標(biāo)準(zhǔn)的容器Build和Ship機(jī)制。Docker容器技術(shù)概述lDocker引擎lDocker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上。l基于Go語言開發(fā),遵從Apache2.0協(xié)議開源。Docker容器技術(shù)原理介紹Docker容器技術(shù)架構(gòu)虛擬機(jī) VS

20、Docker容器Docker容器技術(shù)主要特點:快:運行時的性能可以獲取極大提升;靈活:將應(yīng)用和系統(tǒng)“容器化”,不添加額外的操作系統(tǒng),支持跨OS部署;輕便:你會擁有足夠的“操作系統(tǒng)”,僅需添加或減小鏡像即可,每臺服務(wù)器可部署1001000個實例;廉價:版本開源的,免費的,低成本的;生態(tài):業(yè)界(微軟、亞馬遜、IBM、Cisco)主流IT廠商逐步使用Docker容器技術(shù)、開源社區(qū)活躍度非常高,逐步成為未來軟件發(fā)展趨勢;虛擬機(jī)容器共享OS內(nèi)核獨占OS內(nèi)核Docker容器技術(shù)使用場景:簡化配置;代碼流水線(Code Pipeline)管理;提高開發(fā)效率;隔離應(yīng)用;快速部署;支持多組環(huán)境;整合服務(wù)器,降低

21、資源成本;Docker的核心價值:構(gòu)建標(biāo)準(zhǔn)化的核心價值:構(gòu)建標(biāo)準(zhǔn)化(dockerfile)、交付形態(tài)標(biāo)準(zhǔn)化(容器、交付形態(tài)標(biāo)準(zhǔn)化(容器 & Image)、運行環(huán)境標(biāo)準(zhǔn)化)、運行環(huán)境標(biāo)準(zhǔn)化(Engine)。)。l可攜帶性(跨平臺、免“部署”)l一致性(開發(fā)&測試&生產(chǎn))l快速分發(fā)、復(fù)制l輕量、隔離、無環(huán)境依賴Docker徹底改變程序的交付方式徹底改變程序的交付方式l集裝箱式應(yīng)用管理環(huán)境。limage分層技術(shù):多副本& 重用,節(jié)省空間、分發(fā)迅速。l模塊化打包、快速部署、標(biāo)準(zhǔn)化管理,獨立&隔離運行。Docker提供軟件應(yīng)用的集裝箱,創(chuàng)建即提供軟件應(yīng)用的集裝箱,

22、創(chuàng)建即部署部署Docker加速容器技術(shù)的發(fā)展容器技術(shù)發(fā)展lDocker解決的問題l應(yīng)用環(huán)境管理復(fù)雜lOS,中間件,各種Appl減化環(huán)境管理復(fù)雜度,減化應(yīng)用實例部署工作,將應(yīng)用打成Image部署lWeb應(yīng)用,DB應(yīng)用,Hadoop應(yīng)用,消息隊列l(wèi)提供分發(fā)和標(biāo)準(zhǔn)化管理容器技術(shù)架構(gòu) (1)lDocker三組件lDocker Client:用戶界面,支持用戶與Docker Daemon之間通信。lDocker Daemon:運行于主機(jī)上,處理服務(wù)請求。lDocker Registry:支持擁有公有與私有訪問權(quán)限的Docker容器鏡像倉庫。lDocker三要素lDocker Containers:負(fù)責(zé)應(yīng)

23、用程序的運行,包括操作系統(tǒng)、用戶添加的文件以及元數(shù)據(jù)。lDocker Images:構(gòu)建容器的只讀模板,用來運行Docker容器。lDockerFile:文件指令集,用來說明如何自動創(chuàng)建Docker鏡像。容器技術(shù)架構(gòu) (2)lDocker總體架構(gòu)lDocker 系統(tǒng)使用 C/S架構(gòu)。lServer 端駐守在后臺:docker daemon。lDocker client通過 REST API 請求 Docker daemon 來管理 Docker 的鏡像和容器等。lDocker Client是一個 CLI 程序,可以在命令行中通過 Docker 二進(jìn)制文件進(jìn)行交互 。Docker鏡像制作和分發(fā)鏡

24、像制作(標(biāo)準(zhǔn)化)鏡像分發(fā)(易用性)快速生成便捷獲取本地環(huán)境文本文件1.虛擬化簡介虛擬化簡介2.優(yōu)勢優(yōu)勢3.架構(gòu)架構(gòu)4.Hypervisor的作用的作用5.主流的主流的Hypervisor6.容器簡介容器簡介7.容器簡介容器簡介8.容器和虛擬化的區(qū)別容器和虛擬化的區(qū)別容器是一種輕量化的虛擬化技術(shù)虛擬機(jī)實例虛擬機(jī)OS鏡象虛擬機(jī)實例應(yīng)用安裝包HardwareHost OSHypervisor(如KVM)Guest OS應(yīng)用依賴庫1應(yīng)用1Guest OS應(yīng)用依賴庫1應(yīng)用2應(yīng)用容器鏡象Hardware容器Host OSOS virtualization:Namespaces、Control groups

25、應(yīng)用依賴庫1應(yīng)用1應(yīng)用2容器實例容器引擎(如Docker)容器實例應(yīng)用依賴庫2應(yīng)3容器實例vCPUs、vMEMs, vDISKs, vNICsSystem calls、Socket、Files and directories、Memrory access、Process、Char devicesHardware-assisted virtualization:VT-X,VT-D,VT-C隔離性強(qiáng),有獨立的GUEST OS 共享內(nèi)核和OS,隔離性弱虛擬化性能差(15%) 計算/存儲無損耗,無GuestOS內(nèi)存開銷(200M)虛擬機(jī)鏡像龐大(十幾G幾十G),且實例化時不能共享 Docker容器鏡象

26、 200300M,且公共基礎(chǔ)鏡象實例化時可以共享虛擬機(jī)鏡象缺乏統(tǒng)一標(biāo)準(zhǔn) Docker提供了容器應(yīng)用鏡象事實標(biāo)準(zhǔn),OCI推動進(jìn)一步標(biāo)準(zhǔn)化虛擬機(jī)創(chuàng)建慢( 2分鐘) 秒級創(chuàng)建( 30s) 秒級(1s,不含應(yīng)用本身啟動)資源虛擬化粒度低,單機(jī)10100虛擬機(jī) 單機(jī)支持1000+容器 Docker容器的優(yōu)勢l輕量級虛擬化lVmware,KVM,XenServer都是重量級虛擬化技術(shù)。l用戶需要高效運行環(huán)境,而非整個機(jī)器。l一次構(gòu)建、到處運行。Docker容器虛擬化lDocker容器是在操作系統(tǒng)層面上實現(xiàn)虛擬化,直接復(fù)用本地主機(jī)的操作系統(tǒng),而傳統(tǒng)方式則是在硬件層面實現(xiàn)。重量級輕量級業(yè)界虛擬化技術(shù)分布數(shù)據(jù)來

27、源:Data Center & Readers Choice survey p-data-center-equipment-trends/4/VMware-market-share- peting-virtualization-vendors數(shù)據(jù)來源:Synergy Research aws-hits-five-year-high-cloud-infrastructure-market-share/從企業(yè)私有云市場來看,Xen家族(Xen-Server、Hyper-V、Oracle Xen)使用量僅次于VMware,約占40%。KVM商用案例較少。在公有云服務(wù)市場公有來看,主流運營商均

28、使用Xen家族平臺,包括AWS、Azure、SoftLayer、阿里。VMware(ESXi)47%MicroSoft(Hyper-V)24%Citrix(Xen-ServerOthers21%企業(yè)虛擬化市場份額VMware(ESXi)MicroSoft(Hyper-V)(Base Xen)Citrix(Xen-Server)(Base Xen)OthersAWS(Xen)28%Microsoft Azure(Hyper-V)10%IBM SoftLayer(Xen)7%Google GCE(KVM)5%salesforce4%Rackspace(Xen)3%Others43%公有云(Iaas

29、)市場份額AWS(Xen)Microsoft Azure(Hyper-V)IBM SoftLayer(Xen)Google GCE(KVM)salesforceRackspace(Xen)Others虛擬化技術(shù)未來衍生方向:基于輕量級OS + 虛擬化技術(shù)傳統(tǒng)傳統(tǒng)OSAppOSHW嵌入式領(lǐng)域:Windriver服務(wù)器領(lǐng)域:Redhat系統(tǒng)虛擬化技術(shù)系統(tǒng)虛擬化技術(shù)AppHypervisor(Host OS)HWGuest OSAppGuest OSl物理資源抽象,降低部署、管理成本。l提高CPU、內(nèi)存、IO等資源利用率。l提高可用性,負(fù)載均衡、動態(tài)遷移、故障自動隔離等。開源:Xen/KVM閉源:V

30、mware/Hyper-V輕量級虛擬化輕量級虛擬化AppCore OSHW/VMDockerAppDocker輕量級OS(OSv/Core OS)容器技術(shù)(Docker)l降低系統(tǒng)損耗(中斷、時延等)。l跨平臺應(yīng)用平滑遷移(應(yīng)用打包、分發(fā)、部署)。容器與虛擬化容器技術(shù)容器技術(shù)虛擬化技術(shù)虛擬化技術(shù)占用磁盤空間大小小,甚至幾十KB非常大,上GB啟動速度快,幾秒鐘慢,幾分鐘運行形態(tài)直接運行在宿主機(jī)內(nèi)核,不同容器共享同1個Linux內(nèi)核運行在Hypervisor上并發(fā)性一臺宿主機(jī)可以運行成千上百個容器單臺機(jī)器最多幾十臺虛擬機(jī)性能接近于宿主機(jī)本地進(jìn)程遜于宿主機(jī)資源利用率高低容器技術(shù)將會與Hypervis

31、or共存,而不是替換業(yè)務(wù)滿足度要解決的問題要解決的問題安全不足安全不足隔離性不如VM,還有很多子系統(tǒng)(audit、syslog、fuse、sysfs、time等)沒有namespace支持。很多權(quán)限問題是通過privileged參數(shù)來解決,但是該參數(shù)會使得容器權(quán)限過大,存在安全風(fēng)險。cgroup資源隔離還有不完善的地方,資源隔離不好的話,系統(tǒng)有受到DoS攻擊的安全風(fēng)險。(1)CPU:對CPU配額不夠精確;(2)內(nèi)存:不能限制kernel memory(比如文件系統(tǒng)的inode、dentry等內(nèi)核數(shù)據(jù)結(jié)構(gòu));(3)網(wǎng)絡(luò):只能做發(fā)包QoS,不能做收包QoS;(4)IO:只能限制direct-IO,

32、不能限制buffered-IO;(4)存儲:不支持存儲空間配額;(5)其他:不能為容器單獨設(shè)置進(jìn)程上限、打開文件上限,等等。功能不足Docker native driver當(dāng)前還不支持多網(wǎng)卡配置和多網(wǎng)絡(luò)平面。容器目前不支持熱遷移。為保證解耦,只能針對Linux應(yīng)用并且應(yīng)用不能有kernel改動,包括參數(shù),不要用自研內(nèi)核模塊。為保證解耦,不要訪問PROC文件/SYS文件,只應(yīng)該訪問自己鏡象中的文件。性能不足通過 Link拼接起來的Docker實例之間通訊效率不如進(jìn)程間通訊。通過Linux Bridge和Iptables實現(xiàn)NAT轉(zhuǎn)換和網(wǎng)絡(luò)隔離,性能堪憂(可能存才50的損耗)。擴(kuò)展性不足網(wǎng)絡(luò)連接無法支持單Host的container上百到上千的數(shù)量級,數(shù)據(jù)中心的容器會達(dá)到上億,大規(guī)模容器之間的連接問題。成熟度不足缺省支持的aufs沒有進(jìn)內(nèi)核,且只有ubuntu提供,SLES和Redhat沒有提供。Docker生態(tài)圈的發(fā)展還處于起步階段,支持企業(yè)級應(yīng)用的工具和項目的還比較缺乏,而且目前對容器的資源管理和運維自動化處理尚無統(tǒng)一的或者標(biāo)準(zhǔn)的框架。趨勢1:容器技術(shù)給PaaS帶來新的活力l容器容器 是操作系統(tǒng)內(nèi)核自帶能力,容器是在是操作系統(tǒng)內(nèi)核自帶能力,容器是在Linux

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論