推薦序
前言
Part 1 概念篇
CHAPTER 1 雲端運算概述
1.1雲端運算是什麼
1.2 雲端運算發展現狀
1.3 雲端運算系統架構
1.3.1 雲端運算參與者
1.3.2 雲端運算部署方式
1.4 雲端運算的影響
1.4.1 雲端運算引發了整個IT 企業變革
1.4.2 雲端運算對經濟社會各領域帶來深刻影響
1.5 雲端運算商用解決方案
1.5.1 亞馬遜雲端運算解決方案
1.5.2 VMware vSph ere 解決方案
1.6 雲端運算開放原始碼解決方案OpenStack
1.6.1 OpenStack 發展歷史
1.6.2 OpenStack 概述
CHAPTER 2 OpenStack 安裝體驗及入門
2.1 快速體驗安裝
2.2 指令稿安裝
2.3 手動安裝
2.4 體驗
2.4.1 建立虛擬機器
2.4.2 增加磁碟
2.4.3 安全和存取設定
2.5 Q&A
2.5.1 虛擬機器上是否可以安裝OpenStack
2.5.2 找不到安裝源
2.5.3 設定上網代理
2.6 如何入門提升
2.6.1 原始程式閱讀
2.6.2 記錄檔分析
2.6.3 安裝問題
Part 2 架構篇
CHAPTER 3 系統架構
3.1 整體架構剖析
3.2 邏輯架構
3.2.1 邏輯概念模型
3.2.2 邏輯模組劃分
3.3 執行架構
3.4 開發架構
3.5 實體架構
CHAPTER 4 功能剖析
4.1 訊息佇列協定AMQP
4.2 排程器nova-scheduler
4.2.1 過濾(Filtering)
4.2.2 權衡(Weighting)
4.3 運算資源管理
4.3.1 KVM 轉換
4.3.2 VMware 轉換
4.4 儲存資源管理
4.4.1 Cinder 功能分析
4.4.2 iSCSI 轉換
4.4.3 NFS 轉換
4.5 網路資源管理
4.5.1 IP 資源管理
4.5.2 DHCP 自動排程IP
4.5.3 網路連接管理
4.5.4 虛擬交換機管理
4.5.5 NAT 網路對映
4.5.6 網路安全管理
4.5.7 Quantum 專案介紹
Part 3 實現篇
CHAPTER 5 運算資源池實現剖析
5.1 程式結構分析
5.1.1 常用指令
5.1.2 程式結構
5.2 業務邏輯模型分析
5.2.1 整體業務邏輯模型
5.2.2 Libvirt 虛擬化實現模型
5.2.3 Xen API 虛擬化實現模型
5.3 資料模型分析
5.3.1 整體資料模型
5.3.2 虛擬機器模型instances
5.3.3 虛擬機器狀態
5.4 虛擬機器開通
5.4.1 操作實現
5.4.2 實現剖析
5.4.3 開通虛擬機器外部介面nova-api.create( )
5.4.4 開通虛擬機器內部介面compute-api.create( )
5.4.5 計算節點部署虛擬機器 compute-manager.run_instance()
5.4.6 虛擬化轉換
5.5 虛擬機器啟停
5.5.1 虛擬機器關閉
5.5.2 虛擬機器啟動
5.6 線上熱移轉
5.6.1 建構NFS 共用儲存
5.6.2 修改計算節點設定
5.6.3 移轉虛擬機器
5.7 VNC 主控台
5.7.1 VNC 和noVNC
5.7.2 實現剖析
5.7.3 noVNC 代理的設定和部署
5.8 安全群組管理
5.8.1 安全群組資料模型
5.8.2 安全群組建立和刪除
5.9 Q&A
5.9.1 虛擬機器部署例外
5.9.2 計算節點服務不能正常啟動
5.9.3 熱移轉失敗
CHAPTER 6 儲存資源池實現剖析
6.1 程式結構分析
6.1.1 nova-volume 程式結構
6.1.2 Cinder 程式結構
6.2 業務邏輯模型分析
6.2.1 整體模型分析
6.2.2 磁碟區管理類別(VolumeManager)
6.2.3 iSCSI 實現ISCSIDriver
6.3 資料庫模型分析
6.3.1 整體模型分析
6.3.2 磁碟區(volumes)
6.4 建立和掛載彈性雲端硬碟操作實現
6.4.1 建立雲端硬碟操作實現
6.4.2 掛載雲端硬碟操作實現
6.5 機架式伺服器iSCSI 儲存實現剖析
6.5.1 LVM 基本概念
6.5.2 儲存節點前置處理
6.5.3 建立雲端硬碟
6.5.4 掛載雲端硬碟
6.6 快照管理
6.6.1 建立快照
6.6.2 快照恢復
CHAPTER 7 網路資源池實現剖析
7.1 程式結構分析
7.1.1 Nova-network 程式
7.1.2 Quantum 程式
7.2 nova-network 業務邏輯模型分析
7.2.1 業務邏輯模型
7.2.2 私網資源池管理NetworkManager
7.2.3 公網資源池管理FloatingIP
7.3 nova-network 資料模型分析
7.3.1 整體模型
7.3.2 私有網路Networks
7.3.3 私網IP 位址集區
7.3.4 彈性IP 位址集區
7.4 nova-network 中FlatDHCP 模式
7.4.1 網路部署
7.4.2 網路連接機制剖析
7.4.3 高可用性
7.5 nova-network 中VLAN 模式
7.5.1 網路部署
7.5.2 網路連接機制剖析
7.5.3 高可用性
7.6 nova-network 分配私網IP 位址
7.6.1 建立私有網路
7.6.2 分配私網fixed IP
7.6.3 DHCP 自動分配IP 位址
7.7 nova-network 分配彈性IP 位址
7.7.1 操作實現
7.7.2 實現剖析
7.8 Quantum 業務邏輯模型分析
7.8.1 Quantum-Server 業務邏輯模型
7.8.2 Agent 業務邏輯模型
7.9 Quantum 資料模型分析
7.9.1 整體資料模型
7.9.2 Quantum 模型對映關係
7.9.3 通訊埠ports
7.10 Quantum 網路模式分析
7.10.1 扁平共用模式(Flat)
7.10.2 租戶私有網路
7.11 Quantum 操作實現
CHAPTER 8 Glance 映像管理
8.1 映像功能架構
8.1.1 邏輯架構
8.1.2 開發架構
8.2 業務邏輯模型分析
8.3 資料模型分析
8.3.1 整體模型
8.3.2 映像(images)
8.3.3 映像狀態
8.4 製作映像
8.4.1 製作Windows 7 映像
8.4.2 製作Linux 映像
8.4.3 上傳映像
8.5 建立映像實現分析
CHAPTER 9 Horizon 前端介面實現剖析
9.1 什麼是Django
9.2 Horizon 的功能和實現
9.2.1 Horizon 介紹
9.2.2 功能架構
9.2.3 部署架構
9.2.4 開發架構
9.2.5 Horizon 和Django
9.2.6 Horizon 和其他模組的關係
9.3 訂製Horizon
9.3.1 修改Web 應用的標題
9.3.2 修改Horizon 的Logo
9.3.3 修改Dashboard 和Panel
9.4 國際化
CHAPTER 10 Keystone 認證管理
10.1 Keystone 架構
10.1.1 邏輯架構
10.1.2 開發架構
10.2 資料模型分析
10.2.1 整體模型
10.2.2 使用者(user)
10.2.3 專案Tenant
10.2.4 使用者專案角色連結表metadata
10.2.5 服務service
10.2.6 服務端endpoint
10.3 Keystone 操作體驗
10.3.1 建立專案Project
10.3.2 建立使用者
10.3.3 為專案Project 增加新使用者
10.4 認證機制剖析
10.4.1 curl 方式建立虛擬機器
10.4.2 認證過程剖析
10.4.3 認證取得Token 剖析
10.4.4 許可權判斷
10.5 Q&A
Part 4 應用篇
CHAPTER 11 私有雲平台建設
11.1 概述
11.2 適用場景分析
11.2.1 選擇私有雲
11.2.2 適用場景範例——伺服器應用
11.2.3 適用場景範例——桌面雲端應用
11.3 建設想法
11.3.1 建設想法轉變
11.3.2 統籌規劃、分階段建設
11.4 建設過程
11.4.1 網路規劃及部署
11.4.2 CPU 相容性
11.5 案例分析
11.6 私有雲平台待增強
11.6.1 OpenStack 持續最佳化
11.6.2 系統監控管理
11.6.3 高可用性管理APPENDIX
CHAPTER 12 公有雲平台建設
12.1 誰適用公有雲
12.2 電信業者建設
12.2.1 小規模應用
12.2.2 大規模建設
12.3 單資料中心建設方案
12.3.1 網路部署方案
12.3.2 共用儲存提升高可用性
12.4 多資料中心建設方案
12.4.1 區域Zone 解決方案
12.4.2 單元Cell 解決方案
後記