偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

六大Linux虛擬化技術(shù)全面講解

運維 系統(tǒng)運維
Linux虛擬化技術(shù)已經(jīng)不是什么新鮮的技術(shù),對于模擬、平臺和操作系統(tǒng)虛擬化,這三個大家都熟悉的虛擬化技術(shù)之外還有其他的虛擬化技術(shù)如,CoLinux、用戶模式Linux以及Wine和Cygwin,這些技術(shù)都將推動虛擬化技術(shù)的發(fā)展。

關(guān)于Linux虛擬化的優(yōu)勢我們大家已經(jīng)有所了解。目前使用最多的虛擬化操作系統(tǒng)還是Windows系列,但是Linux的成長速度是驚人的,大有替代Windows的趨勢。關(guān)于Linux虛擬化技術(shù)大致上可以分為六個不同的方式。在本文中,我們將討論實現(xiàn)Linux虛擬化的這六種方式,以及Linux下的多種虛擬化解決方案。

當我們討論虛擬化解決方案的時候,常常都要提到具體廠商的具體產(chǎn)品,但是當我們提及Linux虛擬化解決方案的時候,我們更樂意討論廣泛而多樣化的開源生態(tài)系統(tǒng)。Linux支持多種虛擬化平臺,并延伸出多種技術(shù),同樣也是一個完整方案的一個元素。

虛擬化—老樹開新花

雖然虛擬化現(xiàn)在如此的流行,但虛擬化不是一個新的技術(shù),早在半個世紀之前IBM就已經(jīng)開始部署虛擬化。最早虛擬化技術(shù)是在IBM M44計算機上進行實驗,然后在IBM System/360大型機產(chǎn)品上開始普及。最早的真正意義上的整體應(yīng)用虛擬化的硬件平臺是IBM CP-40系統(tǒng),在上世紀60年代末被用在商業(yè)應(yīng)用上。

虛擬化包含多個層面,比如硬件虛擬化,這種虛擬化從底層的硬件平臺直接支持軟件環(huán)境;另外一種是操作系統(tǒng)虛擬化,這是Linux的一個亮點。

在硬件層之上,獨立于操作系統(tǒng)的一層軟件被稱之為hypervisor,或者叫做虛擬機監(jiān)視器。hypervisor創(chuàng)建了虛擬化平臺,而操作系統(tǒng)實例則運行在這個平臺上,這使得硬件平臺可以被多個操作系統(tǒng)和應(yīng)用所共享,從而降低硬件的成本。

運行在hypervisor上面的實體被稱為虛擬機,即VM,是用來放置操作系統(tǒng)、應(yīng)用和數(shù)據(jù)元的“容器”。虛擬機中的操作系統(tǒng)和應(yīng)用程序的數(shù)據(jù)被存儲在虛擬磁盤中,hypervisor利用虛擬磁盤來啟動虛擬化平臺。虛擬機被封裝為一個文件,這樣比分布式的文件更好管理。

本地虛擬化和主機虛擬化模型

本地虛擬化和主機虛擬化模型

早期的虛擬化模型被稱為Type 1,或者叫本地虛擬化(native virtualization),這種模型下hypervisor直接運行在硬件之上,在hypervisor上面是虛擬機。后來出現(xiàn)了主機虛擬化(hosted virtualization)模式,被稱為Type 2,hypervisor運行在操作系統(tǒng)之上,在同一平臺上允許兩個或更多的操作系統(tǒng)共存。

Linux虛擬化技術(shù)基礎(chǔ)

了解了有關(guān)虛擬化的一些基本知識后,我們進入正題,來討論一下Linux虛擬化的一些知識。首先是模擬(Emulation),是將一個操作系統(tǒng)(Host)的服務(wù)轉(zhuǎn)換并顯示成另一個操作系統(tǒng)(Guest)的過程,Host和Guest系統(tǒng)不一定是相同的,比如,Host系統(tǒng)可能是x86平臺,可以提供PowerPC平臺的模擬,即使是指令和架構(gòu)完全不相同。

另外,hypervisor的模擬器(emulator)可以提供多個平臺的模擬,比如下面的圖例,在Host系統(tǒng)上可以仿真出PowerPC和ARM系統(tǒng)。模擬過程并不僅限于Type 2虛擬化模型,在虛擬化技術(shù)中都存在這個過程。

虛擬化模型中的模擬過程

虛擬化模型中的模擬過程

Linux中最流行的兩個模擬器(emulator)包括QEMU和Bochs(處理器和平臺模擬器)。這種解決方案的優(yōu)點是它們是非常“輕便的”,可以支持在不同的Host操作系統(tǒng)和平臺上運行不同的Guest操作系統(tǒng)。而這種解決方案的缺點在于由于要模擬指令,導致效率比較低。QEMU通過動態(tài)編碼轉(zhuǎn)換的模擬方式,讓內(nèi)核和內(nèi)部用戶代碼可以被加速。另外,QEMU是一個很好的嵌入式平臺開發(fā)工具,可以為與主機相異的CPU開發(fā)和測試代碼。QEMU還可以被用來其他虛擬化解決方案來進行設(shè)備模擬。

