出版時間:2012-10 出版社:電子工業(yè)出版社 作者:廣小明 等編著 頁數(shù):285 字?jǐn)?shù):330000
Tag標(biāo)簽:無
前言
隨著云計算熱潮的興起,構(gòu)成其中關(guān)鍵技術(shù)之一的虛擬化技術(shù)再次成為業(yè)內(nèi)外的焦點。但是與之前有所不同,虛擬化技術(shù)不再僅限于計算機從業(yè)者范圍,而是走向更為廣闊的融合寬帶網(wǎng)絡(luò)在內(nèi)的廣義的資源基礎(chǔ)設(shè)施層面。更為重要的是,受虛擬化概念的影響,正在形成一種新的資源體系,動態(tài)組合調(diào)整所需的計算、存儲和網(wǎng)絡(luò)資源以適應(yīng)最終應(yīng)用的需求。這一變化直接帶動創(chuàng)新的服務(wù)模式、快速部署和資源彈性擴展等一系列優(yōu)勢?! ≈袊娦抛鳛榛A(chǔ)運營商,一直密切關(guān)注云計算技術(shù)和業(yè)務(wù)的發(fā)展,成立了專業(yè)化的研究中心對云計算相關(guān)核心技術(shù)進(jìn)行研究,并將研究與中國電信自身業(yè)務(wù)服務(wù)的優(yōu)勢相結(jié)合。中國電信擁有世界上最大的寬帶網(wǎng)絡(luò)和國內(nèi)最豐富的數(shù)據(jù)中心資源,如何將傳統(tǒng)的物理資產(chǎn)轉(zhuǎn)化成邏輯可管理的虛擬資源以提高資源的利用率,降低運營和維護成本,滿足國家綠色環(huán)保的要求是研究重點之一。 當(dāng)前基于x86的虛擬化技術(shù)已經(jīng)成熟,但是其核心技術(shù)一直掌握在少數(shù)虛擬化軟件廠家手中,阻礙了虛擬化技術(shù)的規(guī)模應(yīng)用。開源技術(shù)Xen和KVM的出現(xiàn)以及該類技術(shù)在亞馬遜成功的商用,給虛擬化技術(shù)的應(yīng)用注入了強心劑,越來越多的企業(yè)和個人參與到開源技術(shù)的研究和開發(fā)過程中。隨著開源軟件版本的不斷升級,其與管理平臺的接口也日漸成熟和標(biāo)準(zhǔn)化,一些知名的平臺開發(fā)廠商也開始支持這些開源技術(shù),為開源技術(shù)的商用奠定了良好的基礎(chǔ)?! ”緯髡呔鶃碜灾袊娦旁朴嬎阊芯恐行?,他們以飽滿的工作熱情參與到虛擬化開源技術(shù)的研發(fā)過程中,秉承開源的精神。希望自己的研究成果不再局限于中國電信研究中心內(nèi)部,而且像云計算資源一樣借助圖書這個介質(zhì)為更多的研究人員和開發(fā)者服務(wù),讓更多的人加入到開源技術(shù)的研究和開發(fā)過程中?! ”緯闹饕獌?nèi)容包括4個部分?! 〉谝徊糠譃樘摂M化技術(shù)原理篇。介紹虛擬化技術(shù),包括它的發(fā)展歷程、基本原理、技術(shù)架構(gòu)和一些主流的虛擬化產(chǎn)品等?! 〉诙糠譃閄en虛擬化技術(shù)篇。介紹Xen軟件模塊結(jié)構(gòu)、工作原理及流程,并借助源碼分析Xen最核心的軟件模塊Hypervisor的工作原理、流程及實現(xiàn)?! 〉谌糠譃镵VM虛擬化技術(shù)篇。從KVM的體系結(jié)構(gòu)出發(fā),分別從日常使用、KVM內(nèi)核代碼和qemu-kvm用戶態(tài)代碼三個角度進(jìn)行分析,情景化地剖析了KVM虛擬化技術(shù)的實現(xiàn)方案,包括重要的數(shù)據(jù)結(jié)構(gòu)、處理流程等?! 〉谒牟糠譃樘摂M化軟件開放接口篇。從典型Xen管理接口入手,通過源碼分析介紹了Xen管理接口的工作原理與實現(xiàn)方式,并推而廣之??紤]到未來需要對Xen、KVM等虛擬化技術(shù)構(gòu)建的異構(gòu)資源池進(jìn)行統(tǒng)一管理,需要提供統(tǒng)一標(biāo)準(zhǔn)化的管理接口,本書最后對libvirt虛擬化控制中間件進(jìn)行了介紹。 本書涉及的知識面較廣,由于筆者的知識水平和認(rèn)知的局限,書中難免有紕漏之處,懇請各位專家和讀者不吝賜教。 作者
內(nèi)容概要
本書對云計算中關(guān)鍵技術(shù)之一的虛擬化技術(shù)進(jìn)行了深入的分析,從x86計算機體系結(jié)構(gòu)以及操作系統(tǒng)的工作原理出發(fā),介紹了虛擬化技術(shù)原理以及業(yè)界主流虛擬化軟件產(chǎn)品,并以Xen、KVM開源軟件為例分析了虛擬化軟件的架構(gòu)及其實現(xiàn)方法,最后對虛擬化軟件管理接口的工作原理以及實現(xiàn)方法進(jìn)行了全面的梳理。
作者簡介
·郭京·
北京郵電大學(xué)碩士研究生,研究方向為云計算及虛擬化技術(shù)。
·侯光華·
1995年獲北方交通大學(xué)信號與信息處理專業(yè)碩士學(xué)位,擁有近15年的電信行業(yè)產(chǎn)品研發(fā)經(jīng)驗。2012年加入中國電信云計算分公司,任高級工程師,負(fù)責(zé)云計算產(chǎn)品規(guī)劃和研發(fā),同時擔(dān)任寬帶論壇(BBF)商業(yè)業(yè)務(wù)委員會委員,并發(fā)表論文、國際文稿若干,擁有多項專利。
·司偉·
東北大學(xué)控制理論與控制工程專業(yè)碩士。2008年加入中國電信北京研究院,擁有多年數(shù)據(jù)通信產(chǎn)品研發(fā)經(jīng)驗,目前主要從事虛擬化安全、云計算系統(tǒng)架構(gòu)、大數(shù)據(jù)等相關(guān)技術(shù)研究。
·顧茜·
畢業(yè)于北京郵電大學(xué),主要從事云計算技術(shù)研究,政務(wù)云行業(yè)數(shù)據(jù)研究工作,掌握云數(shù)據(jù)管理、云數(shù)據(jù)挖掘和SPECvirt性能測評等云相關(guān)知識體系。發(fā)表學(xué)術(shù)論文8篇,擁有第一發(fā)明人發(fā)明專利兩項,參與發(fā)明專利4項。
·廣小明·
1993年畢業(yè)于上海交通大學(xué)。現(xiàn)任中國電信云計算分公司產(chǎn)品部總監(jiān),高級工程師,主要研究方向為服務(wù)器虛擬化和存儲技術(shù)。
·胡杰·
2004年畢業(yè)于電信科學(xué)技術(shù)研究院?,F(xiàn)任中國電信北京研究院云平臺及應(yīng)用研究團隊總監(jiān),高級工程師,主要研究方向為服務(wù)器虛擬化和存儲技術(shù)。
·陳龍·
2009年畢業(yè)于電子科技大學(xué),畢業(yè)后加入中國電信北京研究院,負(fù)責(zé)中國電信定制網(wǎng)關(guān)中間件的開發(fā)和云主機業(yè)務(wù)的開發(fā)工作,并對嵌入式開發(fā)和和計算機體系結(jié)構(gòu)方面有較深入的研究。
書籍目錄
第一篇 云計算與虛擬化技術(shù)
第1章 虛擬化技術(shù)基本原理
1.1 云計算與虛擬化技術(shù)
1.2 x86和非x86體系結(jié)構(gòu)基礎(chǔ)
1.2.1 x86的發(fā)展歷程
1.2.2 x86-64
1.2.3 x86內(nèi)存架構(gòu)
1.2.4 x86-64的基本模式
1.2.5 x86-64的寄存器組
1.2.6 中斷與異常
1.2.7 IO架構(gòu)
1.2.8 DMA
1.2.9 時鐘
1.3 操作系統(tǒng)與虛擬化
1.3.1 操作系統(tǒng)
1.3.2 進(jìn)程
1.3.3 系統(tǒng)虛擬化
1.3.4 系統(tǒng)虛擬化的發(fā)展歷程
1.3.5 可虛擬化條件
1.3.6 虛擬化的原理與分類
1.4 VMM技術(shù)架構(gòu)分類
1.4.1 Hypervisor模型
1.4.2 宿主(Hosted)模型
1.4.3 混合模型
1.5 本章小結(jié)
第2章 虛擬化實現(xiàn)技術(shù)架構(gòu)
2.1 處理器虛擬化實現(xiàn)技術(shù)
2.1.1 Intel VT
2.1.2 AMD SVM
2.1.3 vCPU
2.2 中斷虛擬化實現(xiàn)技術(shù)
2.3 內(nèi)存虛擬化實現(xiàn)技術(shù)
2.3.1 影子頁表
2.3.2 Intel EPT
2.3.3 AMD NPT
2.4 IO設(shè)備虛擬化實現(xiàn)技術(shù)
2.4.1 Intel VT-d
2.4.2 DMA重映射
2.4.3 IO頁表
2.4.4 AMD IOMMU
2.5 網(wǎng)絡(luò)虛擬化技術(shù)
2.5.1 虛擬通道
2.6 時間虛擬化技術(shù)
2.6.1 操作系統(tǒng)和客戶機的時間概念
2.6.2 客戶機時間概念的實現(xiàn)
2.7 主流虛擬化產(chǎn)品及其特點
2.7.1 Xen
2.7.2 VMware
2.7.3 Hyper –V
2.7.4 KVM
2.8 本章小結(jié)
第二篇 Xen虛擬化技術(shù)篇
第3章 Xen軟件系統(tǒng)原理
3.1 Xen軟件模塊結(jié)構(gòu)
3.1.1 Xen Hypervisor
3.1.2 特權(quán)虛擬域0(Dom0)
3.1.3 獨立設(shè)備驅(qū)動域(IDD)
3.1.4 非特權(quán)虛擬域U(DomU)
3.1.5 硬件虛擬域(HVM)
3.2 Xen系統(tǒng)啟動工作原理及流程
3.2.1 系統(tǒng)引導(dǎo)過程
3.2.2 Hypervisor啟動與初始化過程
3.2.3 Dom0啟動過程
3.2.4 DomU的啟動
3.3 Xen CPU虛擬化工作原理
3.3.1 x86體系虛擬化存在的問題
3.3.2 CPU虛擬化—半虛擬化(又稱為泛虛擬化)
3.3.3 CPU虛擬化技術(shù)—硬件虛擬化技術(shù)支持的全虛擬化
3.4 Xen內(nèi)存虛擬化工作原理
3.4.1 內(nèi)存虛擬化—直接模式
3.4.2 內(nèi)存虛擬化—影子模式
3.5 IO虛擬化工作原理
3.5.1 半虛擬化IO
3.5.2 全虛擬化IO
3.6 Xen虛擬機(DomU)生命周期管理
3.7 本章小結(jié)
第4章 Xen Hypervisor技術(shù)實現(xiàn)
4.1 Xen Hypervisor關(guān)鍵技術(shù)概述
4.2 Hypercall
4.2.1 Hypercall的實現(xiàn)機制
4.2.2 自定義Hypercall的方法
4.2.3 應(yīng)用程序使用Hypercall的方法
4.3 事件通道
4.3.1 事件通道的初始化
4.3.2 事件通道的綁定
4.3.3 發(fā)送事件通知
4.3.4 事件通知的處理
4.4 數(shù)據(jù)共享
4.4.1 授權(quán)表(Grant table)
4.4.2 XenStore和XenBus
4.4.3 分離設(shè)備驅(qū)動
4.5 本章小結(jié)
第三篇 KVM虛擬化技術(shù)篇
第5章 qemu-kvm虛擬化解決方案
5.1 概述
5.2 內(nèi)核模塊組成概述
5.3 KVM所提供的API
5.4 KVM內(nèi)核模塊重要的數(shù)據(jù)結(jié)構(gòu)
5.4.1 KVM結(jié)構(gòu)體
5.4.2 kvm_vcpu結(jié)構(gòu)體
5.4.3 kvm_x86_ops結(jié)構(gòu)體
5.4.4 KVM API中重要的結(jié)構(gòu)體
5.5 KVM內(nèi)核模塊重要流程的分析
5.5.1 初始化流程
5.5.2 虛擬機的創(chuàng)建
5.5.3 vCPU的創(chuàng)建
5.5.4 vCPU的運行
5.6 qemu-kvm軟件架構(gòu)分析
5.6.1 QEMU的三種運行模式
5.6.2 libvirt和virt-manager
5.6.3 KVM的調(diào)試接口
5.7 本章小結(jié)
第6章 qemu-kvm原理與分析
6.1 QEMU軟件架構(gòu)
6.1.1 qemu-kvm的配置與編譯
6.1.2 qemu-kvm的架構(gòu)與配置
6.2 QEMU組件
6.2.1 模塊模型
6.2.2 libkvm模塊
6.2.3 virtio組件
6.3 基于KVM的QEMU PC Emulator
6.3.1 KVM中的Machine模塊
6.3.2 基于KVM加速支持的CPU虛擬化模塊
6.3.3 虛擬機的內(nèi)存管理
6.3.4 IO管理
6.4 本章小結(jié)
第四篇 虛擬化軟件開放接口
第7章 Xen API接口技術(shù)及實現(xiàn)
7.1 Xen Management API接口概述
7.2 XML-RPC工作原理
7.2.1 XML-RPC概述
7.2.2 XML-RPC請求
7.2.3 XML-RPC響應(yīng)
7.3 Xen Managemnet API的實現(xiàn)
7.3.1 C語言和Python語言的擴展與嵌入
7.3.2 Xen Management API類的定義
7.3.3 Xen Management API處理流程分析
7.4 本章小結(jié)
第8章 libvirt虛擬化控制中間件
8.1 libvirt概述
8.1.1 libvirt簡介及使用樣例
8.1.2 基于libvirt所開發(fā)的開源應(yīng)用
8.1.3 安裝與配置
8.2 libvirt架構(gòu)與開發(fā)
8.2.1 libvirt架構(gòu)說明
8.2.2 libvirt API控制接口
8.2.3 libvirt的主機域管理
8.2.4 libvirt的網(wǎng)絡(luò)架構(gòu)
8.2.5 libvirt的存儲管理
8.3 基于libvirt的XML配置解析
8.3.1 XML配置格式簡析
8.3.2 針對Xen的libvirt配置詳解
8.3.3 針對KVMQEMU的libvirt配置詳解
8.4 本章小結(jié)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: (1)缺頁異常的分類 我們首先介紹缺頁異常的分類,對于不同類型的缺頁異常,其處理方式往往也是不同的。常見的缺頁異常包括以下三類。 1)影子頁表初始化時的缺頁異常。 開始時,VMM中與客戶機操作系統(tǒng)所擁有的頁表相對應(yīng)的影子頁表是空的,但是影子頁表又是載入到物理CR3中真正為物理MMU所利用進(jìn)行尋址的頁表,因此,開始時任何的內(nèi)存訪問操作都會引起缺頁異常。如果客戶機操作系統(tǒng)為所訪問的客戶機虛擬地址分配了客戶機物理頁,即客戶機操作系統(tǒng)的當(dāng)前頁表中包含了從這個客戶機虛擬地址到已經(jīng)分配了的某一客戶機物理頁地址的映射,那么,正是由于影子頁表中相應(yīng)的從客戶機虛擬地址到宿主機物理地址的映射尚未初始化造成了這種異常的發(fā)生。處理這種異常的過程也就是完成影子頁表初始化的過程。 2)VMM將宿主機物理頁換出到硬盤上引發(fā)的缺頁異常。 VMM在客戶機操作系統(tǒng)不知情的情況下,將分配給客戶機的宿主機物理頁換出到硬盤上,那么,雖然客戶機操作系統(tǒng)為所訪問的客戶機虛擬地址分配了客戶機物理頁,但是由于VMM沒在影子頁表中為這個客戶機虛擬地址建立相應(yīng)的到宿主機物理地址的映射,便會引發(fā)缺頁異常。 3)客戶機上的缺頁異常。 如果客戶機操作系統(tǒng)尚未給這個客戶機虛擬地址分配客戶機物理頁,即相應(yīng)的客戶機操作系統(tǒng)頁表中沒有這個客戶機虛擬地址到某一客戶頁的映射,這時也會引發(fā)缺頁異常。此外,還有客戶機所訪問的客戶頁表項存在位(Present Bit)為0,或者寫一個只讀的客戶機物理頁,也會引起缺頁異常。 (2)影子頁表的缺頁處理機制 VMM首先截獲到缺頁異常的發(fā)生,并將發(fā)生異常的客戶機虛擬地址在客戶機頁表中對應(yīng)頁表項的訪問權(quán)限位與缺頁異常的錯誤碼進(jìn)行比較,從而檢查此缺頁異常是否是由客戶機本身引起的。對于由客戶機本身引起的缺頁異常,VMM將直接返回客戶機操作系統(tǒng),再由客戶機操作系統(tǒng)的缺頁異常處理機制來處理該缺頁異常;如果缺頁異常不是由客戶機引起的,那么它必定是由于客戶機頁表和影子頁表不一致,這樣的異常也叫“影子缺頁異?!?。對于影子缺頁異常,VMM會根據(jù)客戶機頁表同步影子頁表。同步影子頁表的過程如下。
編輯推薦
《虛擬化技術(shù)原理與實現(xiàn)》注重技術(shù)理論與應(yīng)用實踐的緊密結(jié)合,可供從事云計算技術(shù)研究開發(fā)、設(shè)備制造、咨詢設(shè)計、工程建設(shè)、運營維護與管理的技術(shù)人員和管理人員閱讀,也可供高等院校通信工程專業(yè)、計算機專業(yè)師生參考,還可作為IT培訓(xùn)機構(gòu)的培訓(xùn)參考書。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載