深度實踐KVM

深度實踐KVM

《深度實踐KVM》,作者肖力/汪愛偉/楊俊俊/趙德祿,由機械工業出版社於2015年9月出版。

內容簡介

虛擬化技術是大數據和雲計算套用中的核心技術,經過幾年的友展,KVM已經非常成熟和穩定,逐漸取代Xen等商業虛擬化技術和產品,成為該領域事實上的標準。因為採用KVM技術的業務規模都比較大,生產環境大多比較複雜,加上KVM整個技術生態中涉及的技術較多,使用起來有一定的門檻,企業的學習成本較高。

當KVM技術在國內鮮有人使用時,本書作者團隊就開始鑽研並在生產環境中使用,短短几年內,就為公司節省了上億的運莒成本,幫助公司多個處於生命周期末的遊戲項目實現扭虧為盈。本書中所有的知識和經驗都來自國內一線的網際網路公司的生產環境,比如金山西山居、盛大遊戲等,最大的特點就是業務規模大、環境複雜,非常具有代表性,極為珍貴。

本書從多個維度詳細講解了KVM虛擬化原理、技術及性能調優、軟硬體選型,生產環境虛擬化項目實施方法,開源管理平台介紹及部署,虛擬化後端存儲方案,開源分散式檔案系統GIusterFS、Ceph在虛擬化中的使用方法,虛擬化監控、報警、應急方案的制定,並附有大量生產環境案例。

作者簡介

肖力,資深運維專家,擁有15年運維經驗,就職於金山西山居,擔任系統運維經理,曾就職於盛大遊戲,在運維圈有極大的影響力。國內KVM專家,從2009年開始研究KVM技術,是國內較早在生產環境大規模實踐KVM的人之一,積累了非常豐富的經驗。

熱衷於技術傳播,一直在無私地為運維領域的發展做貢獻,維護有微信訂閱號“KVM虛擬化實踐”,分享了大量KVM和運維領域的乾貨內容,同時還運營著多個運維相關的微信群。此外,他還是華章“運維前線”系列圖書的總策劃,無償地在組織大量願意無私分享經驗的運維工程師們來參與寫作。

汪愛偉,資深運維專家,安居客資深系統工程師,曾就職於阿里雲、UCloud、盛大遊戲等知名網際網路公司。對KVM技術有深入的研究,在虛擬化集群方面有豐富的生產環境經驗,擅長KVM虛擬化項目的實施和運維。

楊俊俊,資深虛擬化技術專家和運維工程師,就職於盛大,擔任盛大遊戲公有雲“G雲”運維負責人和Intel聯合實驗室技術負責人,曾任職51.com,精通虛擬化項目的評估與實施,精通開源分散式檔案系統在生產環境的運維與實踐。

趙德祿,資深運維工程師和虛擬化工程師,就職於攜程,擔任高級雲平台運維工程師,曾就職於盛大遊戲,擔任資深虛擬化工程師。精通KVM、OpenStack、OpenvSwitch、桌面虛擬化等技術,在生產環境下的實踐經驗非常豐富。

書籍目錄