平臺虛擬化

更加傳統(tǒng)的虛擬化解決方案是平臺虛擬化,或者叫做硬件虛擬化,具有兩種主要的形式,完全虛擬化( full-virtualization)和半虛擬化(para-virtualization)。

完全虛擬化,虛擬化平臺通過hypervisor來承載虛擬機(VM),完全虛擬化的關(guān)鍵在于這些虛擬機,也就是運行在這些虛擬機里面的操作系統(tǒng)可以在hypervisor上運行,并且不被修改,這在需要一個真正的虛擬平臺時是非常理想的,但這種模式具有一個缺點。

在完全虛擬化下虛擬機VM會把虛擬平臺當作物理平臺,工作在虛擬平臺上的Guest操作系統(tǒng)驅(qū)動就好像運行在真實的硬件之上。但需要考慮這意味著什么,Guest操作系統(tǒng)和虛擬平臺之間通訊就好像和真實平臺一樣,在hypervisor里面存在著另外一個模擬層,模擬硬件平臺并轉(zhuǎn)發(fā)虛擬機對硬件的訪問,就好像虛擬機直接在使用真實的硬件。這個過程需要大量的處理,會限制Guest系統(tǒng)的I/O性能。

解決這個問題的一個方法就是讓Guest操作系統(tǒng)意識到自身是被虛擬化的,這種形式被稱作半虛擬化(para-virtualization),如下圖,在這種模式下,Guest系統(tǒng)包含了縮短硬件訪問過程所需的驅(qū)動程序,這讓把Guest系統(tǒng)從不必要的工作中解放出來,來進行更高級別的工作。

兩種平臺虛擬化方式

兩種平臺虛擬化方式

雖然完全虛擬化是一個理想的方案,但是通過修改Guest操作系統(tǒng)可以最大限度的減少處理開銷,獲得相當大的性能提升。#p#

Linux包含兩個重要的解決方案,可以同時實現(xiàn)完全虛擬化和半虛擬化。如Citrix的Xen是一個流行的解決方案,可以同時執(zhí)行Type1和Type2型hypervisor,Amazon的EC2就采用Xen來進行服務(wù)器的虛擬化。

另一個重要的hypervisor是Linux Kernel Virtual Machine(KVM),同樣都支持本地虛擬化和主機虛擬化模型。KVM是有特點的,它通過夾在內(nèi)核模塊可以對Linux內(nèi)核進行小的修改,從而變成一個全特性的hypervisor。KVM通過應(yīng)用virtio可以支持半虛擬化,在Guest系統(tǒng)中包括用于半虛擬化的標準Linux驅(qū)動。

KVM也是第一個完全集成在主線內(nèi)核(mainline kernel)的hypervisor,由Rad Hat開發(fā),在一些關(guān)鍵領(lǐng)域被采用,比如IBM對云計算的開發(fā)和測試中。

需要注意的是無論是完全虛擬化還是半虛擬化,每種解決方案都應(yīng)用了硬件協(xié)助虛擬化(hardware-assisted virtualization)。目前新的AMD和英特爾CPU都集成了優(yōu)化hypervisor的指令集,來增強Guest虛擬機的I/O性能。

操作系統(tǒng)虛擬化

操作系統(tǒng)虛擬化是另外一個重要的虛擬化技術(shù),正如其名,是對操作系統(tǒng)本身進行虛擬化,而不是平臺。在這種方式下,操作系統(tǒng)提供一組用戶空間(User-Space)彼此隔離,而應(yīng)用被限制在每個用戶空間里面,就好像一個獨立的主機。這種形式的虛擬化在虛擬主機環(huán)境中非常流行,讓多個獨立的用戶可以共享一個操作系統(tǒng)。

操作系統(tǒng)虛擬化 

操作系統(tǒng)虛擬化

操作系統(tǒng)虛擬化依賴于可以創(chuàng)建和隔離用戶空間(或者叫做容器或者私有虛擬服務(wù)器)的Linux內(nèi)核,OS虛擬化最大的好處在于幾乎沒有任何開銷,因為用戶只是簡單的共享OS和主機,而不需要通過虛擬機。而缺點在于目前我們采用的OS虛擬化解決方案缺乏靈活性,不能在任意的操作系統(tǒng)上實施,用戶共享主機和操作系統(tǒng)還需要注意版本。盡管有這些不足,服務(wù)器虛擬化還是應(yīng)用的非常廣泛。

Linux包含很多的操作系統(tǒng)解決方案,具有很高的可配置性。比如OpenVZ、Linux-VServer和FreeVPS是其中三個最流行的,均支持CPU、內(nèi)存網(wǎng)絡(luò)、I/O和存儲配額配置,OpenVZ還支持主機之間的在線VPSes遷移。

