3dwoo大學簡體電腦書店
深入理解OpenStack Trove
( 簡體 字)
作者:黨明,雷冬,王少輝類別:1. -> 程式設計 -> 綜合
出版社:電子工業出版社深入理解OpenStack Trove 3dWoo書號: 45629
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:11/1/2016
頁數:384
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121303036 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1 章 關于DBaaS 的介紹………… 1
1.1 什么是DBaaS ……… 1
1.1.1 數據庫 ………… 2
1.1.2 服務 …………… 2
1.1.3 服務類別 …………… 2
1.1.4 DBaaS 的定義 ………… 2
1.2 IT 部門面對的數據庫挑戰 ………… 3
1.3 DBaaS 的特性 ……… 4
1.3.1 管理平面和數據平面 ………… 4
1.3.2 租賃 …………… 6
1.3.3 服務位置 …………… 7
1.3.4 服務vs 平臺 ……… 9
1.4 DBaaS 的好處 ……… 9
1.4.1 易于提供 …………… 9
1.4.2 一致性的配置 ……… 10
1.4.3 自動化操作 ………… 10
1.4.4 自動縮放 …………… 10
1.4.5 提高開發的靈活性 ……… 10
1.4.6 更好的資源利用和設計 ……… 11
1.4.7 對于提供者或操作者簡化角色 ………… 11
1.5 其他DBaaS 的提供者 ……… 11
1.5.1 亞馬遜RDS ……… 12
1.5.2 亞馬遜Redshift ………… 12
1.5.3 微軟 Azure SQL Database ………… 12
1.5.4 Google Cloud SQL ……… 12
1.5.5 亞馬遜DynamoDB ………… 12
1.6 OpenStack Trove ……… 13
1.7 Trove 的一段簡要歷史 ……… 13
1.8 OpenStack Trove 中的租約 ……… 14
1.9 OpenStack 生態系統中的Trove ……… 14
1.10 總結 ………… 17

第2 章 下載和安裝OpenStack Trove…… 18
2.1 部署一個單節點的開發環境 …… 18
2.1.1 配置Ubuntu 環境 ……… 18
2.1.2 安裝一些基礎包 ………… 20
2.1.3 確認你的配置 ……… 20
2.1.4 給“ubuntu”用戶賦予免密碼sudo 權限 ……… 21
2.1.5 使用devstack 工具安裝OpenStack …… 22
2.1.6 啟用默認的Trove 公鑰 ……… 26
2.1.7 系統認證 …………… 27
2.1.8 創建你的第1 個Trove 數據庫實例 …… 28
2.1.9 在devstack 中使用Neutron ……… 32
2.1.10 訪問Dashboard ……… 35
2.2 在多節點的OpenStack 環境中部署Trove ……… 37
2.2.1 前提條件 …………… 37
2.2.2 安裝必需包 ………… 37
2.2.3 創建Trove 用戶 ………… 38
2.2.4 創建Trove 操作的數據庫 ………… 38
2.2.5 在OpenStack 中配置Trove ……… 38
2.2.6 配置Trove 服務 ………… 39
2.2.7 初始化Trove 操作的數據庫 ……… 41
2.2.8 在Keystone 中配置Trove Endpoint …… 42
2.2.9 重啟Trove 服務 ………… 42
2.2.10 下載或構建一個Trove Guest 鏡像 …… 42
2.2.11 配置數據庫類型及其版本 ……… 45
2.3 總結 ………… 49

第3 章 基本的Trove 操作… …… 50
3.1 使用curl 命令和RESTful 服務交互 ……… 50
3.1.1 從Keystone 中獲取Token ………… 51
3.1.2 使用Token 和RESTful 服務交互 …… 53
3.2 理解應用程序如何與OpenStack 服務交互 …… 55
3.3 Trove CLI 腳本編程 ………… 57
3.4 展示實例列表 ………… 59
3.5 啟動實例 ………… 60
3.6 重啟實例 ………… 64
3.7 刪除實例 ………… 65
3.8 配置多個數據庫類型 ……… 65
3.8.1 配置數據庫類型 ………… 65
3.8.2 指定默認的數據庫類型 ……… 69
3.9 創建用戶和數據庫 ………… 70
3.9.1 啟用數據庫的root 用戶 ………… 70
3.9.2 數據庫操作 ………… 73
3.9.3 用戶操作 …………… 76
3.10 總結 ………… 81

第4 章 概念和架構… ……… 82
4.1 Trove 基礎架構 ………… 83
4.2 Trove 的概念 ……… 85
4.2.1 Trove 服務 ………… 85
4.2.2 Trove Guest Agent API ……… 88
4.2.3 Trove 策略 ………… 89
4.2.4 Trove 拓展 ………… 93
4.2.5 Guest Agent 的分類模型和策略 ……… 93
4.2.6 Trove Guest 鏡像 ……… 96
4.2.7 Trove 消息隊列和Trove 內部的API ……… 97
4.2.8 Trove 基礎設施數據庫 ………… 101
4.2.9 Trove 公共API ……… 103
4.3 OpenStack Trove 的架構 ………… 108
4.4 總結 ………… 123

