前言
第1篇 Web應用篇
第1章 輕量級HTTP服務器Nginx / 2
1.1 什麼是Nginx / 2
1.2 為什麼要選擇Nginx / 2
1.2.1 Nginx與Apache的異同 / 2
1.2.2 選擇Nginx的優勢所在 / 2
1.3 Nginx的模塊與工作原理 / 3
1.4 Nginx的安裝與配置 / 4
1.4.1 下載與安裝Nginx / 4
1.4.2 Nginx配置文件的結構 / 5
1.4.3 配置與調試Nginx / 6
1.4.4 Nginx的啓動、關閉和平滑重啓 / 13
1.5 Nginx常用配置實例 / 14
1.5.1 虛擬主機配置實例 / 14
1.5.2 負載均衡配置實例 / 15
1.5.3 防盜鏈配置實例 / 17
1.5.4 日誌分割配置實例 / 17
1.6 Nginx性能優化技巧 / 18
1.6.1 編譯安裝過程優化 / 18
1.6.2 利用TCMalloc優化Nginx的性能 / 19
1.6.3 Nginx內核參數優化 / 20
1.7 實戰Nginx與PHP(FastCGI)的安裝、配置與優化 / 22
1.7.1 什麼是 FastCGI / 22
1.7.2 Nginx+FastCGI運行原理 / 22
1.7.3 spawn-fcgi與PHP-FPM / 22
1.7.4 PHP與PHP-FPM的安裝及優化 / 23
1.7.5 配置Nginx來支持PHP / 26
1.7.6 測試Nginx對PHP的解析功能 / 27
1.7.7 優化Nginx中FastCGI參數的實例 / 27
1.8 實戰Nginx與Perl、Java的安裝與配置 / 28
1.8.1 Perl(FastCGI)的安裝 / 29
1.8.2 為Nginx添加FCGI支持 / 30
1.8.3 測試Nginx +Perl(FastCGI) / 31
1.8.4 搭建Nginx+Java環境 / 32
1.9 本章小結 / 34
第2章 高性能HTTP加速器Varnish / 35
2.1 初識Varnish / 35
2.1.1 Varnish概述 / 35
2.1.2 Varnish的結構與特點 / 35
2.1.3 Varnish與Squid的對比 / 36
2.2 開始安裝Varnish / 36
2.2.1 安裝前的準備 / 36
2.2.2 獲取Varnish軟件 / 37
2.2.3 安裝pcre / 37
2.2.4 安裝Varnish / 37
2.3 配置Varnish / 38
2.3.1 VCL使用說明 / 38
2.3.2 配置一個簡單的Varnish實例 / 42
2.3.3 Varnish對應多颱Web服務器的配置實例 / 44
2.4 運行Varnish / 48
2.4.1 varnishd指令 / 48
2.4.2 配置Varnish運行腳本 / 48
2.4.3 管理Varnish運行日誌 / 49
2.5 管理Varnish / 51
2.5.1 查看Varnish進程 / 51
2.5.2 查看Varnish緩存效果與狀態 / 51
2.5.3 通過端口管理Varnish / 53
2.5.4 管理Varnish緩存內容 / 55
2.6 Varnish優化 / 58
2.6.1 優化Linux內核參數 / 58
2.6.2 優化係統資源 / 59
2.6.3 優化Varnish參數 / 61
2.7 Varnish的常見應用實例 / 62
2.7.1 利用Varnish實現圖片防盜鏈 / 62
2.7.2 利用Varnish實現靜態文件壓縮處理 / 62
2.8 本章小結 / 64
第3章 Memcached應用實戰 / 65
3.1 Memcached基礎 / 65
3.1.1 什麼是Memcached / 65
3.1.2 Memcached的特徵 / 66
3.1.3 Memcached的安裝 / 67
3.1.4 Memcached的簡單使用過程 / 70
3.2 剖析Memcached的工作原理 / 71
3.2.1 Memcached的工作過程 / 71
3.2.2 Slab Allocation的工作機製 / 72
3.2.3 Memcached的刪除機製 / 72
3.2.4 Memcached的分布式算法 / 73
3.3 Memcached的管理與性能監控 / 75
3.3.1 如何管理Memcached / 75
3.3.2 Memcached的監控 / 77
3.3.3 Memcached變種産品介紹 / 81
3.4 通過UDFs實現Memcached與MySQL的自動更新 / 82
3.4.1 UDFs使用簡介 / 82
3.4.2 memcached_functions_mysql應用實例 / 84
3.4.3 對memcached_functions_mysql的簡單功能進行測試 / 87
3.4.4 使用memcached_functions_mysql的經驗與技巧 / 88
3.5 本章小結 / 89
第2篇 數據備份恢復篇
第4章 開源網絡備份軟件bacula / 92
4.1 bacula總體概述 / 92
4.1.1 bacula是什麼 / 92
4.1.2 bacula適閤哪些用戶 / 92
4.1.3 bacula的功能特點 / 93
4.1.4 bacula的工作原理 / 95
4.2 安裝bacula / 96
4.2.1 bacula的幾種網絡備份拓撲 / 96
4.2.2 編譯與安裝bacula / 97
4.2.3 初始化MySQL數據庫 / 98
4.3 配置一個bacula備份係統 / 98
4.3.1 配置bacula的Console端 / 98
4.3.2 配置bacula的Director端 / 99
4.3.3 配置bacula的SD / 103
4.3.4 配置bacula的FD端 / 104
4.4 啓動與關閉bacula / 105
4.4.1 啓動bacula的Director daemon與Storage daemon / 105
4.4.2 在客戶端FD啓動File daemon / 106
4.5 實戰bacula備份恢復過程 / 106
4.5.1 實例演示bacula的完全備份功能 / 106
4.5.2 實例演示bacula的增量備份功能 / 109
4.5.3 實例演示bacula的差異備份功能 / 110
4.5.4 實例演示bacula的完全恢復功能 / 116
4.5.5 實例演示bacula的不完全恢復功能 / 122
4.6 本章小結 / 125
第5章 數據鏡像備份工具rsync與unison / 126
5.1 rsync簡介 / 126
5.1.1 什麼是rsync / 126
5.1.2 rsync的功能特性 / 126
5.1.3 下載與安裝rsync軟件 / 127
5.2 利用rsync搭建數據鏡像備份係統 / 127
5.2.1 rsync的應用模式 / 127
5.2.2 企業案例:搭建遠程容災備份係統 / 129
5.3 通過rsync+inotify實現數據的實時備份 / 133
5.3.1 rsync的優點與不足 / 133
5.3.2 初識inotify / 133
5.3.3 安裝inotify工具inotify-tools / 133
5.3.4 inotify相關參數 / 134
5.3.5 inotifywait相關參數 / 134
5.3.6 企業應用案例:利用rsync+inotify搭建實時同步係統 / 135
5.4 unison簡介 / 139
5.5 安裝unison / 139
5.6 配置雙機ssh信任 / 140
5.6.1 在兩颱機器上創建 RSA密鑰 / 140
5.6.2 添加密鑰到授權密鑰文件中 / 141
5.7 unison的使用 / 141
5.7.1 本地使用unison / 142
5.7.2 遠程使用unison / 143
5.7.3 unison參數說明 / 144
5.7.4 通過配置文件來使用unison / 145
5.8 本章小結 / 147
第6章 ext3文件係統反刪除利器ext3grep / 148
6.1 “rm–rf”帶來的睏惑 / 148
6.2 ext3grep的安裝與使用 / 148
6.2.1 ext3grep的恢復原理 / 148
6.2.2 ext3grep的安裝過程 / 149
6.3 通過ext3grep恢復誤刪除的文件與目錄 / 150
6.3.1 數據恢復準則 / 150
6.3.2 實戰ext3grep恢復文件 / 150
6.4 通過ext3grep恢復誤刪除的MySQL錶 / 154
6.4.1 MySQL存儲引擎介紹 / 154
6.4.2 模擬MySQL錶被誤刪除的環境 / 154
6.4.3 通過ext3grep分析數據、恢復數據 / 155
6.5 本章小結 / 159
第3篇 網絡存儲應用篇
第7章 IP網絡存儲iSCSI / 162
7.1 存儲的概念與術語 / 162
7.1.1 SCSI介紹 / 162
7.1.2 FC介紹 / 162
7.1.3 DAS介紹 / 162
7.1.4 NAS介紹 / 163
7.1.5 SAN介紹 / 163
7.2 iSCSI的概念 / 163
7.3 FC SAN與IP SAN / 164
7.4 iSCSI的組成 / 164
7.4.1 iSCSI Initiator / 165
7.4.2 iSCSI Target / 166
7.5 iSCSI的工作原理 / 166
7.6 搭建基於IP SAN的iSCSI存儲係統 / 167
7.6.1 安裝iSCSI Target軟件 / 168
7.6.2 配置一個簡單的iSCSI Target / 169
7.6.3 在Windows上配置iSCSI Initiator / 169
7.6.4 在Linux上配置iSCSI Initiator / 172
7.7 iSCSI 在安全方麵的相關設定 / 176
7.7.1 Initiator主機以IP認證方式獲取iSCSI Target資源 / 176
7.7.2 Initiator主機以密碼認證方式獲取iSCSI Target資源 / 177
7.8 iSCSI性能優化方案 / 181
7.8.1 iSCSI性能瓶頸 / 181
7.8.2 iSCSI性能優化 / 181
7.9 本章小結 / 183
第8章 分布式存儲係統MFS / 184
8.1 MFS概論 / 184
8.2 MFS 文件係統 / 185
8.2.1 MFS文件係統結構 / 185
8.2.2 MFS的編譯與安裝實例 / 186
8.3 編譯與使用MFS的經驗總結 / 199
8.3.1 安裝選項說明 / 199
8.3.2 管理服務器 / 200
8.3.3 元數據日誌服務器 / 201
8.3.4 數據存儲服務器 / 201
8.3.5 客戶端掛載 / 203
8.4 管理與使用MFS / 203
8.4.1 在客戶端掛載文件係統 / 203
8.4.2 MFS常用操作 / 204
8.4.3 為垃圾箱設定隔離時間 / 207
8.4.4 快照 / 209
8.4.5 MFS的其他命令 / 209
8.5 維護MFS / 210
8.5.1 啓動MFS集群 / 210
8.5.2 停止MFS集群 / 210
8.5.3 MFS 數據存儲服務器的維護 / 210
8.5.4 MFS元數據的備份 / 211
8.5.5 MFS 管理服務器的恢復 / 211
8.5.6 從備份恢復MFS 管理服務器 / 211
8.6 通過冗餘實現失敗防護的解決方案 / 212
8.7 本章小結 / 212
第4篇 運維監控與性能優化篇
第9章 運維監控利器Nagios / 216
9.1 Nagios綜述 / 216
9.1.1 什麼是Nagios / 216
9.1.2 Nagios的結構與特點 / 216
9.2 Nagios的安裝與配置 / 217
9.2.1 安裝Nagios / 217
9.2.2 配置Nagios / 221
9.3 Nagios的運行和維護 / 231
9.3.1 驗證Nagios配置文件的正確性 / 231
9.3.2 啓動與停止Nagios / 231
9.3.3 Nagios故障報警 / 232
9.4 Nagios性能分析圖錶的實現 / 234
9.4.1 Nagios性能分析圖錶的作用 / 234
9.4.2 PNP的概念與安裝環境 / 234
9.4.3 安裝PNP / 234
9.4.4 配置PNP / 235
9.4.5 修改Nagios配置文件 / 236
9.4.6 測試PNP功能 / 237
9.5 利用插件擴展Nagios的監控功能 / 238
9.5.1 利用NRPE外部構件監控遠程主機 / 238
9.5.2 利用飛信實現Nagios短信報警功能 / 243
9.6 本章小結 / 247
第10章 基於Linux服務器的性能分析與優化 / 248
10.1 係統性能分析的目的 / 248
10.1.1 找到係統性能的瓶頸 / 248
10.1.2 提供性能優化方案 / 248
10.1.3 使係統硬件和軟件資源的使用達到平衡 / 249
10.2 分析係統性能涉及的人員 / 249
10.2.1 Linux係統管理人員 / 249
10.2.2 係統架構設計人員 / 249
10.2.3 軟件開發人員 / 250
10.3 影響Linux性能的各種因素 / 250
10.3.1 係統硬件資源 / 250
10.3.2 操作係統相關資源 / 252
10.3.3 應用程序軟件資源 / 253
10.4 係統性能分析標準和優化原則 / 253
10.5 幾種典型應用對係統資源使用的特點 / 254
10.5.1 以靜態內容為主的Web應用 / 254
10.5.2 以動態內容為主的Web應用 / 254
10.5.3 數據庫應用 / 255
10.5.4 軟件下載應用 / 255
10.5.5 流媒體服務應用 / 256
10.6 Linux下常見的性能分析工具 / 256
10.6.1 vmstat命令 / 256
10.6.2 sar命令 / 258
10.6.3 iostat命令 / 260
10.6.4 free命令 / 262
10.6.5 uptime命令 / 263
10.6.6 netstat命令 / 263
10.6.7 top命令 / 265
10.7 基於Web應用的性能分析及優化案例 / 268
10.7.1 基於動態內容為主的網站優化案例 / 268
10.7.2 基於動態、靜態內容結閤的網站優化案例 / 270
10.8 本章小結 / 272
第5篇 集群高級應用篇
第11章 構建高可用的LVS負載均衡集群 / 274
11.1 LVS集群的組成與特點 / 274
11.1.1 LVS集群的組成 / 274
11.1.2 LVS集群的特點 / 275
11.1.3 LVS集群係統的優缺點 / 278
11.2 高可用 LVS負載均衡集群體係結構 / 278
11.3 高可用性軟件Heartbeat與Keepalived / 279
11.3.1 開源HA軟件Heartbeat的介紹 / 279
11.3.2 安裝heartbeat / 280
11.3.3 開源HA軟件Keepalived的介紹 / 280
11.3.4 安裝Keepalived / 281
11.4 安裝LVS軟件 / 282
11.4.1 配置與檢查安裝環境 / 282
11.4.2 在Director Server上安裝IPVS管理軟件 / 282
11.5 搭建高可用 LVS集群 / 283
11.5.1 通過heartbeat搭建LVS高可用性集群 / 284
11.5.2 通過Keepalived搭建LVS高可用性集群係統 / 288
11.5.3 通過piranha搭建LVS高可用性集群 / 291
11.6 測試高可用LVS負載均衡集群係統 / 293
11.6.1 高可用性功能測試 / 293
11.6.2 負載均衡測試 / 294
11.6.3 故障切換測試 / 294
11.7 本章小結 / 295
第12章 RHCS集群 / 296
12.1 RHCS集群概述 / 296
12.2 RHCS集群的組成與結構 / 297
12.2.1 RHCS集群的組成 / 297
12.2.2 RHCS集群結構 / 298
12.3 RHCS集群的運行原理及功能 / 299
12.3.1 分布式集群管理器(CMAN)/ 299
12.3.2 鎖管理(DLM) / 299
12.3.3 配置文件管理(CCS) / 300
12.3.4 柵設備(Fence) / 301
12.3.5 高可用性服務管理器 / 302
12.3.6 集群配置和管理工具 / 304
12.3.7 Redhat GFS / 304
12.4 安裝RHCS / 305
12.4.1 安裝前準備工作 / 306
12.4.2 配置共享存儲和RHCS管理端Luci / 307
12.4.3 在集群節點上安裝RHCS軟件包 / 308
12.4.4 在集群節點上安裝和配置iSCSI客戶端 / 309
12.5 配置RHCS高可用集群 / 309
12.5.1 創建一個cluster / 310
12.5.2 創建Failover Domain / 314
12.5.3 創建Resources / 315
12.5.4 創建Service / 319
12.5.5 配置存儲集群GFS / 322
12.5.6 配置錶決磁盤 / 325
12.5.7 配置Fence設備 / 328
12.6 管理和維護RHCS集群 / 333
12.6.1 啓動RHCS集群 / 333
12.6.2 關閉RHCS集群 / 334
12.6.3 管理應用服務 / 334
12.6.4 監控RHCS集群狀態 / 336
12.6.5 管理和維護GFS2文件係統 / 338
12.7 RHCS集群功能測試 / 340
12.7.1 高可用集群測試 / 340
12.7.2 存儲集群測試 / 352
12.8 本章小結 / 352
第13章 Oracle RAC集群 / 353
13.1 Oracle集群體係結構 / 353
13.2 Oracle ClusterWare體係結構與進程介紹 / 355
13.2.1 Oracle ClusterWare 簡介 / 355
13.2.2 Oracle ClusterWare 進程介紹 / 355
13.3 RAC數據庫體係結構與進程 / 356
13.3.1 RAC 簡介 / 356
13.3.2 Oracle RAC的特點 / 357
13.3.3 RAC進程管理 / 358
13.3.4 RAC數據庫存儲規劃 / 359
13.4 安裝Oracle RAC數據庫 / 361
13.4.1 安裝前的係統配置需求 / 361
13.4.2 設置數據庫安裝資源 / 363
13.4.3 配置主機解析文件 / 363
13.4.4 檢查所需軟件包 / 364
13.4.5 配置係統內核參數 / 364
13.4.6 設置 Shell對Oracle用戶的限製 / 365
13.4.7 配置hangcheck-timer內核模塊 / 366
13.4.8 配置係統安全設置 / 367
13.4.9 創建Oracle用戶和組 / 367
13.4.10 設置Oracle用戶環境變量 / 367
13.4.11 配置節點間SSH信任 / 368
13.4.12 配置共享存儲係統 / 369
13.4.13 安裝Oracle Clusterware / 373
13.4.14 安裝Oracle數據庫 / 381
13.4.15 配置Oracle Net / 387
13.4.16 創建RAC數據庫 / 390
13.5 Oracle CRS的管理與維護 / 404
13.5.1 查看集群狀態 / 404
13.5.2 啓動與關閉集群服務資源 / 405
13.5.3 啓動與關閉CRS / 406
13.5.4 管理voting disk / 407
13.5.5 管理OCR / 408
13.5.6 快速卸載CRS / 410
13.6 ASM基本操作維護 / 411
13.6.1 ASM的特點 / 411
13.6.2 ASM的體係結構與後颱進程 / 412
13.6.3 管理ASM實例 / 413
13.7 利用srvctl管理RAC數據庫 / 421
13.7.1 查看實例狀態(srvctl status) / 422
13.7.2 查看RAC數據庫配置信息(srvctl config) / 422
13.7.3 啓動/關閉實例(srvctl start/stop) / 423
13.7.4 增加/刪除/修改實例(srvctl add/remove/modify) / 423
13.8 測試RAC數據庫集群的功能 / 424
13.8.1 負載均衡測試 / 424
13.8.2 透明應用失敗切換測試 / 427
13.9 本章小結 / 428
第14章 構建MySQL+heartbeat+DRBD+LVS集群應用係統 / 430
14.1 MySQL高可用集群概述 / 430
14.2 heartbeat + DRBD高可用性方案的實現原理 / 431
14.3 部署MySQL高可用高擴展集群 / 432
14.3.1 配置之前的準備 / 433
14.3.2 DRBD的部署 / 434
14.3.3 DRBD的配置 / 434
14.3.4 DRBD的維護和管理 / 439
14.3.5 DRBD的性能優化 / 440
14.3.6 MySQL的部署 / 441
14.3.7 heartbeat的部署 / 445
14.4 搭建Slave集群 / 448
14.4.1 為什麼要搭建Slave集群 / 448
14.4.2 利用LVS+Keepalived搭建高可用MySQL Slave集群 / 448
14.4.3 高可用Slave集群的一些注意點 / 451
14.5 部署MySQL集群要考慮的問題 / 451
14.6 本章小結 / 452
· · · · · · (
收起)