其他Linux虛擬化技術(shù)

在上面的文章中,我們討論了模擬、平臺虛擬化和操作系統(tǒng)虛擬化,這三種是最常用的虛擬化技術(shù),除此之外,還有很多其他種類的虛擬化技術(shù)可以滿足我們的需求,下面我們來看看幾種不同于之前談?wù)摲懂牭奶摂M化技術(shù)。

CoLinux

CoLinux,或者叫做協(xié)作Linux,是一種利用協(xié)作虛擬機的虛擬化方式。在CoLinux模式下,Linux Guest系統(tǒng)運行在微軟Windows操作系統(tǒng)之上,共享底層的硬件資源。CoLinux需要Guest系統(tǒng)(即CoLinux本身)被修改,讓它認為自己運行在其他操作系統(tǒng)之上。CoLinux是一種半虛擬化的方式,是將Windows作為Host操作系統(tǒng),并且每個Host系統(tǒng)上只能運行一個CoLinux實例。由于這種限制,CoLinux被定義為一種特別的虛擬化技術(shù)。

CoLinux:特別的半虛擬化架構(gòu)

CoLinux:特別的半虛擬化架構(gòu)

用戶模式(User-Mode)Linux

用戶模式(User-Mode)Linux,即UML,和CoLinux有些類似,但是更加靈活。如上圖右邊的架構(gòu),UML允許在一個Linux Host系統(tǒng)上運行多個Linux Guest操作系統(tǒng),UML也是一種半虛擬化架構(gòu),實現(xiàn)更好的性能。UML吸引人的一個方面是可以支持更高一層的UML,所以運行在Linux Host操作系統(tǒng)上的UML Guest內(nèi)核可以支持更高級別的UML Guest系統(tǒng)。

Wine和Cygwin

Wine和Cygwin也是有趣的虛擬化解決方案,Wine實際上是“Wine is Not an Emulator”的縮寫,表示“不是一個模擬器”,是在Linux Host操作系統(tǒng)上運行Windows應(yīng)用的一種方式。Wine并不是完全的表現(xiàn)為Windows應(yīng)用的模擬層,而是一個DLL(動態(tài)鏈接庫)層來表示W(wǎng)indows API。

Wine和Cygwin虛擬化方案

Wine和Cygwin虛擬化方案

Cygwin是與之相反的解決方案,即在Windows上運行Linux應(yīng)用,這是由Rat Hat開發(fā),這是一種模擬的Unix環(huán)境,允許在Windows平臺上開發(fā)Unix應(yīng)用,比如POSIX以及其他類Unix工具。

Linux虛擬化的未來

在虛擬化領(lǐng)域,Linux虛擬化增長的很快速,不僅僅是對核心組件基于Linux的hypervisor的開發(fā),還包括Linux虛擬化生態(tài)系統(tǒng)中的其他部分,包括工具和管理應(yīng)用程序的開發(fā)。Linux虛擬化能夠延伸出多種虛擬化技術(shù),將不斷的推動虛擬化技術(shù)的前進發(fā)展。

【編輯推薦】

  1. 十大Linux虛擬化優(yōu)點
  2. Linux虛擬化的優(yōu)勢比Windows更明顯
  3. Linux虛擬化:10個不得不愛的理由
  4. 紅帽和思科共同發(fā)布新的 企業(yè)Linux虛擬化整合計算解決方案
責任編輯:張浩 來源: 中關(guān)村在線
相關(guān)推薦

2009-05-21 18:34:45

HP虛擬化群集

2009-05-21 18:25:40

HP虛擬化分區(qū)

2009-05-21 18:21:25

HP虛擬化網(wǎng)絡(luò)

2009-05-21 18:40:07

HP虛擬化獨立系統(tǒng)

2011-04-01 15:26:47

2009-05-21 18:37:27

HP虛擬化多重引導

2009-10-19 16:39:19

Linux虛擬化

2012-01-13 10:07:19

虛擬化服務(wù)器虛擬化中小企業(yè)

2012-02-28 10:17:17

服務(wù)器虛擬化虛擬機

2010-11-24 09:52:41

虛擬化管理

2012-09-24 09:50:08

2011-10-11 17:05:09

服務(wù)器虛擬化管理

2010-09-09 10:54:58

2016-01-07 13:20:24

容器容器技術(shù)

2015-11-25 13:48:18

Linux虛擬機技巧

2009-08-17 15:39:01

VMware虛擬化使用

2010-12-30 10:04:47

虛擬化

2014-12-05 10:17:49

燕云

2009-01-07 09:09:52

Web技術(shù)HTML 5身份管理

2010-05-18 15:54:25

IIS 7.0
點贊
收藏

51CTO技術(shù)棧公眾號