简介
虚拟化技术是云计算实现的关键技术,自“云计算”成为热点后,虚拟化技术就成为IT界的热门话题,本书向读者循序渐进地介绍虚拟化技术的基本知识和实践方法。 本书共分7章,内容包括虚拟化技术概述、虚拟化实现技术架构、QEMU核心模块配置、构建KVM环境、KVM高级功能详解、虚拟化管理工具和虚拟机开发。 本书以培养学生实践能力为目标,在阐述虚拟化技术基本理论知识的基础上,注重工程实践中的配置、安装及虚拟化技术的使用和理解。 本书适合作为高等院校计算机类专业的教材,也可作为开展云计算研究与应用的企事业单位的培训教材,以及云计算爱好者的自学用书。
目录
第1章 虚拟化技术概述 1
1.1 虚拟化技术简介 1
1.1.1虚拟化的基本概念 1
1.1.2虚拟化的目的 2
1.1.3云计算与虚拟化 4
1.1.4虚拟化历史沿革与未来
趋势 4
1.2 虚拟化分类 5
1.2.1硬件虚拟化 6
1.2.2软件虚拟化 7
1.2.3半虚拟化 9
1.2.4全虚拟化 10
1.3 操作系统与虚拟化 11
1.3.1系统级虚拟化 11
1.3.2Docker与系统虚拟化 13
小结 13
习题 13
第2章 虚拟化实现技术架构 15
2.1 处理器虚拟化实现技术 15
2.1.1Intel VT-x 16
2.1.2vCPU 18
2.1.3AMD SVM 19
2.2 内存虚拟化实现技术 19
2.2.1Intel EPT 21
2.2.2AMD NPT 22
2.3I/O虚拟化实现技术 23
2.3.1Intel VT-d 24
2.3.2IOMMU 27
2.3.3SR-IOV 28
2.4 网络虚拟化实现技术 29
2.4.1Linux Bridge网桥 30
2.4.2TUN/TAP设备 31
2.4.3MACVLAN/MACVTAP
设备 32
2.5 主流虚拟化方案及特点 33
2.5.1KVM虚拟化方案 33
2.5.2Xen虚拟化方案 36
2.5.3VMware虚拟化方案 38
2.5.4Hyper-V虚拟化方案 39
2.5.5VirtualBox虚拟化
方案 41
小结 41
习题 42
第3章 QEMU核心模块配置 43
3.1QEMU概述 43
3.1.1QEMU实现原理 43
3.1.2QEMU源码结构 44
3.1.3libkvm模块 44
3.2QEMU命令的基本格式 45
3.3CPU配置 46
3.3.1CPU设置基本参数 46
3.3.2CPU模型 48
3.4 内存配置 49
3.5 存储器配置 51
3.6 启动顺序配置 52
3.7QEMU支持的镜像文件
格式 53
3.8qemu-img命令 56
小结 59
习题 59
第4章 构建KVM环境 60
4.1KVM硬件基础配置 60
4.1.1宿主机BIOS设置 60
4.1.2宿主机操作系统设置 63
4.2 编译安装KVM 65
4.2.1下载KVM源码 65
4.2.2配置KVM 67
4.2.3编译KVM 70
4.2.4安装KVM 70
4.3 编译安装QEMU 72
4.3.1下载QEMU源码 73
4.3.2配置QEMU 75
4.3.3编译QEMU 77
4.3.4安装QEMU 78
4.4 启动*个KVM客户机 80
4.4.1安装客户机步骤 80
4.4.2启动*个KVM客
户机 84
4.5 网络配置 86
4.5.1网桥模式 87
4.5.2NAT模式 91
4.6 图形显示配置 95
4.7VNC的使用 96
4.7.1在宿主机中VNC的
使用 96
4.7.2在客户机中VNC的
使用 97
小结 98
习题 98
第5章 KVM高级功能详解 99
5.1 半虚拟化驱动 99
5.1.1virtio概述 99
5.1.2Linux下virtio的
支持 102
5.1.3Windows下的virtio
驱动 103
5.1.4virtio_balloon 115
5.1.5virtio_net 119
5.1.6virtio_blk 124
5.2 设备直接分配 125
5.2.1PCI/PCI-E设备 125
5.2.2SR-IOV 126
5.2.3USB设备透传 129
5.3 热插拔 131
5.3.1内存热插拔 131
5.3.2CPU热插拔 132
5.4 动态迁移 133
5.4.1虚拟机迁移概述 133
5.4.2虚拟机迁移的分类与
原理 134
5.4.3主流虚拟机迁移工具 137
5.4.4KVM虚拟机动态迁移 139
5.5 嵌套虚拟化 141
5.5.1嵌套虚拟化的基本
概念 141
5.5.2KVM嵌套虚拟化
步骤 142
5.6KSM技术 147
5.6.1KSM技术概述 147
5.6.2KSM实现原理 148
5.6.3KSM操作实践 149
5.7KVM的其他特性 151
5.7.1大页 151
5.7.2透明大页 152
5.7.3CPU特性 154
5.8KVM的安全机制 156
5.8.1KVM虚拟化的安全
威胁 157
5.8.2KVM虚拟化的安全
技术架构 158
5.8.3KVM常见安全
措施 159
5.9QEMU监控器 161
5.9.1QEMU Monitor配置 162
5.9.2QEMU Monitor常用
命令 163
小结 165
习题 165
第6章 虚拟化管理工具 166
6.1libvirt概述 166
6.1.1libvirt简介 166
6.1.2libvirt的编译和安装 169
6.2virsh简介 174
6.3libvirt的启动与配置 176
6.3.1libvirt的启动 176
6.3.2libvirt的配置文件 177
6.4libvirt域的XML配置
文件 179
6.4.1配置文件格式 179
6.4.2域的配置 181
6.4.3内存、CPU、启动顺序
等配置 181
6.4.4设备配置 182
6.4.5其他配置 183
6.5virsh常用命令 184
6.5.1通用命令 184
6.5.2域相关命令 184
6.5.3存储池相关命令 186
6.5.4存储卷相关命令 186
6.5.5快照相关命令 186
6.6libvirt API简介 187
6.7libvirt API使用实例 188
6.7.1建立到Hypervisor的
连接 188
6.7.2使用libvirt API查询
某个域的信息 190
6.7.3编译运行libvirt-conn.c
并使用virsh查看当前
结点情况 192
6.8virt-manager 194
6.8.1virt-manager的编译和
安装 195
6.8.2virt-manager的使用 196
小结 202
习题 202
第7章 虚拟机开发 203
7.1 搭建KVM虚拟化环境 203
7.1.1配置宿主机 203
7.1.2部署KVM虚拟机 204
7.1.3QEMU下载和安装 208
7.1.4开发要点 209
7.2 建立虚拟机镜像 210
7.2.1Windows 7镜像 210
7.2.2Ubuntu14.04镜像 212
7.2.3开发要点 216
7.3 启动虚拟机 216
7.3.1在宿主机上使用VNC方式启动虚拟机 216
7.3.2在Windows上使用VNC Viewer连接虚拟机 220
7.3.3 开发要点 221
小结 222
习题 222
参考文献 223
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问