第5 章 Trove 的高級操作… ……… 125
5.1 自定義f lavor ……… 125
5.2 Trove 的備份和恢復 ………… 127
5.3 Trove 的復制 ……… 133
5.3.1 對復制的支持情況 ………… 133
5.3.2 創建一個復制 ………… 134
5.3.3 故障切換 ………… 140
5.4 Trove 集群 ………… 147
5.5 配置組 ……… 160
5.6 調整實例的大小 ……… 172
5.7 終止實例 ………… 175
5.8 總結 ………… 175

第6 章 調試與故障排除… …… 177
6.1 訪問Trove guest 實例的命令行 ……… 177
6.1.1 OpenStack guest 鏡像 ……… 178
6.1.2 Tesora guest 鏡像 ………… 179
6.2 閱讀Trove 錯誤日志………… 180
6.2.1 Trove 控制節點的錯誤日志 ………… 180
6.2.2 關于guest 實例的錯誤日志 ………… 180
6.2.3 錯誤日志的一些實例 ……… 181
6.3 理解Trove 日志級別………… 186
6.4 在Trove 中使用OpenStack 分析庫 …… 189
6.4.1 在開始和停止位置之間分析代碼 …… 191
6.4.2 使用Python 結構分析一個代碼塊 ……… 191
6.4.3 使用修飾器分析一個方法 ……… 192
6.4.4 使用修飾器分析整個類 ………… 192
6.5 總結 ………… 197

第7 章 構建Trove guest 鏡像…… 198
7.1 使用預先構建的Trove guest 鏡像 …… 198
7.1.1 Trove guest 鏡像組件 ……… 199
7.1.2 注冊Trove guest 鏡像 ………… 199
7.2 使用磁盤鏡像生成器構建guest 鏡像 ……… 202
7.2.1 安裝磁盤鏡像生成器 ……… 202
7.2.2 磁盤鏡像生成器元件 ……… 203
7.2.3 使用Trove 相關的元件構建guest 鏡像 ……… 205
7.2.4 使用redstack 構建guest 鏡像 ……… 209
7.3 磁盤鏡像生成器的工作原理 …… 210
7.3.1 元件內的階段 ………… 211
7.3.2 執行順序 ………… 212
7.4 Trove 涉及的元件 ……… 214
7.5 使用 guest agent 代碼 ……… 219
7.5.1 在運行時安裝 guest agent 代碼 …… 219
7.5.2 構建時安裝guest agent 代碼 ……… 221
7.6 不同的操作系統中的 guest 鏡像 ……… 222
7.7 總結 ………… 224

第8 章 生產環境下Trove 的運作… …… 225
8.1 Trove 的基礎設施配置 ……… 225
8.1.1 配置Trove 使用專用基礎設施 ……… 227
8.1.2 AMQP 服務器上的安全配置 ……… 229
8.1.3 為訪問AMQP 服務器提供憑證 …… 230
8.2 guest 安全 ………… 231
8.2.1 在guest 實例上使用SSH ……… 231
8.2.2 使用安全組和安全網絡 ………… 232
8.3 Trove 作為其他OpenStack 服務的用戶端 ……… 233
8.3.1 私有OpenStack 結構中的消費服務 ……… 233
8.3.2 使用隱藏租戶和服務租戶 ……… 234
8.4 總結 ………… 238

附錄A Trove 配置選項… …… 239
A.1 Trove 配置文件 ………… 239
A.2 Trove 配置選項 ………… 242
A.3 特定的數據庫配置選項 ………… 252
A.4 總結 ………… 263

附錄B Trove 命令行接口… ……… 264
B.1 命令行接口 ……… 264
B.1.1 trove 命令 ……… 264
B.1.2 trove-manage 命令 ………… 286
B.2 總結 ………… 289

