成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

六大Linux虛擬化技術全面講解

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

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

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

虛擬化—老樹開新花

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

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

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

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

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

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

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

Linux虛擬化技術基礎

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

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

虛擬化模型中的模擬過程

虛擬化模型中的模擬過程

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

平臺虛擬化

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

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

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

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

兩種平臺虛擬化方式

兩種平臺虛擬化方式

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

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

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

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

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

操作系統虛擬化

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

操作系統虛擬化 

操作系統虛擬化

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

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

其他Linux虛擬化技術

在上面的文章中,我們討論了模擬、平臺虛擬化和操作系統虛擬化,這三種是最常用的虛擬化技術,除此之外,還有很多其他種類的虛擬化技術可以滿足我們的需求,下面我們來看看幾種不同于之前談論范疇的虛擬化技術。

CoLinux

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

CoLinux:特別的半虛擬化架構

CoLinux:特別的半虛擬化架構

用戶模式(User-Mode)Linux

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

Wine和Cygwin

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

Wine和Cygwin虛擬化方案

Wine和Cygwin虛擬化方案

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

Linux虛擬化的未來

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

【編輯推薦】

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

2009-05-21 18:34:45

HP虛擬化群集

2009-05-21 18:21:25

HP虛擬化網絡

2009-05-21 18:25:40

HP虛擬化分區

2009-05-21 18:37:27

HP虛擬化多重引導

2009-05-21 18:40:07

HP虛擬化獨立系統

2011-04-01 15:26:47

2009-10-19 16:39:19

Linux虛擬化

2012-01-13 10:07:19

虛擬化服務器虛擬化中小企業

2012-02-28 10:17:17

服務器虛擬化虛擬機

2010-09-09 10:54:58

2012-09-24 09:50:08

2011-10-11 17:05:09

服務器虛擬化管理

2016-01-07 13:20:24

容器容器技術

2010-11-24 09:52:41

虛擬化管理

2015-11-25 13:48:18

Linux虛擬機技巧

2018-10-24 10:47:30

云計算IT網絡

2010-05-18 15:54:25

IIS 7.0

2009-08-17 15:39:01

VMware虛擬化使用

2010-12-30 10:04:47

虛擬化

2014-12-05 10:17:49

燕云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人精品视频在线观看 | 亚洲一区二区三区四区五区中文 | 一级免费a| 日韩免费福利视频 | 日韩av网址在线观看 | 欧美999| 亚洲精品视频在线 | 日韩在线精品 | 综合色站导航 | 波多野吉衣久久 | 99久久精品视频免费 | 久久这里只有精品首页 | 自拍亚洲 | 丁香综合| av网址在线 | 亚洲天堂精品一区 | 国产美女精品 | 龙珠z国语版在线观看 | 色999视频 | 欧美中文字幕在线观看 | 欧美亚洲国语精品一区二区 | 一区二区三区av | 免费黄色大片 | 九九精品在线 | 国产精品国产精品国产专区不卡 | 男人亚洲天堂 | 天堂网色 | 中文字幕 国产精品 | 欧美日韩国产欧美 | 中文字幕91 | 亚洲精品亚洲人成人网 | 红色av社区 | 91免费福利在线 | 华人黄网站大全 | 中文字幕高清 | 九九免费视频 | 在线观看av网站 | 亚洲欧洲中文 | 黄色毛片网站在线观看 | 日韩一区二区三区av | 日韩成年人视频在线 |