內容簡介
本書是以動視暴雪中國運維團隊七位作者的日常工作作為背景,全麵解析瞭Linux集群在動視暴雪的應用現狀,內容包括Linux係統、網絡、安全、監控、備份、日誌分析、自動化等,跳齣瞭一般書籍僅僅能覆蓋的原理層麵,詳盡真實地展現瞭各項技術在集群架構和運維方嚮上的實際應用和發展趨勢,是一本不可多得的實戰案例。
目錄
前言
第1章 Linux係統管理入門1
1.1 係統安裝1
1.1.1 安裝CentOS1
1.1.2 首次啓動CentOS14
1.1.3 更多設置14
1.2 係統登錄20
1.2.1 本地登錄20
1.2.2 遠程登錄22
1.3 用戶管理24
1.3.1 用戶和用戶組的概念24
1.3.2 新增和刪除用戶25
1.3.3 新增和刪除用戶組26
1.3.4 用戶切換26
1.4 文件係統27
1.4.1 什麼是文件係統27
1.4.2 常見的文件係統27
1.4.3 磁盤分區和創建文件係統28
1.5 文件管理33
1.5.1 文件和目錄簡介33
1.5.2 文件和目錄權限34
1.5.3 文件查找35
1.5.4 文件壓縮和打包36
1.6 網絡管理37
1.6.1 網絡配置管理37
1.6.2 Linux防火牆38
1.6.3 網絡連通性診斷40
1.7 進程管理42
1.7.1 什麼是進程43
1.7.2 進程的常見狀態43
1.7.3 進程優先級的調整43
1.7.4 進程的終止44
1.8 軟件安裝46
1.8.1 源碼編譯安裝46
1.8.2 使用包管理Yum48
1.8.3 創建自己的Yum倉庫49
1.9 係統安全檢測與審計51
1.9.1 AIDE係統入侵檢測 51
1.9.2 審計53
第2章 係統性能分析56
2.1 性能分析簡介56
2.2 係統分析的基本工具56
2.2.1 CPU性能分析工具56
2.2.2 內存性能分析工具60
2.2.3 磁盤性能分析工具62
2.2.4 sar64
2.3 軟件分析的基本工具66
2.3.1 ldd66
2.3.2 strace與ltrace66
2.3.3 ipcs71
2.3.4 systemtap73
2.4 與內存相關的那些事情76
2.4.1 內存泄漏76
2.4.2 虛擬內存、物理內存與頁缺失78
2.4.3 Out of Memory79
2.4.4 Overcommit79
2.4.5 cache與buffer80
2.5 與磁盤相關的那些事情80
2.5.1 HDD與SSD80
2.5.2 HDD磁盤的調度算法81
2.5.3 文件係統中的日誌82
2.6 係統資源限製82
2.6.1 ulimit82
2.6.2 Cgroup84
第3章 用戶集中認證91
3.1 openLDAP簡介91
3.2 openLDAP的安裝91
3.3 openLDAP的配置92
3.4 利用openLDAP集中認證95
第4章 域名服務器DNS97
4.1 DNS服務簡介97
4.2 DNS安裝配置98
4.2.1 DNS安裝過程98
4.2.2 關於chroot的解釋99
4.2.3 配置主配置文件99
4.2.4 DNS的正嚮解析配置100
4.2.5 DNS的反嚮解析配置101
4.2.6 利用DNS實現負載均衡103
4.3 DNS的主從復製104
4.4 配置純緩存的DNS服務106
4.5 DNS的客戶端配置107
4.5.1 Linux中的配置107
4.5.2 Windows中的配置108
第5章 係統備份109
5.1 為什麼要備份109
5.2 常見的備份機製110
5.2.1 完全備份110
5.2.2 增量備份110
5.2.3 差異備份111
5.3 Bacula簡介111
5.3.1 什麼是Bacula111
5.3.2 Bacula的基本組件112
5.4 Bacula的安裝和配置112
5.4.1 Bacula控製器114
5.4.2 Bacula存儲守護進程120
5.4.3 Bacula客戶端文件守護進程121
5.4.4 Bacula控製颱122
5.4.5 啓動服務122
5.4.6 Bacula配置綜述122
5.5 使用Bacula進行備份和恢復124
5.5.1 執行備份124
5.5.2 文件恢復127
5.6 Bacula的使用和維護129
5.6.1 Bconsole的用法129
5.6.2 使用Bacula進行文件驗證130
5.6.3 Catalog的維護和備份131
5.7 備份的策略132
5.7.1 備份什麼133
5.7.2 備份到哪裏133
5.7.3 備份的時間133
5.7.4 測試和監控備份133
第6章 集群與存儲134
6.1 存儲的基本概念134
6.2 SAN134
6.2.1 SAN的選擇135
6.2.2 iSCSI的配置135
6.3 分布式文件係統與集群文件係統138
6.3.1 分布式文件係統138
6.3.2 GlusterFS的配置138
6.4 高可用集群141
6.4.1 Red Hat HA Cluster簡介141
6.4.2 配置一個高可用的Apache集群142
6.5 負載均衡集群151
6.5.1 HAProxy負載均衡151
6.5.2 Nginx負載均衡153
6.5.3 LVS負載均衡155
第7章 Graphite159
7.1 Graphite是什麼159
7.1.1 Graphite不是一個告警係統159
7.1.2 Graphite的功能和特色159
7.2 Graphite的基本組件160
7.2.1 Whisper160
7.2.2 Carbon161
7.2.3 Graphite Web162
7.3 Graphite的安裝162
7.3.1 安裝Whisper數據庫163
7.3.2 安裝Carbon守護進程163
7.3.3 安裝graphite-web163
7.4 Graphite 的配置(單點)164
7.4.1 配置Carbon守護進程164
7.4.2 給Carbon Cache發送數據166
7.4.3 配置Graphite-web167
7.5 Graphite的配置(集群配置)169
7.5.1 配置Carbon Relay170
7.5.2 Relay中的數據復製172
7.5.3 數據聚閤172
7.5.4 Graphite Cluster174
7.6 使用Graphite Web175
7.6.1 Graphite的Render API175
7.6.2 Graphite作圖函數176
7.6.3 Graphite Dashboard和Grafana178
7.7 Graphite 的性能監控和調整181
7.8 其他182
7.8.1 Whisper文件操作182
7.8.2 壓力測試183
7.8.3 其他工具185
第8章 係統大規模部署186
8.1 概述186
8.2 與PXE不得不說的故事186
8.2.1 PXE簡介186
8.2.2 PXE實戰187
8.3 係統部署工具Cobbler192
8.3.1 Cobbler簡介192
8.3.2 Cobbler安裝192
8.3.3 Cobbler 配置193
8.3.4 Cobbler應用197
8.3.5 Cobbler API202
8.3.6 Cobbler Replicat
前言/序言
為什麼要寫這本書五個Linux愛好者和開源軟件的密集使用者因為同事關係相聚在動視暴雪,茶餘之際談及目前市場上已齣版的Linux圖書,一緻的看法是,雖然市場上以Linux為主題的書很多,但絕大多數集中於Linux基礎介紹或是單純的服務搭建,有一些書著眼點在Linux集群的架構設計,但是往往內容重閤度較高、篇幅零散,且基本上限於對原理的講解,缺乏對實際係統的集成梳理。雖然Linux及Linux集群目前在互聯網已經非常流行,但是基於實際生産應用講解Linux集群的書仍難覓蹤跡。因為從嚴格意義上來說,“集群”屬於一門多種技術融閤的科學,包含瞭Linux基礎係統、係統安全、係統調優、網絡安全、日誌分析、係統監控、自動化管理、資産管理等多方麵的內容,單個人寫作很難達到這麼全麵的剖析範圍。於是,我們五人決定閤作來寫一本相對更全麵實用的Linux圖書。
在決定動筆之際,參與本書寫作的五位作者都就職於世界最大的遊戲齣版公司動視暴雪,因此,本書以動視暴雪中國運維團隊的日常工作為背景,內容也基於(但不拘泥)日常運維的生産係統和測試係統,力圖從實際生産係統和應用齣發,以自己平日的實際運維工作為基本立足點,全方位、真實地展示目前Linux集群的應用現狀。書中內容包括Linux係統、網絡、安全、監控、備份、日誌分析等,跳齣瞭一般書籍僅僅能覆蓋的原理層麵,詳盡真實地展現瞭各項技術在集群架構和運維方嚮上的實際應用和發展趨勢,其中很多內容更是動視暴雪中國運維團隊多年運維總結的最佳實踐。
對於我們自己來說,完成這本書的寫作,不但能分享自己多年的工作心得,也是一次極為難得的和眾多Linux愛好者一起學習和成長的機會。
讀者對象本書主要適閤於以下讀者:
希望更深入地瞭解Linux係統的中高級人員希望更深入地瞭解網絡的中高級人員基於Linux係統的網站前後端開發人員係統運維工程師和架構師如何閱讀本書本書第1章詳細描述瞭Linux的安裝、配置、用戶管理、文件管理、網絡管理、進程管理、軟件管理等內容,這是Linux的基礎入門知識,建議所有沒有Linux基礎的讀者,或是新手通讀本章。第2章是Linux性能分析,介紹瞭Linux係統中性能分析工具的使用方法,這在實際工作中很常用,但是根據不同的場景,也有很多組閤的使用方式。第3章至第5章是所有生産環境都會使用到的用戶集中認證、DNS服務和係統備份等內容,這些內容屬於必知必會的部分,建議通讀。第6章針對集群和集群存儲進行瞭講解,建議讀者視自己的實際使用情況選讀。第7章詳細介紹瞭一款當前非常流行的、實時metric工具Graphite,對於很多大型係統來說,這是一款極好的係統狀態記錄工具。第8章介紹Cobbler,對於依然在使用傳統DC的管理員來說,Cobbler是一款很好的係統自動安裝配置工具。第9章和第10章詳細描述瞭Puppet在自動化部署中的使用,這也是當前非常流行的一款配置管理工具。第11章介紹瞭CMDB,建議感興趣的讀者閱讀。第12章是日誌管理內容,描述瞭兩種當前流行的日誌處理工具Splunk和ELK,它們都是處理海量日誌非常好的工具。
勘誤和支持由於作者水平有限,書中難免會齣現一些錯誤或者不準確的地方,懇請讀者批評指正,您有任何寶貴意見都可以發送至郵箱,我們很期待能夠聽到您的真摯反饋。
緻謝這本書能順利的交稿,首先要感謝參與寫作的各位作者,能從百忙的工作和各自的傢庭生活中抽齣寶貴的時間,分享自己的心得和體會,纔能有機會讓更多的愛好者和同行溝通交流。
此外,感謝機械工業齣版社華章公司的編輯楊綉國(Lisa)老師,感謝她在這段時間裏始終支持我們的寫作,她的鼓勵和幫助引導我們順利完成全部書稿。
王軍2017年5月
大規模Linux集群架構最佳實踐:如何管理上韆颱服務器 下載 mobi epub pdf txt 電子書