暢銷書《高性能Linux服務器構建實戰(zhàn):運維監(jiān)控、性能調優(yōu)與集群應用》姊妹篇,資深運維專家和架構師多年經(jīng)驗結晶;
以實際生產(chǎn)環(huán)境為背景,從系統(tǒng)安全、故障排查、自動化運維、集群架構4個維度講解構建大規(guī)模和高性能Linux服務器集群所需技術、工具、方法和技巧。
《高性能Linux服務器構建實戰(zhàn):系統(tǒng)安全、故障排查、自動化運維與集群架構》是Linux運維領域暢銷的、公認的經(jīng)典著作《高性能Linux服務器構建實戰(zhàn):運維監(jiān)控、性能調優(yōu)與集群應用》的姊妹篇,它從系統(tǒng)安全運維、運維故障排查、自動化運維、集群架構4個維度講解了構建大規(guī)模和高性能Linux服務器集群所需要的技術、工具、方法和技巧,二者一脈相承,互為補充,內容涵蓋了運維工程師構建高性能服務器需要掌握的各種知識。本書在內容上繼承了前面一本書中被讀者認可的諸多優(yōu)點:實用(以實際生產(chǎn)環(huán)境為背景)、實戰(zhàn)(包含大量案例)、易懂,同時也改進了讀者反饋的不足之處。
全書共14章,分為四個部分:安全運維篇(1-3章)主要講解了服務器安全運維、網(wǎng)絡安全運維和數(shù)據(jù)安全運維的關鍵技術和方法;運維故障排查篇(4-5章)從服務器系統(tǒng)和應用軟件兩個維度講解了運維故障的排查思路,以及常見的和經(jīng)典的運維故障的解決方案;自動化運維篇(6-9章)主要講解了海量主機的自動化部署和配置、自動化監(jiān)控、分布式監(jiān)控等大規(guī)模集群運維所需的各種工具(pssh、pdsh、mussh、Ganglia、nagios、Centreon等)和方法;集群架構篇(10-14)講解了如何構建和優(yōu)化基于Web和MySQL數(shù)據(jù)庫的高性能集群和高可用的負載均衡集群。
高俊峰(南非螞蟻),專業(yè)運維專家、系統(tǒng)架構師、DBA和技術顧問,從事Linux/Unix服務器系統(tǒng)的架構、運維和管理多年。擅長大規(guī)模服務器集群的運維和管理,在故障診斷與排除、自動化運維、安全運維、性能調優(yōu)、虛擬化等方面積累了大量的實戰(zhàn)經(jīng)驗。國內知名IT技術社區(qū)51CTO的博客專家和ChinaUnix論壇高可用集群版塊的版主,同時還活躍于ITPUB等技術社區(qū),在社區(qū)和論壇里發(fā)表了大量技術文章,深受歡迎。此外,他還著有暢銷書《循序漸進Linux》和《高性能Linux服務器構建實戰(zhàn):運維監(jiān)控、性能調優(yōu)與集群應用》,后者是本書的姊妹篇,是Linux運維領域公認的經(jīng)典著作。
前言
第一部分 安全運維篇
第1章 Linux服務器安全運維
1.1 賬戶和登錄安全
1.1.1 刪除特殊的用戶和用戶組
1.1.2 關閉系統(tǒng)不需要的服務
1.1.3 密碼安全策略
1.1.4 合理使用su、sudo命令
1.1.5 刪減系統(tǒng)登錄歡迎信息
1.1.6 禁止Control-Alt-Delete鍵盤關閉命令
1.2 遠程訪問和認證安全
1.2.1 遠程登錄取消telnet而采用SSH方式
1.2.2 合理使用shell歷史命令記錄功能
1.2.3 啟用tcp_wrappers防火墻
1.3 文件系統(tǒng)安全
1.3.1 鎖定系統(tǒng)重要文件
1.3.2 文件權限檢查和修改
1.3.3 /tmp、/var/tmp、/dev/shm安全設定
1.4 系統(tǒng)軟件安全管理
1.4.1 軟件自動升級工具yum
1.4.2 yum的安裝與配置
1.4.3 yum的特點與基本用法
1.4.4 幾個不錯的yum源
1.5 Linux后門入侵檢測工具
1.5.1 rootkit后門檢測工具chkrootkit
1.5.2 rootkit后門檢測工具RKHunter
1.6 服務器遭受攻擊后的處理過程
1.6.1 處理服務器遭受攻擊的一般思路
1.6.2 檢查并鎖定可疑用戶
1.6.3 查看系統(tǒng)日志
1.6.4 檢查并關閉系統(tǒng)可疑進程
1.6.5 檢查文件系統(tǒng)的完好性
1.7 一次Linux被入侵后的分析
1.7.1 受攻擊現(xiàn)象
1.7.2 初步分析
1.7.3 斷網(wǎng)分析系統(tǒng)
1.7.4 尋找攻擊源
1.7.5 查找攻擊原因
1.7.6 揭開謎團
1.7.7 如何恢復網(wǎng)站
第2章 Linux網(wǎng)絡安全運維
2.1 網(wǎng)絡實時流量監(jiān)測工具iftop
2.1.1 iftop能做什么
2.1.2 iftop的安裝
2.1.3 使用iftop監(jiān)控網(wǎng)卡實時流量
2.2 網(wǎng)絡流量監(jiān)控與分析工具Ntop和Ntopng
2.2.1 Ntop與MRTG的異同
2.2.2 Ntop與Ntopng的功能介紹
2.2.3 安裝Ntop與Ntopng
2.2.4 Ntop和Ntopng的使用技巧
2.3 網(wǎng)絡性能評估工具iperf
2.3.1 iperf能做什么
2.3.2 iperf的安裝與使用
2.3.3 iperf應用實例
2.4 網(wǎng)絡探測和安全審核工具nmap
2.4.1 nmap和Zenmap簡介
2.4.2 nmap基本功能與結構
2.4.3 nmap的安裝與驗證
2.4.4 nmap的典型用法
2.4.5 nmap主機發(fā)現(xiàn)掃描
2.4.6 nmap端口掃描
2.4.7 nmap版本偵測
2.4.8 nmap操作系統(tǒng)偵測
第3章 數(shù)據(jù)安全工具DRBD、extundelete
3.1 數(shù)據(jù)鏡像軟件DRBD介紹
3.1.1 DRBD的基本功能
3.1.2 DRBD的構成
3.1.3 DRBD與現(xiàn)在的集群的關系
3.1.4 DRBD的主要特性
3.2 DRDB的安裝與配置
3.2.1 安裝環(huán)境說明
3.2.2 DRBD的安裝部署
3.2.3 快速配置一個DRBD鏡像系統(tǒng)
3.3 DRBD的管理與維護
3.3.1 啟動DRDB
3.3.2 測試DRBD數(shù)據(jù)鏡像
3.3.3 DRBD主備節(jié)點切換
3.4 數(shù)據(jù)恢復軟件extundelete介紹
3.4.1 如何使用"rm -rf"命令
3.4.2 extundelete與ext3grep的異同
3.4.3 extundelete的恢復原理
3.4.4 安裝extundelete
3.4.5 extundelete用法詳解
3.5 實戰(zhàn):extundelete恢復數(shù)據(jù)的過程
3.5.1 通過extundelete恢復單個文件
3.5.2 通過extundelete恢復單個目錄
3.5.3 通過extundelete恢復所有誤刪除數(shù)據(jù)
3.5.4 通過extundelete恢復某個時間段的數(shù)據(jù)
第二部分 運維故障排查篇
第4章 Linux系統(tǒng)運維故障排查思路
4.1 Linux系統(tǒng)故障的處理思路
4.2 Linux系統(tǒng)無法啟動的解決方法
4.2.1 文件系統(tǒng)破壞導致系統(tǒng)無法啟動
4.2.2 /etc/fstab文件丟失導致系統(tǒng)無法啟動
4.3 Linux系統(tǒng)無響應(死機)問題分析
4.4 Linux下常見網(wǎng)絡故障的處理思路
4.4.1 檢查網(wǎng)絡硬件問題
4.4.2 檢查網(wǎng)卡是否正常工作
4.4.3 檢查DNS解析文件是否設置正確
4.4.4 檢查服務是否正常打開
4.4.5 檢查訪問權限是否打開
4.4.6 檢查局域網(wǎng)主機之間聯(lián)機是否正常
第5章 Linux故障排查案例實戰(zhàn)
5.1 常見系統(tǒng)故障案例
5.1.1 su切換用戶帶來的疑惑
5.1.2 "Read-only file system"錯誤與解決方法
5.1.3 "Argument list too long"錯誤與解決方法
5.1.4 inode耗盡導致應用故障
5.1.5 文件已刪除但空間不釋放的原因
5.1.6 "Too many open files"錯誤與解決方法
5.2 Apache常見錯誤故障案例
5.2.1 "No space left on device"錯誤與解決方法
5.2.2 apache(20014)故障與解決方法
5.2.3 "could not bind to address 0.0.0.0:80"錯誤與解決方法
5.3 因NAS存儲故障引起的Linux系統(tǒng)恢復案例
5.3.1 故障現(xiàn)象描述
5.3.2 問題判斷思路
5.3.3 問題處理過程
5.3.4 解決問題
第三部分 自動化運維篇
第6章 輕量級運維利器pssh、pdsh和mussh
6.1 并行SSH運維工具pssh
6.1.1 pssh應用場景
6.1.2 pssh的安裝與用法
6.1.3 pssh應用實例
6.2 并行分布式運維工具pdsh
6.2.1 pdsh應用場景
6.2.2 pdsh的安裝與語法
6.2.3 pdsh應用實例
6.3 多主機ssh封裝器mussh
6.3.1 mussh功能介紹
6.3.2 mussh的安裝與語法
6.3.3 mussh應用實例
第7章 分布式監(jiān)控系統(tǒng)Ganglia
7.1 Ganglia簡介
7.2 Ganglia的組成
7.3 Ganglia的工作原理
7.3.1 Ganglia數(shù)據(jù)流向分析
7.3.2 Ganglia工作模式
7.4 Ganglia的安裝
7.4.1 yum源安裝方式
7.4.2 源碼方式
7.5 配置一個Ganglia分布式監(jiān)控系統(tǒng)
7.5.1 Ganglia配置文件介紹
7.5.2 Ganglia監(jiān)控系統(tǒng)架構圖
7.5.3 Ganglia監(jiān)控管理端配置
7.5.4 Ganglia的客戶端配置
7.5.5 Ganglia的Web端配置
7.6 Ganglia監(jiān)控系統(tǒng)的管理和維護
7.7 Ganglia監(jiān)控擴展實現(xiàn)機制
7.7.1 擴展Ganglia監(jiān)控功能的方法
7.7.2 通過gmetric接口擴展Ganglia監(jiān)控
7.7.3 通過Python插件擴展Ganglia監(jiān)控
7.7.4 實戰(zhàn):利用Python接口監(jiān)控Nginx運行狀態(tài)
7.8 Ganglia在實際應用中要考慮的問題
7.8.1 網(wǎng)絡IO可能存在瓶頸
7.8.2 CPU可能存在瓶頸
7.8.3 gmetad寫入rrd數(shù)據(jù)庫可能存在瓶頸
第8章 基于nagios的分布式監(jiān)控報警平臺Centreon
8.1 Centreon概述
8.2 Centreon的特點
8.3 Centreon的結構
8.4 安裝Centreon+nagios監(jiān)控系統(tǒng)
8.4.1 安裝支持Centreon的yum源
8.4.2 安裝系統(tǒng)基礎依賴庫
8.4.3 安裝nagios及nagios-plugins
8.4.4 安裝ndoutils
8.4.5 安裝nrpe
8.4.6 安裝Centreon
8.4.7 安裝配置Centreon Web
8.4.8 啟動Centreon相關服務
8.4.9 安裝問題總結
8.5 配置Centreon監(jiān)控系統(tǒng)
8.5.1 添加主機和主機組
8.5.2 批量添加主機
8.5.3 監(jiān)控引擎管理
8.5.4 添加服務和服務組
8.5.5 監(jiān)控報警配置
8.5.6 用戶和用戶權限管理
8.6 配置分布式監(jiān)控
8.6.1 分布式監(jiān)控架構與實現(xiàn)原理
8.6.2 分布式監(jiān)控搭建環(huán)境介紹
8.6.3 監(jiān)控軟件的安裝
8.6.4 配置節(jié)點間SSH信任登錄
8.6.5 在Central server上添加分布式監(jiān)控配置
8.7 常見服務監(jiān)控配置
8.7.1 nagios插件編寫規(guī)范
8.7.2 監(jiān)控Apache運行狀態(tài)
8.7.3 監(jiān)控MySQL運行狀態(tài)
8.7.4 監(jiān)控Hadoop HDFS運行狀態(tài)
8.8 桌面監(jiān)控報警器Nagstamon
第9章 通過Ganglia與Centreon構建智能化監(jiān)控報警平臺
9.1 智能運維監(jiān)控報警平臺的組成
9.2 Ganglia作為數(shù)據(jù)收集模塊
9.3 Centreon作為監(jiān)控報警模塊
9.4 Ganglia與Centreon的無縫整合
9.4.1 數(shù)據(jù)提取腳本
9.4.2 實現(xiàn)Ganglia與Centreon完美整合
9.5 在Centreon中實現(xiàn)批量數(shù)據(jù)收集與監(jiān)控報警
第四部分 集群架構篇
第10章 高性能Web服務器Nginx
10.1 高性能Web服務器Nginx介紹
10.1.1 Nginx的組成與工作原理
10.1.2 Nginx的性能優(yōu)勢
10.2 Nginx的安裝
10.2.1 安裝Nginx依賴庫
10.2.2 快速安裝Nginx
10.3 配置與調試Nginx
10.3.1 Nginx配置文件結構
10.3.2 Nginx配置文件詳解
10.3.3 Nginx日常維護技巧
10.4 Nginx常用功能介紹
10.4.1 Nginx反向代理應用實例
10.4.2 Nginx的URL重寫應用實例
10.5 案例:Nginx作為Web緩存服務器應用
10.5.1 在Nginx下安裝緩存服務器
10.5.2 配置Nginx緩存服務器
10.5.3 測試proxy_cache實現(xiàn)的緩存功能
10.5.4 如何清除指定的URL緩存
10.6 案例:Nginx作為負載均衡服務器應用
10.6.1 Nginx的負載均衡算法
10.6.2 Nginx的負載均衡配置實例
10.7 Nginx性能優(yōu)化技巧
10.7.1 編譯安裝過程優(yōu)化
10.7.2 利用TCMalloc優(yōu)化Nginx的性能
10.7.3 Nginx內核參數(shù)優(yōu)化
第11章 高性能集群軟件Keepalived
11.1 Keepalived介紹
11.1.1 Keepalived是什么
11.1.2 VRRP協(xié)議與工作原理
11.1.3 Keepalived工作原理
11.1.4 Keepalived的體系結構
11.2 Keepalived安裝與配置
11.2.1 Keepalived的安裝過程
11.2.2 Keepalived的全局配置
11.2.3 Keepalived的VRRPD配置
11.2.4 Keepalived的LVS配置
11.3 Keepalived基礎功能應用實例
11.3.1 Keepalived基礎HA功能演示
11.3.2 通過vrrp_script實現(xiàn)對集群資源的監(jiān)控
11.3.3 Keepalived集群中MASTER和BACKUP角色選舉策略
第12章 千萬級高并發(fā)負載均衡軟件HAProxy
12.1 高性能負載均衡軟件HAProxy介紹
12.1.1 HAProxy簡介
12.1.2 四層和七層負載均衡的區(qū)別
12.1.3 HAProxy與LVS的異同
12.2 HAProxy基礎配置與應用實例
12.2.1 快速安裝HAProxy集群軟件
12.2.2 HAProxy基礎配置文件詳解
12.2.3 HAProxy的日志配置策略
12.2.4 通過HAProxy的ACL規(guī)則實現(xiàn)智能負載均衡
12.3 基于虛擬主機的HAProxy負載均衡系統(tǒng)配置實例
12.3.1 通過HAProxy的ACL規(guī)則配置虛擬主機
12.3.2 測試HAProxy實現(xiàn)虛擬主機和負載均衡功能
12.3.3 測試HAProxy的故障轉移功能
12.3.4 使用HAProxy的Web監(jiān)控平臺
第13章 構建高性能的MySQL集群系統(tǒng)
13.1 常見的高可用MySQL解決方案
13.1.1 主從復制解決方案
13.1.2 MMM高可用解決方案
13.1.3 Heartbeat/SAN高可用解決方案
13.1.4 Heartbeat/DRBD高可用解決方案
13.1.5 MySQL Cluster高可用解決方案
13.2 通過Keepalived搭建MySQL雙主模式的高可用集群系統(tǒng)
13.2.1 MySQLReplication介紹
13.2.2 MySQL Replication實現(xiàn)原理
13.2.3 MySQL Replication常用架構
13.2.4 MySQL主主互備模式架構
13.2.5 MySQL主主互備模式配置
13.2.6 配置Keepalived實現(xiàn)MySQL雙主高可用
13.2.7 測試MySQL主從同步功能
13.2.8 測試Keepalived實現(xiàn)MySQL故障轉移
13.3 通過MMM構建MySQL高可用集群系統(tǒng)
13.3.1 MMM高可用MySQL方案簡介
13.3.2 MMM典型應用方案
13.3.3 MMM高可用MySQL方案架構
13.3.4 MMM的安裝與配置
13.3.5 MMM的管理
13.3.6 測試MMM實現(xiàn)MySQL高可用功能
13.4 MySQL讀寫分離解決方案
13.4.1 通過Amoeba實現(xiàn)MySQL讀寫分離
13.4.2 通過Keepalived構建高可用的Amoeba服務
第14章 高性能負載均衡集群軟件HAProxy
14.1 高性能負載均衡架構設計原則
14.1.1 HAProxy常見方案與拓撲
14.1.2 高可用集群軟件的選擇
14.2 搭建HAProxy+Keepalived高可用負載均衡系統(tǒng)
14.2.1 搭建環(huán)境描述
14.2.2 配置HAProxy負載均衡服務器
14.2.3 配置主、備Keepalived服務器
14.3 測試HAProxy+Keepalived高可用負載均衡集群
14.3.1 測試Keepalived的高可用功能
14.3.2 測試負載均衡功能
14.4 構建雙主高可用的HAProxy負載均衡系統(tǒng)
14.4.1 系統(tǒng)架構圖與實現(xiàn)原理
14.4.2 安裝并配置HAProxy集群系統(tǒng)
14.4.3 安裝并配置雙主的Keepalived高可用系統(tǒng)
14.4.4 測試雙主高可用的HAProxy負載均衡集群系統(tǒng)