本書(shū)主要講解的是Linux生產(chǎn)環(huán)境下的實(shí)際案例,并給出解決方案、解決思路、處理方法,以及涉及的技術(shù),并且擴(kuò)展到不同的適用面,包括Rsync傳輸工具、PXE+FTP、 數(shù)據(jù)庫(kù)HA、負(fù)載均衡、DRBD、rescue搶救、GlusterFS海量存儲(chǔ)、容器和調(diào)優(yōu)等多方面技術(shù)。軟件版本以最新的CentOS 7為基礎(chǔ),有一定的前瞻性,將生產(chǎn)的案例配套到CentOS 7的系統(tǒng),讓讀者既學(xué)到新系統(tǒng)的使用,也學(xué)到在新系統(tǒng)下如何解決這些問(wèn)題的方法。根據(jù)解決方案不同,同時(shí)也會(huì)給出6版本和7版本的不同解決方案。
11年的IT運(yùn)維經(jīng)驗(yàn),曾擔(dān)任RedHat 中國(guó)區(qū)考官,現(xiàn)任某金融科技公司技術(shù)專家和產(chǎn)品經(jīng)理一職,面向金融行業(yè)運(yùn)維和架構(gòu)以及基礎(chǔ)平臺(tái)軟件開(kāi)發(fā)的產(chǎn)品設(shè)計(jì)。
目錄
第一部分 Linux實(shí)用生產(chǎn)技能
第1章 生產(chǎn)常用基礎(chǔ)技能 2
1.1 Hostname & Network 3
1.1.1 基礎(chǔ)知識(shí) 3
1.1.2 Network指令 3
1.1.3 配置以太網(wǎng)靜態(tài)IP地址 4
1.1.4 實(shí)用網(wǎng)絡(luò)指令 5
1.1.5 修改網(wǎng)絡(luò)配置文件 6
1.1.6 添加、刪除路由條目 7
1.1.7 網(wǎng)絡(luò)配置實(shí)例 8
1.1.8 網(wǎng)橋 12
1.1.9 bond 13
1.1.10 圖形化配置 14
1.1.11 主機(jī)名 15
1.2 軟件管理 16
1.2.1 基礎(chǔ)知識(shí) 16
1.2.2 RPM 16
1.2.3 YUM軟件包管理器 19
1.2.4 tar包管理 21
1.2.5 tar解壓和壓縮 22
1.2.6 源碼安裝 22
1.2.7 復(fù)雜的實(shí)例 23
1.3 journalctl & NTP 24
1.3.1 journalctl 24
1.3.2 NTP 26
1.4 rsync傳輸工具 27
1.5 自定義安裝光盤(pán) 30
1.5.1 需要解決的問(wèn)題 30
1.5.2 可以選擇的方案 30
1.5.3 該選擇哪種呢 30
1.5.4 自定義光盤(pán) 31
1.6 PXE自動(dòng)化安裝 36
1.6.1 解決問(wèn)題和注意事項(xiàng) 36
1.6.2 Kickstart + PXE 36
1.6.3 PXE無(wú)人值守安裝配置 38
1.7 系統(tǒng)急救 42
1.7.1 意外的禮物 42
1.7.2 單用戶模式 42
1.8 容器 45
1.8.1 Docker的安裝和使用 45
1.8.2 使用Docker容器 46
1.8.3 修改/保存Docker容器 47
1.8.4 Docker橋接網(wǎng)絡(luò) 47
1.9 定制容器和私有倉(cāng)庫(kù) 48
1.9.1 創(chuàng)建Docker容器 48
1.9.2 定制容器 49
1.9.3 私有倉(cāng)庫(kù) 51
1.10 虛擬化(KVM) 53
1.10.1 KVM的使用 54
1.10.2 KVM熱遷移 55
第2章 生產(chǎn)實(shí)用LVM技術(shù) 58
2.1 LVM基礎(chǔ) 59
2.1.1 LVM介紹及其原理 59
2.1.2 LVM管理和使用 60
2.1.3 LVM 刪除 65
2.2 LVM Cache & Snapshot 66
2.2.1 LVM Cache 66
2.2.2 DM Cache 實(shí)例 67
2.2.3 LVM Snapshot 69
2.2.4 Snapshot測(cè)試 70
2.3 精簡(jiǎn)資源 73
2.3.1 精簡(jiǎn)資源介紹 73
2.3.2 精簡(jiǎn)資源實(shí)例 73
2.4 條帶化(Striped) 78
2.4.1 線性和條帶簡(jiǎn)介 78
2.4.2 條帶化實(shí)例 79
2.5 數(shù)據(jù)處理 82
2.5.1 數(shù)據(jù)遷移 82
2.5.2 LVM數(shù)據(jù)遷移實(shí)例 83
2.5.3 PVMOVE在線更換磁盤(pán) 85
2.6 災(zāi)難恢復(fù) 86
2.6.1 災(zāi)難的劃分 86
2.6.2 如何預(yù)防 87
2.6.3 LVM邏輯卷故障——災(zāi)難恢復(fù)實(shí)例 87
第3章 CentOS 7集群構(gòu)建 90
3.1 Pacemaker基礎(chǔ) 91
3.1.1 CentOS 7中的Cluster 91
3.1.2 Pacemaker集群類(lèi)型 91
3.2 PCS-2集群的創(chuàng)建 93
3.3 PCS-3故障模擬和恢復(fù) 106
3.3.1 斷開(kāi)VIP網(wǎng)絡(luò),模擬集群切換 106
3.3.2 如何解決回切問(wèn)題(主機(jī)恢復(fù)后,VIP回歸到原主機(jī)) 107
3.3.3 斷開(kāi)心跳測(cè)試(腦裂的防范) 108
3.3.4 雙心跳 109
3.3.5 stonith設(shè)置(Fence設(shè)置) 111
3.3.6 備份和恢復(fù)集群 112
3.4 PCS——DB2+Web 113
3.4.1 DB2 HA配置 113
3.4.2 Web集群 119
3.5 PCS HA(NFS+DRBD) 121
3.5.1 背景介紹 121
3.5.2 DRBD+NFS+PCS配置實(shí)例 122
第4章 系統(tǒng)調(diào)優(yōu) 130
4.1 性能調(diào)優(yōu)的基礎(chǔ)理論 131
4.1.1 調(diào)優(yōu)不是萬(wàn)能的 131
4.1.2 信息模型 131
4.1.3 屏蔽干擾項(xiàng)和學(xué)會(huì)使用幫助文檔 133
4.1.4 忠告 133
4.1.5 工具 134
4.1.6 單位 135
4.1.7 實(shí)例 135
4.2 經(jīng)典理論(LAW) 136
4.2.1 為什么要理解隊(duì)列理論 136
4.2.2 隊(duì)列理論的核心思想 136
4.2.3 帶寬和吞吐量 141
4.3 硬件 142
4.3.1 CPU 142
4.3.2 內(nèi)存(Memory) 144
4.3.3 存儲(chǔ) 145
4.3.4 網(wǎng)絡(luò) 146
4.3.5 在Linux上查看信息 146
4.4 Process & CPU 147
4.4.1 特征化的進(jìn)程 148
4.4.2 Linux進(jìn)程狀態(tài) 148
4.4.3 進(jìn)程在運(yùn)行之前的準(zhǔn)備工作 148
4.4.4 CPU的緩存類(lèi)型 149
4.4.5 調(diào)度 150
4.4.6 優(yōu)先級(jí) 150
4.4.7 優(yōu)先級(jí)和隊(duì)列的分類(lèi) 151
4.4.8 SCHED_OTHER 151
4.4.9 對(duì)列調(diào)度器的調(diào)整策略 151
4.4.10 內(nèi)核時(shí)鐘 152
4.4.11 SystemTap 152
4.4.12 SystemTap Scripts 152
4.4.13 實(shí)驗(yàn)1——進(jìn)程優(yōu)先級(jí)對(duì)比 153
4.4.14 實(shí)驗(yàn)2——安裝SystemTap 153
4.5 Memory調(diào)優(yōu) 158
4.5.1 虛擬地址和物理地址 158
4.5.2 內(nèi)存的分配 159
4.5.3 Page Walk和大頁(yè) 159
4.5.4 Memory Cache 161
4.5.5 vmcommit 162
4.5.6 SysV IPC 163
4.5.7 幾種頁(yè)面的狀態(tài)和類(lèi)型 164
4.5.8 Swap分區(qū) 165
4.6 Network 166
4.6.1 數(shù)據(jù)的發(fā)送和接收 166
4.6.2 Socket Buffer 167
4.6.3 調(diào)整UDP Buffer的大小 167
4.6.4 調(diào)整TCP Buffer的大小 168
4.6.5 參考實(shí)驗(yàn) 168
4.7 磁盤(pán)調(diào)度& FileSystem 173
4.7.1 磁盤(pán)與I/O 173
4.7.2 Elevator算法 175
4.7.3 VFS-虛擬文件系統(tǒng) 176
4.8 Tuned 179
第5章 Linux系統(tǒng)安全 182
5.1 Linux安全介紹 183
5.2 Linux安全加固 185
5.3 OpenVAS的部署和使用 189
第6章 Linux實(shí)用規(guī)范 197
6.1 系統(tǒng)安裝規(guī)范 198
6.2 問(wèn)題處理規(guī)范 202
6.3 上線檢查規(guī)范 205
第二部分 企業(yè)存儲(chǔ)解決方案
第7章 GlusterFS——分布式存儲(chǔ)技術(shù)詳解 210
7.1 GlusterFS 211
7.1.1 GlusterFS介紹 211
7.1.2 GlusterFS常用卷 212
7.1.3 安裝GlusterFS 214
7.2 GlusterFS技巧 219
7.2.1 GlusterFS副本卷更換磁盤(pán) 219
7.2.2 空間擴(kuò)容 221
7.2.3 掛載點(diǎn)網(wǎng)絡(luò)中斷 222
7.2.4 磁盤(pán)隱性錯(cuò)誤 223
7.2.5 保留磁盤(pán)數(shù)據(jù),更換主機(jī)(災(zāi)難恢復(fù)) 223
7.2.6 參數(shù)調(diào)優(yōu) 224
7.2.7 控制 225
7.2.8 寫(xiě)操作相關(guān) 226
7.2.9 讀操作相關(guān) 226
7.2.10 線程控制 227
7.2.11 腦裂 227
7.3 GlusterFS高級(jí)特性 229
7.3.1 配額 229
7.3.2 RDMA 230
7.3.3 Trash Translator 231
7.3.4 Profile 監(jiān)控分析 232
7.3.5 top 232
7.3.6 Statedump統(tǒng)計(jì)信息 233
7.3.7 災(zāi)備(Geo-Replication) 233
第8章 Ceph——分布式存儲(chǔ)技術(shù)詳解 237
8.1 Ceph 1 238
8.1.1 Ceph簡(jiǎn)介 238
8.1.2 Ceph的設(shè)計(jì)思路 238
8.1.3 Ceph的架構(gòu) 238
8.1.4 Ceph的安裝和配置 242
8.1.5 查看相關(guān)Map信息 252
8.2 Ceph 2 RBD 253
8.2.1 RBD塊設(shè)備 253
8.2.2 創(chuàng)建塊設(shè)備 253
8.2.3 使用塊設(shè)備 255
8.2.4 快照 256
8.2.5 克隆 257
8.2.6 OpenStack支持 258
8.2.7 緩存參數(shù) 258
8.2.8 預(yù)讀參數(shù) 259
8.3 Ceph對(duì)象網(wǎng)關(guān)1 259
8.3.1 Ceph對(duì)象網(wǎng)關(guān)實(shí)現(xiàn)開(kāi)源云盤(pán)系統(tǒng)(OwnCloud社區(qū)版) 259
8.3.2 調(diào)試配置,簡(jiǎn)單使用 261
8.3.3 Ceph對(duì)象存儲(chǔ)結(jié)合OwnCloud 265
8.4 Ceph對(duì)象網(wǎng)關(guān)2 267
8.4.1 創(chuàng)建bucket 268
8.4.2 Zone同步介紹(多活機(jī)制) 269
8.4.3 實(shí)施 270
8.5 Ceph+SSD 276
8.6 Ceph-6 Luminous版本 279
8.6.1 升級(jí)和重新部署 280
8.6.2 Dashboard 284