本書讚譽
前 言
第一篇 KVM技術詳解與實踐
第1章 企業虛擬化選型與KVM介紹 2
1.1 KVM的前世今生 2
1.2 KVM與常用企業級虛擬化產品的PK 7
1.3 判斷企業是否適合使用KVM的標準 9
1.4 本章小結 10
第2章 開始自己的第一台虛擬機 11
2.1 伺服器BIOS設定 11
2.2 宿主機CentOS6.5、CentOS 7系統安裝與配置技巧 13
2.3 第一台虛擬機安裝 15
2.4 本章小結 21
第3章 CPU、記憶體虛擬化技術與套用場景 22
3.1 NUMA技術與套用 22
3.1.1 KVM虛擬機NUMA調優 24
3.1.2 CPU綁定操作方法 27
3.2 CPU熱添加與套用 32
3.3 CPU host-passthrough 技術與套用 36
3.4 CPU Nested 技術與配置方法 38
3.5 KSM技術與套用 39
3.6 記憶體氣球技術詳解與套用 40
3.7 記憶體限制技術與套用 43
3.8 巨型頁記憶體技術與套用 44
3.9 本章小結 47
第4章 網路虛擬化技術與套用場景 48
4.1 半虛擬化網卡技術詳解 48
4.1.1 半虛擬化網卡的配置 49
4.1.2 全虛擬化網卡、半虛擬化網卡性能比較 50
4.1.3 全虛擬化網卡、半虛擬化網卡的套用場景 63
4.2 MacVTap和vhost-net技術原理與套用 63
4.2.1 MacVTap技術與套用 64
4.2.2 vhost_net技術 66
4.3 網卡的中斷與多佇列 66
4.4 網卡PCI Passthrough技術 71
4.5 SR-IVO虛擬化技術 72
4.6 虛擬化軟體交換機Open vSwitch的安裝與配置 75
4.6.1 Open vSwitch安裝 75
4.6.2 Open vSwitch典型配置 77
4.7 多網卡綁定與建橋 79
4.8 本章小結 82
第5章 KVM磁碟虛擬化技術與套用場景 83
5.1 磁碟虛擬化方式性能比較與套用場景 83
5.1.1 QEMU磁碟虛擬化方式概述 83
5.1.2 IDE與Virtio性能比較測試 84
5.2 Virtio磁碟快取方式詳解、性能比較與套用場景 85
5.2.1 磁碟快取詳解 86
5.2.2 快取方式的性能比較測試 87
5.2.3 快取方式的套用場景 89
5.3 磁碟鏡像格式 89
5.3.1 QEMU支持的磁碟鏡像格式 89
5.3.2 裸設備使用 96
5.3.3 KVM虛擬機鏡像管理利器guestfish 97
5.3.4 raw、qcow2、裸盤、lvm性能比較 106
5.3.5 磁碟鏡像格式的套用場景 107
5.4 檔案系統塊對齊 108
5.4.1 什麼是塊對齊 108
5.4.2 塊對齊與塊不對齊性能比較 109
5.4.3 生產環境如何配置塊對齊 110
5.5 SSD在KVM虛擬化中的使用實踐 111
5.5.1 SSD原理與寫放大 111
5.5.2 SSD在KVM中的使用 112
5.5.3 Flachcache配置與性能測試 117
5.5.4 DM-cache配置 120
5.5.5 LVM cache配置與性能測試 122
5.5.6 生產環境中SSD使用要點 123
5.6 本章小結 126
第6章 KVM虛擬機的資源限制 127
6.1 哪些場景要做虛擬機的資源限制 127
6.2 使用CGroups 130
6.3 KVM虛擬機CPU資源限制配置 142
6.4 KVM虛擬機網路資源限制 144
6.5 KVM虛擬機磁碟資源限制 150
6.6 本章小結 151
第7章 物理機轉虛擬機實踐 152
7.1 哪些套用場景適合做物理機轉虛擬機 152
7.2 P2V的技術實施方案 152
7.3 Windows系統物理機轉虛擬機的操作方法 153
7.3.1 WinPE的製作方法 153
7.3.2 Windows系統P2V操作方法 155
7.4 Linux物理伺服器轉換虛擬機操作 155
7.5 使用virt-p2v工具進行P2V轉換 157
7.6 P2V經驗總結 160
7.7 關於V2V 160
7.8 本章小結 160
第8章 KVM桌面虛擬化實踐 161
8.1 桌面虛擬化簡介及Spice協定 161
8.2 桌面虛擬化實踐經驗 162
8.3 本章小結 167
第二篇 分散式檔案系統
第9章 幾種常見開源檔案系統在KVM中的套用 170
9.1 演示環境基礎配置 170
9.2 DRBD在KVM中的套用 172
9.2.1 DRBD介紹 172
9.2.2 DRBD搭建方法及在KVM中的套用 173
9.2.3 DRBD在KVM虛擬化中的最佳化方案 183
9.3 GlusterFS在KVM虛擬化中的套用 184
9.3.1 GlusterFS介紹 184
9.3.2 GlusterFS集群搭建與使用 189
9.3.3 GlusterFS在KVM虛擬化中的套用 195
9.3.4 GlusterFS在KVM虛擬化中的最佳化方案 198
9.4 Sheepdog在KVM中的套用 199
9.4.1 Sheepdog介紹 199
9.4.2 Sheepdog搭建方法及在KVM中的套用 201
9.5 MooseFS在KVM中的套用 207
9.5.1 MooseFS介紹 208
9.5.2 MFS搭建方法及在KVM虛擬化中的套用 208
9.6 本章小結 213
第10章 Ceph在KVM虛擬化中的套用與故障處理 214
10.1 Ceph簡介 214
10.2 Ceph部署方法及在KVM中的套用 217
10.2.1 使用ceph-deploy工具部署Ceph 217
10.2.2 掛載CephFS 221
10.2.3 通過Librbd方式使用Ceph RBD 223
10.2.4 使用核心方式掛載並使用Ceph RBD 226
10.3 CRUSH算法介紹及調優方法 228
10.3.1 CRUSH算法介紹 228
10.3.2 CRUSH算法調優方法 230
10.4 多角度評估Ceph在KVM虛擬化環境中的套用 234
10.5 Ceph生產環境搭建案例 240
10.5.1 使用CephFS集中備份虛擬機 240
10.5.2 使用Librbd將虛擬機運行在Ceph RBD 241
10.5.3 在CephFS上創建qcow2檔案作為雲硬碟 242
10.6 Ceph常見故障處理 242
10.6.1 Ceph集群監控狀態檢查 243
10.6.2 Ceph常見錯誤提示的含義與處理方法 244
10.7 本章小結 245
第三篇 KVM虛擬化管理平台
第11章 利用OpenStack管理KVM 248
11.1 OpenStack搭建 248
11.1.1 OpenStack簡介 248
11.1.2 控制節點的安裝 249
11.1.3 計算節點的安裝 266
11.2 OpenStack實用技巧 269
11.2.1 RabbitMQ Cluster搭建 269
11.2.2 利用Haproxy和Keepalived實現控制節點高可用 271
11.2.3 冷遷移虛擬機的方法 277
11.3 本章小結 277
第12章 利用OpenNebula管理KVM 278
12.1 OpenNebula架構 278
12.1.1 OpenNebula架構介紹 278
12.1.2 OpenNebula組件介紹 279
12.2 在KVM中使用OpenNebula 280
12.2.1 在CentOS 6.5上快速搭建OpenNebula 280
12.2.2 使用OpenNebula創建第一台KVM虛擬機 285
12.2.3 使虛擬機硬碟創建在宿主機本地硬碟上 288
12.3 OpenNebula常見故障處理 291
12.4 本章小結 293
第13章 其他管理平台介紹 294
13.1 ConVirt管理平台介紹 294
13.1.1 ConVirt的理念 294
13.1.2 ConVirt的架構 295
13.2 CloudStack管理平台介紹 295
13.3 oVirt管理平台介紹 297
13.4 WebVirtMgr管理平台介紹 299
13.5 如何選擇管理平台 303
13.6 本章小結 304
第四篇 KVM虛擬化項目實施
第14章 業務性能評估與壓力模型建立 306
14.1 Linux 系統性能數據採集原則與方法 306
14.2 Linux 系統壓力模型建立 311
14.3 Windows系統性能數據採集原則與方法 314
14.4 Windows 系統壓力模型建立 317
14.5 本章小結 319
第15章 宿主機選型與基礎性能測試 320
15.1 宿主機CPU選型原則 320
15.2 宿主機記憶體選型注意事項 322
15.3 宿主機硬碟選型 324
15.4 RAID卡選型 326
15.5 伺服器網卡選型 327
15.6 宿主機性能基準測試實踐 328
15.7 本章小結 345
第16章 虛擬機鏡像製作、配置與測試 346
16.1 Windows虛擬機製作方法 346
16.1.1 Windows鏡像製作 346
16.1.2 Windows虛擬機sysprep初始化封裝 361
16.2 Linux鏡像製作方法 362
16.2.1 RHEL/CentOS鏡像製作方法 362
16.2.2 Ubuntu、Debian虛擬機配置注意點 364
16.3 虛擬機自動配置IP的實現辦法 365
16.3.1 通過DHCP給虛擬機配置IP 365
16.3.2 通過Libvirt實現虛擬機自動配置IP 365
16.3.3 筆者生產環境虛擬機IP自動配置的方法 365
16.4 虛擬機鏡像測試 375
16.5 本章小結 375
第17章 單機虛擬化技術與生產環境實踐 376
17.1 單機虛擬化技術與套用場景 376
17.1.1 單機虛擬化的優勢和劣勢 377
17.1.2 單機虛擬化技術 378
17.1.3 單機虛擬化套用場景 380
17.2 單機虛擬化生產環境注意點 381
17.2.1 單機虛擬化災備與應急方案 381
17.2.2 單機虛擬化生產環境部署實踐 382
17.3 本章小結 385
第18章 KVM虛擬化集群技術與套用場景 386
18.1 虛擬化集群設計思路與架構 386
18.2 虛擬化集群的實施流程與技術方案 389
18.3 虛擬化集群搭建 392
18.3.1 計算節點配置與管理 392
18.3.2 網路設計與配置 403
18.3.3 虛擬機遷移管理 404
18.3.4 虛擬化集群的備份與恢復 407
18.4 Dell EqualLogic存儲的管理實踐經驗 414
18.5 本章小結 419
第19章 業務遷移到虛擬化環境流程 420
19.1 性能評估與測試環境測試 420
19.2 上線前的檢查工作 428
19.3 小規模部署及逐步切換到虛擬化環境 429
19.4 本章小結 430
第20章 宿主機自動化運維管理 431
20.1 Puppet簡介與安裝部署 431
20.2 利用Puppet管理宿主機的運維架構設計 436
20.3 利用Puppet配置宿主機初始化操作 441
20.4 利用Puppet管理宿主機配置與更新 442
20.5 利用Puppet推送宿主機的非一致性配置 445
20.6 本章小結 449
第21章 虛擬化監控、報警與應急回響方案 450
21.1 虛擬化監控內容 450
21.1.1 宿主機CPU監控要點 450
21.1.2 宿主機記憶體監控注意點 455
21.1.3 宿主機網路監控注意點 458
21.1.4 宿主機磁碟監控注意點 460
21.1.5 宿主機層面監控虛擬機的方法 461
21.2 監控軟體Cacti、Zabbix 463
21.2.1 用Cacti監控宿主機 464
21.2.2 用Zabbix監控宿主機 471
21.3 應急方案 487
21.3.1 應急方案制定注意要點 487
21.3.2 單機虛擬化應急方案 491
21.3.3 集群虛擬化應急方案 495
21.4 本章小結 497
第五篇 KVM虛擬化典型案例
第22章 生產環境問題案例與分析 500
22.1 遊戲在虛擬機上非常慢的案例 500
22.2 虛擬機流量過高引起網路風暴的案例一 502
22.3 虛擬機流量過高引起網路風暴的案例二 517
22.4 其他生產環境問題案例 520
22.4.1 共享存儲集群虛擬機遷移故障案例 520
22.4.2 宿主機異常關機後虛擬機無法啟動案例 522
22.4.3 宿主機使用CentOS 5.6系統問題案例 523
22.4.4 Windows虛擬機網路閃斷、不通問題案例 523
22.4.5 Windows 7虛擬機只能使用2個CPU案例 524
22.4.6 生產環境非常奇怪的一個案例 524
22.4.7 隨身碟在虛擬機上掛載問題案例 526
22.4.8 HP ILO4固件Bug引起宿主機重啟案例 528
22.4.9 一次機房斷電引起的問題案例 529
22.4.10 CPU綁定問題案例 531
22.4.11 生產環境存儲故障導致50個虛擬機丟失案例 532
22.4.12 生產環境Ubuntu虛擬機故障問題案例 533
22.5 本章小結 538
附錄 筆者推薦的KVM學習資料 539

相關詞條

熱門詞條

聯絡我們