目錄
第0章緒 論1
0.1雲計算及雲操作繫統的概念1
0.2雲操作繫統的主要特點2
0.3雲操作繫統的發展概況2
第一部分 基礎篇
第1章 操作繫統發展歷程4
1.1操作繫統的基本類型4
1.1.1批處理操作繫統4
1.1.2分時操作繫統6
1.1.3實時操作繫統8
1.2通用操作繫統的演進10
1.3單機操作繫統10
1.3.1單用戶單任務操作繫統10
1.3.2單用戶多任務操作繫統11
1.4網絡操作繫統12
1.4.1網絡操作繫統的特征12
1.4.2常用網絡操作繫統12
1.5分布式操作繫統15
第2章 雲操作繫統概述17
2.1雲操作繫統概述17
2.2雲操作繫統發展歷程18
2.2.1階段一:分區虛擬化18
2.2.2階段二:虛擬化+資源池管理21
2.3雲操作繫統主流產品24
2.3.1亞馬遜雲操作繫統24
2.3.2阿裡雲操作繫統26
2.3.3微軟雲操作繫統27
2.3.4華為雲操作繫統28
第二部分設計篇
第3章雲操作繫統技術架構30
3.1一個最簡單的雲操作繫統30
3.2雲操作繫統的主要功能31
3.3雲操作繫統的邏輯架構33
3.4典型服務的設計思想35
3.4.1“管理者-生產者”模型36
3.4.2關鍵組件實現模型37
第4章硬件抽像與封裝40
4.1計算資源40
4.1.1計算類的硬件設備40
4.1.2計算資源的抽像41
4.1.3計算資源的封裝47
4.2存儲資源50
4.2.1存儲類硬件設備51
4.2.2存儲資源的抽像53
4.2.3存儲資源的封裝58
4.3網絡資源62
4.3.1網絡類硬件設備62
4.3.2網絡資源的抽像64
4.3.3網絡資源的封裝65
第5章資源調度71
5.1計算資源的調度71
5.2存儲資源的調度73
5.2.1塊存儲73
5.2.2文件存儲74
5.2.3對像存儲74
5.3網絡資源的調度75
5.3.1路由算法75
5.3.2負載均衡的算法76
第6章資源編排77
6.1通用化的編排方式77
6.2虛擬機的編排77
6.3容器的編排79
6.3.1Swarm79
6.3.2Kubernetes81
6.3.3Mesos&Marathon82
第7章管理類基礎服務84
7.1用戶界面84
7.1.1概覽84
7.1.2組件介紹84
7.1.3使用示例85
7.2用戶認證服務85
7.2.1概覽85
7.2.2組件介紹85
7.2.3使用示例87
7.3數據庫服務88
7.3.1概覽88
7.3.2組件介紹88
7.3.3使用示例89
7.4鏡像服務90
7.4.1概覽90
7.4.2組件介紹90
7.4.3使用示例90
7.5通信服務91
7.5.1概覽91
7.5.2組件介紹91
7.5.3使用示例94
第8章雲操作繫統的接口96
8.1HTTP協議96
8.2用戶管理98
8.2.1用戶管理98
8.2.2租戶管理98
8.3權限管理98
8.3.1角色管理98
8.4運行管理99
8.4.1監控日志99
8.4.2計量監控-資源101
8.5雲主機管理101
8.5.1雲主機管理101
8.5.2雲主機操作102
8.6存儲管理102
8.6.1雲硬盤管理102
8.6.2雲硬盤操作102
8.6.3雲硬盤備份103
8.6.4雲硬盤轉移103
8.6.5雲硬盤快照103
8.6.6對像存儲目錄管理104
8.6.7對像存儲對像管理104
8.6.8共享文件繫統管理104
8.6.9共享文件繫統操作105
8.7網絡管理105
8.7.1網絡管理105
8.7.2網絡端口管理105
8.7.3子網管理106
8.7.4路由器管理106
8.7.5浮動IP管理106
8.8鏡像管理107
8.8.1鏡像管理107
8.8.2鏡像數據管理107
8.9編排管理107
8.9.1棧資源管理107
8.9.2棧管理108
8.9.3棧操作管理108
8.10容器管理108
8.10.1容器集群管理109
8.10.2容器集群模板管理109
8.10.3容器Pods管理-K8S109
8.10.4容器RC控制器管理-K8S109
8.10.5容器應用管理-MESOS110
8.10.6容器應用操作-MESOS110
8.10.7容器鏡像管理110
8.11主機虛擬化驅動接口111
8.12網絡虛擬化驅動接口115
8.13分布式存儲驅動接口117
第三部分部署篇
第9章典型雲操作繫統的部署121
9.1繫統部署介紹121
9.1.1按規模部署121
9.1.2主流的自動化部署工具122
9.2部署架構設計122
9.3部署資源準備123
9.4網絡規劃與連線124
9.5部署準備125
9.5.1配置服務器125
9.5.2部署服務器125
9.6手動部署雲操作繫統133
9.6.1加載物理機133
9.6.2配置網絡環境134
9.6.3配置物理磁盤136
9.6.4測試驗證網絡138
9.6.5部署雲操作繫統138
9.7自動部署雲操作繫統155
9.7.1加載物理機155
9.7.2配置網絡環境157
9.7.3配置物理磁盤160
9.7.4測試驗證網絡161
9.7.5創建部署環境162
9.7.6部署實施雲操162
第10章 雲操作繫統的高可用165
10.1HA(high availability)介紹165
10.1.1冗餘和故障切換165
10.1.2無狀態服務和有狀態服務165
10.1.3主從集群和主主集群166
10.2基本環境的配置166
10.2.1硬件要求166
10.2.2Memcached166
10.3配置共享服務167
10.3.1數據庫167
10.3.2消息隊列167
10.4配置控制器167
10.4.1Pacemaker架構167
10.4.2Pacemaker 集群167
10.4.3配置VIP169
10.4.4HAProxy169
10.4.5Memcached169
10.4.6keystone170
10.4.7Telemetry170
10.5配置網絡服務171
10.5.1網絡的DHCP agent171
10.5.2網絡的L3 agent171
10.6配置存儲172
10.6.1glance api172
10.6.2cinder api173
10.6.3共享文件繫統175
10.6.4存儲後端176
10.7配置計算節點176
第11章 大規模集群設計與優化178
11.1私有雲待優化問題178
11.2資源監控繫統180
11.2.2監控繫統簡介180
11.2.2監控繫統效率182
11.3通信性能優化185
11.4鍵函數優化186
11.5模塊依賴性能優化187
11.6任務調配優化188
11.6.1隊列資源調度算法188
11.6.2作業結構設計189
第四部分應用篇
第12章 雲操作繫統的應用場景191
12.1應用場景綜述191
12.1.1公有雲191
12.1.2私有雲194
12.1.3混合雲197
12.2典型場景一:異構資源的統一封裝198
12.2.1場景描述198
12.2.2實現流程198
12.2.3應用案例206
12.3典型場景二:基礎資源彈性伸縮208
12.3.1場景描述208
12.3.2實現流程209
12.3.3應用案例212
12.4典型場景三:多租戶隔離215
12.4.1場景描述215
12.4.2實現流程216
12.4.3應用案例219
12.5典型場景四:一鍵部署223
12.5.1場景描述223
12.5.2實現流程225
12.5.3應用案例228
12.6典型場景五:故障自愈234
12.6.1場景描述234
12.6.2實現流程236
12.6.3應用案例236
12.7典型場景六:持續集成244
12.7.1場景描述244
12.7.2實現流程245
12.7.3應用案例246
12.8典型場景七:灰度發布254
12.8.1場景描述254
12.8.2實現流程255
12.8.3應用案例256
第13章 一個典型的雲操作繫統應用261
13.1“國網雲”操作繫統SG-COS綜述261
13.1.1繫統架構261
13.1.2部署情況263
13.2“國網雲”大數據平臺概述264
13.3“國網雲”雲操與大數據平臺的融合266
13.3.1融合方案概述266
13.3.2物理機納管方案267
13.3.3半虛半實融合方案268
13.3.4全虛擬化融合方案271
13.4“國網雲”企業級應用遷移上雲的典型方式273
第14章 總結與展望275
附錄277
術語定義277