前言
第1章 虛擬化與雲計算 1
1.1 雲計算概念 1
1.1.1 發展曆史和現狀 1
1.1.2 概念 2
1.1.3 雲計算模式 3
1.2 雲計算技術 4
1.2.1 Map/Reduce 4
1.2.2 資源管理平颱 5
1.2.3 虛擬化 5
1.3 虛擬化技術 5
1.3.1 軟件虛擬化和硬件虛擬化 6
1.3.2 準虛擬化與全虛擬化 8
1.4 KVM簡介 9
1.4.1 KVM的曆史 9
1.4.2 KVM功能概覽 9
1.4.3 KVM的前景 11
1.5 Xen簡介 11
1.5.1 Xen的曆史 11
1.5.2 Xen功能概覽 12
1.5.3 Xen的前景 13
1.6 其他虛擬化方案簡介 13
1.6.1 VMware 14
1.6.2 VirtualBox 14
1.6.3 Hyper-V 15
1.7 本章小結 15
1.8 本章注釋 15
第2章 KVM原理簡介 17
2.1 Linux操作係統簡介 17
2.2 虛擬化模型 18
2.3 KVM架構 19
2.4 KVM模塊 21
2.5 QEMU設備模型 22
2.6 Intel虛擬化技術 22
2.7 本章小結 23
第3章 構建KVM環境 24
3.1 硬件係統的配置 24
3.2 安裝宿主機Linux係統 26
3.3 編譯和安裝KVM 28
3.3.1 下載KVM源代碼 28
3.3.2 配置KVM 30
3.3.3 編譯KVM 33
3.3.4 安裝KVM 35
3.4 編譯和安裝qemu-kvm 37
3.4.1 下載qemu-kvm源代碼 37
3.4.2 配置和編譯qemu-kvm 38
3.4.3 安裝qemu-kvm 39
3.5 安裝客戶機 40
3.6 啓動第一個KVM客戶機 42
3.7 本章小結 43
3.8 本章注釋和參考閱讀 44
第4章 KVM核心基礎功能 45
4.1 硬件平颱和軟件版本說明 45
4.2 CPU配置 48
4.2.1 vCPU的概念 48
4.2.2 SMP的支持 49
4.2.3 CPU過載使用 54
4.2.4 CPU模型 55
4.2.5 進程的處理器親和性和vCPU的綁定 57
4.3 內存配置 61
4.3.1 內存設置基本參數 61
4.3.2 EPT和VPID簡介 64
4.3.3 大頁(Huge Page) 66
4.3.4 內存過載使用 68
4.4 存儲配置 70
4.4.1 存儲配置和啓動順序 70
4.4.2 qemu-img命令 75
4.4.3 QEMU支持的鏡像文件格式 78
4.4.4 客戶機存儲方式 80
4.5 網絡配置 82
4.5.1 QEMU支持的網絡模式 83
4.5.2 使用網橋模式 85
4.5.3 使用NAT模式 90
4.5.4 QEMU內部的用戶模式網絡 98
4.5.5 其他網絡選項 102
4.6 圖形顯示 103
4.6.1 SDL的使用 103
4.6.2 VNC的使用 105
4.6.3 VNC顯示中的鼠標偏移 112
4.6.4 非圖形模式 113
4.6.5 顯示相關的其他選項 115
4.7 本章小結 116
4.8 本章注釋和參考閱讀 116
第5章 KVM高級功能詳解 120
5.1 半虛擬化驅動 120
5.1.1 virtio概述 120
5.1.2 安裝virtio驅動 122
5.1.3 使用virtio_balloon 128
5.1.4 使用virtio_net 133
5.1.5 使用virtio_blk 137
5.1.6 kvm_clock配置 138
5.2 設備直接分配(VT-d) 140
5.2.1 VT-d概述 140
5.2.2 VT-d環境配置 141
5.2.3 VT-d操作示例 150
5.2.4 SR-IOV技術 160
5.3 熱插拔 170
5.3.1 PCI設備熱插拔 170
5.3.2 PCI設備熱插拔示例 171
5.3.3 CPU和內存的熱插拔 176
5.4 動態遷移 177
5.4.1 動態遷移的概念 177
5.4.2 動態遷移的效率和應用場景 178
5.4.3 KVM動態遷移原理和實踐 180
5.4.4 VT-d/SR-IOV的動態遷移 187
5.5 嵌套虛擬化 188
5.5.1 嵌套虛擬化的基本概念 188
5.5.2 KVM嵌套KVM 188
5.6 KSM技術 191
5.6.1 KSM基本原理 191
5.6.2 KSM操作實踐 193
5.7 KVM其他特性簡介 197
5.7.1 1GB大頁 197
5.7.2 透明大頁 200
5.7.3 AVX和XSAVE 203
5.7.4 AES新指令 205
5.7.5 完全暴露宿主機CPU特性 210
5.8 KVM安全 212
5.8.1 SMEP 212
5.8.2 控製客戶機的資源使用—cgroups 213
5.8.3 SELinux和sVirt 220
5.8.4 可信任啓動—Tboot 228
5.8.5 其他安全策略 237
5.9 QEMU監控器 241
5.9.1 QEMU monitor的切換和配置 241
5.9.2 常用命令介紹 242
5.10 qemu-kvm命令行參數 249
5.10.1 迴顧已用過的參數 249
5.10.2 其他常用參數 253
5.11 遷移到KVM虛擬化環境 261
5.11.1 virt-v2v工具介紹 261
5.11.2 從Xen遷移到KVM 262
5.11.3 從VMware遷移到KVM 265
5.11.4 從VirtualBox遷移到KVM 266
5.11.5 從物理機遷移到KVM虛擬化環境(P2V) 266
5.12 本章小結 267
5.13 注釋和參考閱讀 268
第6章 KVM管理工具 272
6.1 libvirt 272
6.1.1 libvirt簡介 272
6.1.2 libvirt的編譯、安裝和配置 275
6.1.3 libvirt和libvirtd的配置 281
6.1.4 libvirt域的XML配置文件 285
6.1.5 libvirt API簡介 297
6.1.6 建立到Hypervisor的連接 299
6.1.7 libvirt API使用示例 303
6.2 virsh 308
6.2.1 virsh簡介 308
6.2.2 virsh常用命令 310
6.3 virt-manager 316
6.3.1 virt-manager簡介 316
6.3.2 virt-manager編譯和安裝 317
6.3.3 virt-manager使用 317
6.4 virt-viewer、virt-install和virt-top 324
6.4.1 virt-viewer 324
6.4.2 virt-install 325
6.4.3 virt-top 327
6.5 OpenStack雲計算平颱 327
6.5.1 OpenStack簡介 327
6.5.2 使用DevStack安裝和配置OpenStack開發環境 330
6.5.3 在OpenStack中使用KVM 332
6.6 本章小結 334
6.7 本章注釋和參考閱讀 334
第7章 Linux發行版中的KVM 336
7.1 RHEL和Fedora中的KVM 336
7.1.1 Red Hat、RHEL、Fedora和CentOS簡介 336
7.1.2 RHEL中的KVM 337
7.1.3 Fedora中的KVM 338
7.2 SLES和openSUSE中的KVM 339
7.2.1 SLES中的KVM 339
7.2.2 openSUSE中的KVM 341
7.3 Ubuntu中的KVM 341
7.4 本章小結 343
7.5 本章注釋和參考閱讀 344
第8章 KVM性能測試及參考數據 345
8.1 虛擬化性能測試簡介 345
8.2 CPU性能測試 347
8.2.1 CPU性能測試工具 347
8.2.2 測試環境配置 349
8.2.3 性能測試方法 350
8.2.4 性能測試數據 352
8.3 內存性能測試 354
8.3.1 內存性能測試工具 355
8.3.2 測試環境配置 356
8.3.3 性能測試方法 356
8.3.4 性能測試數據 357
8.4 網絡性能測試 360
8.4.1 網絡性能測試工具 360
8.4.2 測試環境配置 361
8.4.3 性能測試方法 362
8.4.4 性能測試數據 364
8.5 磁盤I/O性能測試 367
8.5.1 磁盤I/O性能測試工具 367
8.5.2 測試環境配置 368
8.5.3 性能測試方法 369
8.5.4 性能測試數據 370
8.6 本章小結 373
8.7 本章注釋和參考閱讀 373
第9章 參與KVM開源社區 375
9.1 開源社區介紹 375
9.1.1 Linux開源社區 375
9.1.2 KVM開源社區 377
9.1.3 QEMU開源社區 377
9.1.4 其他開源社區 378
9.2 代碼結構簡介 379
9.2.1 KVM代碼 379
9.2.2 QEMU代碼 381
9.2.3 KVM單元測試代碼 383
9.2.4 KVM Autotest代碼 385
9.3 嚮開源社區貢獻代碼 386
9.3.1 開發者郵件列錶 386
9.3.2 代碼風格 387
9.3.3 生成patch 391
9.3.4 檢查patch 394
9.3.5 提交patch 396
9.4 提交KVM相關的bug 399
9.4.1 通過郵件列錶提交bug 399
9.4.2 使用bug管理係統提交bug 401
9.4.3 使用二分法定位bug 401
9.5 本章小結 404
9.6 本章注釋和參考閱讀 404
· · · · · · (
收起)