摘要:即使硬件層發(fā)生變化,只要硬件抽象層不變,那么操作系統(tǒng)層將察覺不到任何的變化。硬件抽象層上的虛擬化是指通過虛擬硬件抽象層來實現(xiàn)虛擬機,為客戶機操作系統(tǒng)呈現(xiàn)出與物理硬件相同或相近的硬件抽象層。
云計算的一個核心思想就是在服務器端提供集中的物理計算資源,這些計算資源可以被分解成更小的單位去獨立地服務于不同的用戶,也就是在共享物理資源的同時,為每個用戶提供隔離、安全、可信的虛擬工作環(huán)境,而這一切不可避免地要依賴于虛擬化技術。
一、虛擬化技術的概述虛擬化技術對大家來說都不陌生,比如虛擬內(nèi)存和虛擬服務器等,為了更好的理解虛擬化我們應該首先來了解一下計算機系統(tǒng)的層次結構。
每一層都向上層提供一個抽象,并且每一層只需要知道下層抽象的接口,而并不需要了解其內(nèi)部運作機制。例如,操作系統(tǒng)看到的是一個硬件抽象層,它并不知道硬件中布線和電器特征。即使硬件層發(fā)生變化,只要硬件抽象層不變,那么操作系統(tǒng)層將察覺不到任何的變化。
這種分層有一定的優(yōu)點。首先,每一層只需要考慮本層的設計以及相鄰層間的交互接口,從而大大的降低了系統(tǒng)設計的復雜性,提高了軟件的移植性。另外,這樣的設計也是給下一層軟件模塊為上一層軟件模塊創(chuàng)造“虛擬世界”提供了條件。
所謂的虛擬化就是有位于下層的軟件模塊,根據(jù)上一層軟件模塊的期待,抽象出一個虛擬的軟件或硬件接口,使上一層軟件可以直接運行在與自己所期待的運行環(huán)境完全一致的虛擬環(huán)境上。
虛擬化可以發(fā)生在上圖中的每一個層次上,硬件的虛擬化,操作系統(tǒng)的虛擬化等等,但是對于IaaS(基礎架構即服務)的云計算,更關心的是硬件抽象層上的虛擬化。硬件抽象層上的虛擬化是指通過虛擬硬件抽象層來實現(xiàn)虛擬機,為客戶機操作系統(tǒng)呈現(xiàn)出與物理硬件相同或相近的硬件抽象層。
如上圖所示,系統(tǒng)虛擬化在硬件和操作系統(tǒng)之間引入了一個虛擬化層,虛擬化層提供一個操作系統(tǒng)期望的接口,統(tǒng)一處理操作系統(tǒng)的請求,使得操作系統(tǒng)層感覺不到虛擬化層的存在,任然認為自己在享有整個硬件。每個虛擬計算機系統(tǒng)(虛擬機)都擁有自己的虛擬硬件,并提供一個獨立的虛擬運行環(huán)境,通過虛擬機監(jiān)控器(VMM)的模擬,虛擬機中的操作系統(tǒng)認為自己仍然是獨占一個系統(tǒng)在運行。
二、虛擬化實現(xiàn)方式 1、按照實現(xiàn)方式分按照實現(xiàn)方式虛擬化可以分為兩種:
VMM直接運行在硬件平臺上,控制所有硬件并管理客戶操作系統(tǒng)。客戶操作系統(tǒng)運行在比VMM更高的級別上,Xen就是采用的這個模型。
VMM運行在一個傳統(tǒng)的操作系統(tǒng)里(第一層軟件),可以看做是第二層軟件,而客戶機操作系統(tǒng)則是第三層了。KVM和VirtualBox就是這種實現(xiàn)。
2、按照VMM所提供的虛擬平臺類型分:按照VMM所提供的虛擬平臺類型可以分為兩類
(1) 完全虛擬化VMM虛擬的是現(xiàn)實存在的平臺,并且在客戶機操作系統(tǒng)看來,虛擬平臺和現(xiàn)實平臺是一樣的,客戶機操作系統(tǒng)感覺不到運行在一個虛擬平臺上,現(xiàn)有的操作系統(tǒng)無需進行任何修改就可以在這樣的虛擬平臺上運行,因此這種方式被稱為完全虛擬化。
完全虛擬化中,VMM需要能夠正確處理客戶機操作系統(tǒng)所有可能的行為,或者說正確處理所有可能的指令,完全虛擬化經(jīng)歷了兩個階段:軟件輔助的完全虛擬化與硬件輔助的完全虛擬化。
在x86虛擬技術的早期,x86體系中沒有在硬件層次對虛擬化提供支持,因此完全虛擬只能靠軟件來實現(xiàn),典型的做法就是優(yōu)先級壓縮和二進制代碼翻譯相結合。
優(yōu)先級壓縮的原理是:將VMM和客戶機的優(yōu)先級放到同一個CPU中來運行,對應于x86架構,通常VMM在ring0,客戶機操作系統(tǒng)內(nèi)核在ring1,客戶機操作系統(tǒng)應用程序在ring3。當客戶機操作系統(tǒng)內(nèi)核執(zhí)行特權指令時,由于處在非特權的ring1,通常會觸發(fā)異常,VMM截獲后就可以進行特權指令的虛擬化。但是x86指令體系結構在設計之初并沒有考慮到虛擬化,一小部分特權指令在ring1中沒有觸發(fā)異常,VMM也就不能進行截獲進行虛擬化,所以就需要用二進制代碼翻譯來處理這些不友好的指令。
二進制代碼翻譯的原理:VMM通常會對操作系統(tǒng)的二進制代碼進行掃描,一旦發(fā)現(xiàn)虛擬化不友好的指令,就將其替換成支持虛擬化的指令塊。
Intel的VTx技術是硬件輔助虛擬化的代表。VTx技術在處理器上引入了一個新的執(zhí)行模式用于運行虛擬機。當虛擬機運行在這個特殊模式中時,他仍然面對一套完整的處理器寄存器和執(zhí)行環(huán)境,只是任何特權操作都會被處理器截獲并報告給VMM。VMM本省就運行在正常模式下,在接收到處理器的報告后,通過對目標指令的解碼,找到相應的虛擬化模塊進行模擬,并把最終的效果反映在特殊的環(huán)境中。
類虛擬化虛擬出的平臺在現(xiàn)實中是不存在的,而是經(jīng)過VMM重新定義的。這樣的虛擬平臺需要對所運行的客戶機操作系統(tǒng)進行或多或少的修改使之能夠適應虛擬環(huán)境,客戶機操作系統(tǒng)也就知道自己運行在虛擬平臺上,并且會主動去適應。
類虛擬化是通過在源代碼級別修改指令以回避虛擬漏洞的方式來使VMM能夠對物理資源實現(xiàn)虛擬化。對于x86中難以虛擬化的指令,類虛擬化采取的方式是修改操作系統(tǒng)內(nèi)核代碼,使得操作系統(tǒng)內(nèi)核完全避免這些難以虛擬化的指令。
動態(tài)遷移是虛擬化特有的新特性,它將虛擬機從一個物理機快速遷移到另一個物理機,但是虛擬機里面的程序和網(wǎng)絡都保持連接。從用戶的角度來看,動態(tài)遷移對虛擬機的可用性沒有任何影響,用戶不會察覺任何的服務被中斷。
動態(tài)遷移實現(xiàn)的方法是在目的服務器上建立一臺同樣配置的新虛擬機,然后不斷地在兩個虛擬機之間同步各種內(nèi)部狀態(tài),比如內(nèi)存、外設、CPU等。等狀態(tài)同步完成后,關掉老的虛擬機,啟動新的虛擬機。
原文鏈接: http://blog.csdn.net/xingjiarong/article/details/50542523
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/11494.html
摘要:和的云計算功能特點對比正式這個戰(zhàn)爭或者說趨勢的一個生動寫照??偠灾壳罢{(diào)度器將只會對部署虛擬機環(huán)節(jié)有影響。目前有一個孵化項目其作用是為提供虛擬機級別高可用支持。容錯在中沒有針對于容錯的功能,并且截至目前也沒有計劃去完成這些功能。 OpenStack中國社區(qū)編者按:在云計算生態(tài)系統(tǒng)中,有兩種類型的用戶需要使用云計算資源:傳統(tǒng)型(Traditional IT applications)和在互...
摘要:和的云計算功能特點對比正是這個戰(zhàn)爭或者說趨勢的一個生動寫照。在設計方面稍占優(yōu)勢,這源于它優(yōu)秀的文檔資料以及便捷易用的部署和管理接口??偠灾壳罢{(diào)度器將只會對部署虛擬機環(huán)節(jié)有影響。 在云計算生態(tài)系統(tǒng)中,有兩種類型的用戶需要使用云計算資源:傳統(tǒng)型(Traditional IT applications)和在互聯(lián)網(wǎng)大潮下逐漸崛起云計算應用型(Cloud-aware applications)。...
摘要:一簡介是由開發(fā)的一套開源的軟件工具,目標是提供一個通用和穩(wěn)定的軟件庫來高效安全地管理一個節(jié)點上的虛擬機,并支持遠程操作。用戶只關心高層的功能,而的實現(xiàn)細節(jié),對于最終用戶應該是透明的。本機之間的通信在初始化的過程中,所有的驅動被枚舉和注冊。 一、Libvirt簡介 Libvirt是由Redhat開發(fā)的一套開源的軟件工具,目標是提供一個通用和穩(wěn)定的軟件庫來高效、安全地管理一個節(jié)點上的虛擬機...
摘要:一為什么要使用虛擬云桌面背景攜程呼叫中心,即服務聯(lián)絡中心,是攜程的核心部門之一,現(xiàn)有幾萬員工。他們?nèi)晷r為全球攜程用戶提供服務。為此,攜程正式引入了虛擬云桌面。攜程云桌面現(xiàn)狀攜程云桌面現(xiàn)已部署上海南通如皋合肥信陽穆棱六個呼叫中心。 編者:本文為劉科在第六期【攜程技術微分享】中的分享內(nèi)容。在攜程技術中心(微信號ctriptech)微信后臺回復【云桌面】,可加入微信交流群,和關注云桌面的...
摘要:一為什么要使用虛擬云桌面背景攜程呼叫中心,即服務聯(lián)絡中心,是攜程的核心部門之一,現(xiàn)有幾萬員工。他們?nèi)晷r為全球攜程用戶提供服務。為此,攜程正式引入了虛擬云桌面。攜程云桌面現(xiàn)狀攜程云桌面現(xiàn)已部署上海南通如皋合肥信陽穆棱六個呼叫中心。 編者:本文為劉科在第六期【攜程技術微分享】中的分享內(nèi)容。在攜程技術中心(微信號ctriptech)微信后臺回復【云桌面】,可加入微信交流群,和關注云桌面的...
閱讀 3637·2020-12-03 17:42
閱讀 2798·2019-08-30 15:54
閱讀 2256·2019-08-30 15:44
閱讀 595·2019-08-30 14:08
閱讀 1000·2019-08-30 14:00
閱讀 1130·2019-08-30 13:46
閱讀 2818·2019-08-29 18:33
閱讀 3021·2019-08-29 14:11