第1章 Xen背景和虚拟化基本原理 1
1.1虚拟化的特征和优势 1
1.2虚拟化技术的类型 3
1.2.1仿真 4
1.2.2完全虚拟化技术 4
1.2.3半虚拟化技术 5
1.2.4操作系统级虚拟化技术 6
1.2.5其他虚拟化技术 8
1.2.6虚拟化技术类型概括 8
1.3虚拟化技术的历史 9
1.3.1 IBM大型机 9
1.3.2商业硬件的虚拟化 10
1.3.3对x86体系结构虚拟化的扩充 10
1.3.4 Xen的起源和时间表 10
1.4其他的虚拟化系统 12
1.4.1仿真(Emulation) 12
1.4.2完全虚拟化 13
1.4.3半虚拟化 14
1.4.4操作系统级虚拟化 15
1.4.5流行的虚拟化产品 16
小结 17
参考文献和扩展阅读 18
第2章 使用Xen LiveCD进行快速漫游 19
2.1运行LiveCD 19
2.2第1步:下载LiveCD镜像,并创建光盘 20
2.3第2步:从GRUB菜单中选择Domain0镜像 21
2.4第3步:登录和桌面 22
2.5第4步:创建客户机 24
2.6第5步:删除一个客户机 28
2.7第6步:与你的客户机交互 28
2.8第7步:测试网络 31
2.9太多客户机了 33
小结 34
参考文献和扩展阅读 34
第3章 The Xen Hypervisor 35
3.1 Xen Hypervisor 35
3.2特权管理 36
3.3 Domain0 38
3.4 Xen的启动选项 39
3.5为Domain0选择合适的操作系统 45
3.6 xend 45
3.6.1 xend的管理 45
3.6.2 xend的日志 46
3.6.3 xend的配置 48
3.7 XenStore 51
小结 56
参考文献和扩展阅读 57
第4章 安装Xen Domain0的方法和硬件要求 58
4.1 Xen Domain0的处理器要求 58
4.1.1.Intel VT 59
4.1.2 AMD-V 59
4.1.3 HVM 60
4.2推荐的硬件设备支持 60
4.2.1磁盘和控制器 60
4.2.2网络设备 61
4.2.3显卡设备 61
4.2.4电源管理 62
4.2.5对不支持的硬件的帮助 62
4.3内存要求 62
4.4选择并获取Xen的一个版本 64
4.4.1开源的发行版 64
4.4.2商业支持的选择 65
4.5安装Domain0宿主机的方法 66
4.6 Linux发行版 67
4.6.1 OpenSUSE 68
4.6.2 CentOS 70
4.6.3 Ubuntu 76
4.6.4二进制包的Xen 79
4.6.5 Gentoo 83
4.7 XenExpress 88
4.8非Linux Domain0的安装 90
4.9从源码编译安装 91
小结 93
参考文献和扩展阅读 93
第5章 使用Prebuilt Guest镜像 95
5.1介绍DomU Guest 95
5.1.1 Guest镜像 95
5.1.2操作系统内核 96
5.1.3配置文件 96
5.2使用Prebuilt Guest镜像 100
5.2.1Guest镜像的类型 100
5.2.2下载Prebuilt Guest镜像 102
5.2.3挂载和引导Prebuilt镜像 102
5.2.4下载压缩文件(Compressed File)Guest镜像 114
5.3转换其他虚拟化平台的镜像 127
小结 127
参考文献和扩展阅读 128
第6章 管理非特权级Domain 130
6.1xm命令的介绍 130
6.1.1运行xm命令的先决条件 130
6.1.2 xm命令的普通格式 131
6.2 xm list子命令 132
6.2.1基本的List信息 132
6.2.2列出关于一个特定的Guest的信息 134
6.2.3 long选项 135
6.2.4 Label选项 136
6.2 xm create子命令 136
6.3.1运行xm create命令的先决条件 136
6.3.2 xm create的简单例子 137
6.4 Guest配置文件 139
6.4.1 Python格式 140
6.4.2常用的配置选项 140
6.4.3 S-Expression(SXP)格式 142
6.4.4配置文件的路径 142
6.5诊断Guest创建的问题 143
6.5.1 Dry Run 143
6.5.2控制台输出 144
6.5.3问题实例 145
6.6自动启动DomU 151
6.7关闭Guest Domain 152
6.7.1 xm shutdown 152
6.7.2 xm reboot 155
6.7.3 xm destroy 156
6.8中止Domain 158
6.8.1 xm pause 158
6.8.2 xm unpause 159
6.9以非图形化方式同Guest交互 159
6.9.1 xm console 160
6.9.2 SSH 161
6.10以图形化的方式同Guest交互 162
6.10.1使用SSH的X Forwarding 162
6.10.2 SSH服务器和客户端的配置 163
6.10.3 VNC 164
6.10.4虚拟帧缓冲和集成的VNC/SDL库 166
6.10.5 Freenx 169
6.10.6远程桌面 169
小结 171
参考文献和扩展阅读 171
第7章 制作Guest镜像 172
7.1硬件虚拟机(HVM)Guest的制作 172
7.1.1用一个光盘或光盘镜像(以Windows XP为例)制作一个Guest镜像 173
7.1.2用virt-install自动制作Guest镜像 178
7.2半虚拟化(PV) Guest的制作 181
7.2.1OpenSUSE : YaST虚拟机管理工具 182
7.2.2 CentOS/Fedora:virt-manager 184
7.2.3 Debian/Ubuntu:debootstrap 192
7.2.4 Gentoo:quickpkg和domi脚本 194
7.2.5 Xen Express 203
7.3 Guest镜像的定制 210
7.3.1定制主机名 210
7.3.2定制用户 210
7.3.3定制软件包和服务 211
7.3.4定制文件系统表(/etc/fstab) 211
7.4转换已经安装的OS 212
小结 216
参考文献和扩展阅读 216
第8章 客户映像的存储 219
8.1逻辑卷 219
8.1.1基本的LVM使用 220
8.1.2重新设置映像大小 222
8.1.3使用写时复制的映像快照技术 225
8.2网络镜像存储的选择 226
8.2.1 iSCSI 227
8.2.2 ATA over Ethernet (AoE) 231
8.2.3 NFS 234
8.2.4比较网络存储选择 237
8.2映像文件 237
8.3.1准备压缩存档映像文件 237
8.3.2准备磁盘映像文件 238
8.3.3准备客户分区映像文件 246
8.3.4挂载磁盘和分区映像 247
小结 249
参考文献和扩展阅读 249
第9章 设备虚拟化及其管理 252
9.1设备虚拟化 252
9.1.1半虚拟化设备 252
9.1.2全虚拟化设备 253
9.1.3不虚拟化的设备 253
9.2前端和后端 253
9.2.1 Xenstore中的后端信息 255
9.2.2 Xenstore中的前端信息 256
9.3 PCI设备的授权控制 257
9.3.1标识PCI设备 257
9.3.2在启动时对Domain 0隐藏PCI设备 258
9.3.3在运行时手动绑定/解除PCI设备 259
9.3.4授权PCI设备给其他domain 259
9.4可信domain的专用设备访问 260
9.4.1专用的设备访问 261
9.4.2可信的driver domain 261
9.4.3使用可信driver domain的问题 262
9.5 Qemu-dm的设备仿真 263
9.6将来的方向 264
9.6.1更多的设备 264
9.6.2智能设备 264
小结 264
参考文献和扩展阅读 265
第10章 网络配置 266
10.1网络虚拟化回顾 266
10.2设计虚拟网络的拓扑结构 267
10.3桥接,路由和网络地址转换 268
10.4前后端网卡驱动和命名 271
10.5 Xen网络配置概述 272
10.5.1大体步骤 272
10.5.2 Xend配置文件 273
10.5.3客户domain的配置文件 274
10.6桥模式细节 275
10.6.3桥连接配置实例 276
10.6.2测试结果 281
10.7路由模式细节 283
10.7.1路由模式配置实例 284
10.7.2测试结果 289
10.8关于网络地址转换模型的细节 291
10.8.1 NAT配置的一些例子 292
10.8.2测试结果 296
10.9配置纯虚拟化的网段 298
10.9.1配置dummy0 299
10.9.2测试dummy0 300
10.9.3配置dummy网桥 301
10.9.4测试Dummy网桥 302
10.10将MAC地址分配到虚拟网络接口中 303
10.10.1MAC地址 304
10.10.2通过指定或自动生成guest domain的MAC地址 304
10.11分配IP地址 305
10.11.1Guest domain通过外部动态分配服务器获得IP地址 306
10.11.2手动设置guest domain的IP地址 306
10.11.3 Guest Domain通过内部动态分配服务器获取IP地址 307
10.12在一个Domain中处理多个网络接口 308
10.12.1在driver domain中处理多个网络接口 308
10.12.2在guest domain中处理多个网络接口 309
10.13 Vnet-Domain虚拟网络 312
10.13.1安装vnet 313
10.13.2运行vnet 313
小结 315
参考文献和扩展阅读 315
第11章 安全的Xen系统 317
11.1安全系统的结构 317
11.1.1特殊目的的虚拟机 317
11.1.2创建虚拟网段 318
11.2特权Domain的安全性 318
11.2.1移除软件和服务 318
11.2.2限制远程访问 319
11.2.3限制本地用户 322
11.2.4将设备驱动移入driver domain 322
11.3防火墙和网络监视器 322
11.3.1运行iptable防火墙 322
11.3.2 iptable的回顾 323
11.3.3 iptables的配置 323
11.3.4一个iptable的例子 324
11.3.5 Snort 327
11.4通过SHype的代理访问控制和Xen的安全模块 330
11.4.1 SHype 330
11.4.2把SHype加入Xen 331
11.4.3配置SHype策略 332
11.4.4 Xen的安全模块XSM 338
11.5 Dom U的安全 339
11.5.1只在需要的时候运行VM 339
11.5.2 VM映像的备份 339
11.5.3 VM备份和restore的威胁 340
小结 340
参考文献和扩展阅读 340
第12章 管理客户机资源 342
12.1获取客户机与Hypervisor信息 342
12.1.1xm info 342
12.1.2 xm dmesg 346
12.1.3 xm log 347
12.1.4 xm top 348
12.1.5 xm uptime 351
12.2分配客户机内存 351
12.2.1影子页表 352
12.2.2气球驱动程序 353
12.2.3改进交换空间的稳定性 355
12.2.4管理客户机内存的分配 355
12.3管理客户机虚拟CPU 358
12.3.1比较虚拟、逻辑和物理处理器 358
12.3.2 HVM VCPU管理 360
12.3.3 VCPU子命令 360
12.3.4何时手工管理VCPU 362
12.4协调H ypervisor调度器 362
12.4.1 Weight和Cap 363
12.4.2保护客户机不受异常客户机的影响 364
12.4.3应用信用调度器命令 364
12.5选择客户机I/O调度器 365
12.5.1 Noop调度器 365
12.5.2 Deadline调度器 365
12.5.3 Anticipatory调度器(as) 366
12.5.4 Complete Fair Queuing调度器(cfq) 366
12.5.5应用I/O调度器 366
小结 368
参考文献和扩展阅读 368
第13章 客户机的保存、恢复和动态迁移 370
13.1描绘虚拟机状态 370
13.2基本客户机域的保存和恢复 371
13.2.1 xm save 372
13.2.2 xm restore 374
13.2.3可能的保存错误和恢复错误 375
13.3客户机迁移类型 376
13.3.1静态冷迁移 377
13.3.2静态暖(规则)迁移 378
13.3.3动态迁移 379
13.4为xm migrate做准备 380
13.4.1配置xend 381
13.4.2网络上源与目的的接近度 384
13.4.3网络可访问的存储 384
13.4.4客户机域的配置 385
13.4.5对版本和物理资源的要求 386
13.5了解xm migrate 386
13.5.1 xm migrate 386
13.5.2对静态暖迁移应用xm migrate 387
13.5.3对动态迁移应用xm migrate 388
13.5.4可能的迁移错误 390
小结 391
参考文献和扩展阅读 391
第14章 Xen企业管理工具概述 392
14.1针对Xen hypervisor的可编程接口 392
14.1.1 Libvirt 392
14.1.2 Xen-CIM 393
14.1.3 Xen API 393
14.1.4 Xend的传统接口 393
14.2 Citrix XenServer Enterprise、 Standard和XenExpress版本 394
14.3 Virtual Iron 396
14.4 IBM的Virtualization Manager 397
14.5 Enomalism 398
14.6 virt-manager 400
14.7 XenMan 403
14.8管理多系统 406
小结 407
参考文献和扩展阅读 407
附录A资源 409
Xen社区 409
Xen维基百科 410
Xen邮件清单和错误报告 411
Xen峰会 412
Xen源码 413
学术论文和会议 415
专用资源分配 416
附录B xm命令 418
附录C Xen配置参数 422
附录D 客户机配置参数 424
附录E Xen的性能评价 427
Xen的性能测量 427
Xen团队的结果的可重复性 428
Xen和虚拟网主机 429
在早期PC硬件上比较XenoLinux和native Linux 431
在x86上运行Xen与在IBM zServer上运行Xen 432
Xen的隔离性能 434
Xen虚拟网络和实体网络的性能 436
小结 438