附錄C Trove 中的API………… 290
C.1 Trove API 服務的end point ……… 290
C.2 API 的習慣用法 ……… 292
C.3 列出API 的版本 ……… 293
C.4 實例API ………… 294
C.4.1 列出實例 ……… 294
C.4.2 創建實例 ……… 295
C.4.3 展示實例 ……… 300
C.4.4 實例操作 ……… 301
C.4.5 修改實例 ……… 305
C.4.6 更新實例 ……… 312
C.4.7 刪除實例 ……… 315
C.4.8 備份列表 ……… 316
C.4.9 實例配置列表 ……… 319
C.5 數據庫類型的API ………… 321
C.5.1 數據庫類型列表 ………… 321
C.5.2 數據庫類型版本列表 ………… 324
C.5.3 顯示數據庫類型版本(通過數據庫類型和版本) …… 325
C.5.4 顯示數據庫類型版本(通過UUID) …… 326
C.5.5 數據庫類型版本配置項列表 ……… 327
C.5.6 顯示數據庫類型版本配置項 ……… 328
C.5.7 數據庫類型版本配置項列表 ……… 329
C.5.8 顯示數據庫類型版本配置項 ……… 330
C.6 實例類型API ………… 331
C.6.1 實例類型列表 ……… 331
C.6.2 顯示實例類型 ……… 333
C.7 限額API ………… 334
C.8 備份API ………… 335
C.8.1 備份列表 ……… 336
C.8.2 顯示備份 ……… 337
C.8.3 創建備份 ……… 338
C.8.4 刪除備份 ……… 340
C.9 數據庫擴展API ……… 341
C.9.1 獲取root 用戶的激活狀態 ………… 341
C.9.2 啟用root ……… 342
C.9.3 數據庫列表 ………… 343
C.9.4 創建數據庫 ………… 344
C.9.5 刪除數據庫 ………… 346
C.9.6 創建用戶 ……… 347
C.9.7 用戶列表 ……… 349
C.9.8 查看用戶的權限 ………… 350
C.9.9 刪除用戶 ……… 351
C.9.10 用戶訪問授權 ……… 351
C.9.11 顯示用戶的訪問權限 ………… 353
C.9.12 解除用戶的訪問權限 ………… 354
C.10 集群API ………… 355
C.11 集群列表 ………… 355
C.11.1 集群詳情 ……… 357
C.11.2 創建集群 ……… 359
C.11.3 集群操作:添加實例 ………… 362
C.11.4 刪除集群 ……… 363
C.12總結 ………… 364
本書由Tesora團隊的CTO Amrith Kumar和研發副總裁Douglas Shelley聯合編寫,深入介紹并研究了OpenStack中Trove項目的架構及工作原理。Trove項目作為一個DBaaS(數據庫即服務),可以方便地為用戶提供關系型和非關系型數據庫,并在數據庫生命周期內提供各種便捷的管理操作,例如復制、備份、擴容等。本書首先介紹了Trove的相關概念,以及如何下載并安裝Trove;接著以實際操作為示例,講述了Trove的基礎架構和一些典型的操作方法,以及如何調試Trove并進行一系列故障排查;最后介紹了如何構建Trove guest鏡像,以及在生產環境中操作Trove時需要注意的事項。本書適用于對OpenStack生態圈有所了解,并對數據庫和開源事業有興趣的開發者。

推薦語
作為最流行的開源云計算平臺之一,OpenStack日漸成熟,為眾多行業參與者提供了強大的支撐。而在作為IT基礎資源之一的數據庫云化管理方面,OpenStack同樣給我們帶來了設計優雅的Trove作為其DBaaS服務。Trove是OpenStack的一部分,基于OpenStack的核心基礎服務而構建,很好地詮釋了云平臺的強大能力。Trove所支持的底層數據庫非常廣泛,并且具有強大的擴展性。本書作為學習Trove的難得資料,為你360°講述Trove的前世今生,帶你領略OpenStack DBaaS的精彩實踐。
綠星云科技CTO及聯合創始人 黃明生
關于技術評論員
Nikhil Manchanda 是惠普云的核心工程師之一。他從OpenStack Trove 的Juno、Kilo和Liberty 發布伊始就一直是該項目的技術負責人(PTL)。他設計并編寫了OpenStackTrove 項目的重要部分,并在項目開始時就成為Trove 的核心貢獻者之一。他的專長在OpenStack、Python 和數據庫領域,但也偶爾涉足C++ 和機器學習領域。他之前從事軟件更新智能、本地地理系統和移動應用相關工作。在工作之余,他會經常趴在桌子上,刻苦鉆研他的樹莓派或NAS4Free 盒子,或者寫詩歌和短篇小說。
鳴謝
我們要感謝整個OpenStack Trove社區,感謝社區成員對Trove版本的提交和貢獻,以使得OpenStack的數據庫服務成為現實。如果沒有這么多開發者、審閱者和運營商在數年里對項目的貢獻,我們不會有如此豐富的話題進行寫作。
特別感謝Tesora的整個團隊,他們通過評論、回答技術問題和提供有創意的內容來支持本書。
感謝Apress團隊,Mark Powers、Louise Corrigan、Christine Ricketts和Lori Jacobs都很棒。
特別感謝Laurel Michaels,他在社區里做了很多改善Trove文檔的工作,在本書初稿完成后精心審閱了每個章節,并提供了寶貴的改進建議。
——Amrith & Doug
pagetop