Linux運維之道

broadviewbj發表於2014-01-02

Linux運維之道(大量經典案例、問題分析,運維案頭書,紅帽推薦

丁明一 編  

ISBN 978-7-121-21877-4

20141月出版

定價:69.00

448

16

編輯推薦

1、《Linux運維之道》從運維工作的實際需求出發,全面講解相關的技術、經典案例,以及常見問題的解決方案。

2、作者丁明一具有豐富的實踐及教學經驗,且非常認真,本書是其嘔心瀝血之作,不僅內容精益求精,程式碼的編排作者也花了一些心思,可見其縝密。

3、本書得到了多位業內專家的強烈推薦,包括紅帽大中華區考官黃軍寶、原紅帽中國高階認證考官許成林,以及百度、新浪、達內、武漢譽天的運維工程師和培訓講師。

4、運維是一項需要多種技能的工作,本書作者丁明一告訴您如何成為一名合格的運維工程師,能夠直接提高運維人員的工作效率,值得閱讀。

內容提要

隨著開源技術的不斷進步與創新,整個 IT行業中越來越多的企業願意採用開源產品,而基於 Linux的作業系統為這些開源產品提供了一個極佳的操作平臺。《Linux運維之道》將圍繞 Linux作業系統這樣一個基礎平臺,講解如何使用作業系統實現各種開源產品的應用案例。全書主要從運維工作中的應用服務入手,全面講解基本 Linux作業系統以及各種軟體服務的運維工作。

現在的商業環境是一個充滿競爭的環境,很多企業的業務量在不斷地增長,而對服務質量的要求也越來越高。特別是網際網路企業為了滿足客戶更高的需求,提升使用者使用體驗。 IT部門維護的裝置往往數以萬計,如此龐大的裝置維護量,通常會讓 IT管理人員頭疼不已。《Linux運維之道》介紹的自動化運維的內容可以讓我們快速掌握大規模批次處理的簡單方法。僅僅依靠自動化運維還不足以發揮出這些裝置能效,因此,我們還需要將這個伺服器裝置有機地結合在一起,為客戶提供更加安全、快捷、高效的服務,於是叢集技術應運而生。《Linux運維之道》最後將圍繞叢集技術介紹目前比較流行的開源產品部署案例。

Linux運維之道》從基礎講到伺服器的高階應用,適合於 Linux運維人員、Linux愛好者閱讀,可作為 Linux運維人員的一本優秀的案頭書。

目錄

1篇 基礎知識

1章 部署作業系統    2

1.1 光碟安裝Linux作業系統 2

1.1.1 作業系統版本的選擇   2

1.1.2 光碟安裝Linux系統案例   2

1.2 無人職守自動安裝Linux作業系統 15

1.2.1 大規模部署案例   15

1.2.2 PXE簡介  16

1.2.3 Kickstart技術    17

1.2.4 配置安裝伺服器   18

1.2.5 自動化安裝案例   19

1.3 常見問題分析   27

2章 命令工具    30

2.1 基本命令   31

2.1.1 目錄及檔案的基本操作 31

2.1.2 檢視檔案內容 35

2.1.3 連結檔案 37

2.1.4 壓縮及解壓   38

2.1.5 命令使用技巧 39

2.1.6 幫助 40

2.2 Vim文件編輯    42

2.2.1 Vim工作模式  42

2.2.2 Vim游標操作  43

2.2.3 Vim編輯文件  43

2.2.4 Vim查詢與替換    44

2.2.5 Vim儲存與退出    45

2.2.6 Vim小技巧    45

2.3 賬戶與安全 46

2.3.1 賬戶及組的概念   46

2.3.2 建立賬戶及組 46

2.3.3 修改賬戶及組 48

2.3.4 刪除賬戶及組 49

2.3.5 賬戶與組檔案解析 49

2.3.6  檔案及目錄許可權   51

2.3.7  賬戶管理案例 53

2.3.8  ACL訪問控制許可權  54

2.4  儲存管理   55

2.4.1  磁碟分割槽 56

2.4.2  格式化與掛載檔案系統 60

2.4.3  LVM邏輯卷概述    62

2.4.4  建立LVM分割槽例項 64

2.4.5  修改LVM分割槽容量 68

2.4.6  刪除LVM分割槽 69

2.4.7  RAID磁碟陣列概述 69

2.4.8  RAID級別 70

2.4.9  建立與管理軟RAID例項    74

2.4.10  RAID效能測試    77

2.4.11  RAID故障模擬    78

2.5  軟體管理   79

2.5.1  Linux常用軟體包型別  79

2.5.2  RPM軟體包管理    79

2.5.3  使用YUM安裝軟體包   81

2.5.4  YUM使用技巧  83

2.5.5  原始碼編譯安裝軟體 84

2.5.6  常見問題分析 85

2.5.7  服務管理 86

2.6  計劃任務   88

2.6.1  at一次性計劃任務 88

2.6.2  cron週期性計劃任務   89

2.6.3  計劃任務許可權 90

2.7  效能監控   90

2.7.1  監控CPU使用情況——uptime命令   90

2.7.2  監控記憶體及交換分割槽使用情況——free命令   91

2.7.3  監控磁碟使用情況——df命令   91

2.7.4  監控網路使用情況——ifconfignetstat命令   92

2.7.5  監控程式使用情況——pstop命令 94

2.8  網路配置   95

2.8.1  命令列設定網路引數   95

2.8.2  檔案修改網路引數 97

2.8.3  網路故障排錯 99

2.9  核心模組   101

2.9.1  核心模組存放位置 101

2.9.2  檢視已載入核心模組   102

2.9.3  載入與解除安裝核心模組   102

2.9.4  修改核心引數 103

3章 自動化運維  104

3.1  Shell簡介  104

3.2  Bash功能介紹   105

3.2.1  命令歷史 105

3.2.2  命令別名 105

3.2.3  管道與重定向 106

3.2.4  快捷鍵   107

3.3  Bash使用技巧   107

3.3.1  重定向技巧   107

3.3.2  命令序列使用技巧 108

3.3.3  作業控制技巧 108

3.3.4  花括號{}的使用技巧   109

3.4  變數   109

3.4.1  自定義變數   109

3.4.2  變數的使用範圍   110

3.4.3  環境變數 111

3.4.4  位置變數 112

3.4.5  變數的展開替換   112

3.4.6  陣列 113

3.4.7  算術運算與測試   114

3.5 Shell引號  116

3.5.1 反斜線   116

3.5.2 單引號   117

3.5.3 雙引號   117

3.5.4 反引號   117

3.6 正規表示式 118

3.6.1 基本正規表示式(Regular Expression 119

3.6.2  擴充套件正規表示式(Extended Regular Expression122

3.6.3 POSIX規範  122

3.6.4 GNU規範    123

3.7 Sed 124

3.7.1 Sed簡介      124

3.7.2 Sed基本語法格式      124

3.7.3 Sed入門範例      125

3.7.4  Sed指令與指令碼 127

3.7.5  Sed高階應用      132

3.8  Awk         136

3.8.1  Awk簡介     136

3.8.2  Awk工作流程     136

3.8.3  Awk基本語法格式     137

3.8.4  Awk操作指令     138

3.8.5 Awk高階應用     142

3.9 Shell指令碼        145

3.9.1 指令碼格式範例    146

3.9.2 執行指令碼的方式         146

3.9.3 Shell指令碼簡單案例    147

3.9.4 判斷語句應用    150

3.9.5  迴圈語句應用    154

3.9.6  控制語句應用    158

3.9.7  Shell函式應用    159

3.9.8  綜合案例    162

3.9.9  圖形指令碼    166

2篇 網路服務

4章 搭建網路服務          170

4.1  NFS檔案共享         170

4.1.1  NFS伺服器配置 171

4.1.2  客戶端訪問NFS共享         173

4.1.3  NFS高階設定  174

4.1.4  常見問題分析 177

4.2  Samba檔案共享  178

4.2.1  快速配置Samba伺服器 178

4.2.2  訪問Samba共享   180

4.2.3  配置檔案詳解 182

4.2.4  Samba應用案例    183

4.2.5  常見問題分析 186

4.3  vsftpd檔案共享 187

4.3.1  FTP工作模式  188

4.3.2  安裝與管理vsftpd 189

4.3.3  配置檔案解析 189

4.3.4  賬戶許可權 190

4.3.5  vsftpd應用案例   191

4.3.6  常見問題分析 195

4.4  ProFTPD檔案共享    196

4.4.1  安裝ProFTPD軟體 196

4.4.2  配置檔案解析 197

4.4.3  ProFTPD許可權設定  198

4.4.4 虛擬使用者應用案例 198

4.4.5 常見問題分析 202

4.5  Subversion版本控制 202

4.5.1 Subversion簡介   202

4.5.2 Subversion伺服器對比 204

4.5.3 安裝Subversion軟體  205

4.5.4 svnserve伺服器搭建   205

4.5.5 svnserve+SSH伺服器搭建   210

4.5.6 Apache+SVN伺服器搭建 211

4.5.7 常見問題 213

4.6  網路儲存伺服器 214

4.6.1 iSCSI網路儲存    215

4.6.2 Rsync檔案同步    219

4.6.3 Rsync+Inotify實現檔案自動同步    225

4.7  DHCP伺服器 231

4.7.1 安裝軟體 231

4.7.2 配置檔案解析 232

4.7.3 DHCP應用案例 233

4.7.4 常見問題分析 234

4.8  DNS域名伺服器  235

4.8.1 DNS簡介  235

4.8.2 安裝DNS軟體 237

4.8.3 配置檔案解析 238

4.8.4 部署主域名伺服器 241

4.8.5 部署從域名伺服器 245

4.8.6 DNS檢視應用案例  247

4.8.7 常見問題分析 249

4.9  Apache網站伺服器   250

4.9.1 Apache簡介   250

4.9.2 安裝Apache軟體  250

4.9.3 配置檔案解析 252

4.9.4 虛擬主機應用案例 257

4.9.5 網站安全應用案例 259

4.9.6 常見問題分析 260

4.10  Nginx網站伺服器   261

4.10.1 Nginx簡介   261

4.10.2 安裝Nginx軟體  261

4.10.3 配置檔案解析    264

4.10.4 虛擬主機應用案例    267

4.10.5 SSL網站應用案例 269

4.10.6 HTTP響應狀態碼  270

4.11  資料庫基礎    271

4.11.1 MySQL資料庫簡介 271

4.11.2 安裝MySQL軟體  272

4.11.3 MySQL管理工具   273

4.11.4 資料庫定義語言  278

4.11.5 資料庫操作語言  283

4.11.6 資料庫查詢語言  285

4.11.7 MySQL與安全 286

4.11.8 MySQL資料庫備份與還原   289

4.12  動態網站架構案例  290

4.12.1 論壇系統應用案例    291

4.12.2 部落格系統應用案例    297

5章 系統監控    301

5.1 Cacti監控系統  301

5.1.1 簡介 301

5.1.2 Cacti監控應用案例    302

5.2  Nagios監控系統 310

5.2.1 簡介 310

5.2.2 Nagios監控應用案例   311

6章 網路安全    323

6.1  iptables防火牆 323

6.1.1 iptables防火牆語法格式   324

6.1.2 iptables防火牆應用案例   327

6.1.3 防火牆備份與還原 330

6.2  SELinux簡介    331

6.2.1 SELinux配置檔案  331

6.2.2 SELinux軟體包    332

6.2.3 SELinux安全上下文    333

6.2.4 SELinux排錯  334

6.2.5 修改安全上下文   336

6.2.6 檢視與修改布林值 338

6.2.7 SELinux應用案例  339

6.2.8 httpd相關的SELinux安全策略  339

6.2.9 FTP相關的SELinux安全策略    340

6.2.10 MySQL相關的SELinux安全策略 341

6.2.11 NFS相關的SELinux安全策略   342

6.2.12 Samba相關的SELinux安全策略 343

6.3  OpenVPN    344

6.3.1 OpenVPN簡介  344

6.3.2 安裝OpenVPN服務 345

6.3.3 OpenVPN客戶端    348

3篇 高階應用

7章 虛擬化技術  352

7.1  虛擬化產品對比 352

7.1.1 VMware虛擬化技術 353

7.1.2 Xen虛擬化技術    353

7.1.3 KVM虛擬化技術    354

7.2  KVM虛擬化應用案例  354

7.2.1 安裝KVM元件 354

7.2.2 建立虛擬機器作業系統   355

7.2.3 監控虛擬機器作業系統   360

7.2.4 命令工具使用技巧 362

7.2.5 虛擬儲存與虛擬網路   367

8章 叢集及高可用    377

8.1  叢集   377

8.1.1 LVS負載均衡簡介  377

8.1.2 基於NATLVS負載均衡   378

8.1.3 基於TUNLVS負載均衡   379

8.1.4 基於DRLVS負載均衡 380

8.1.5 LVS負載均衡排程演算法  381

8.1.6 部署LVS服務 382

8.1.7 LVS負載均衡應用案例  385

8.1.8 常見問題分析 392

8.2  Keepalived雙機熱備 393

8.2.1 Keepalived簡介   393

8.2.2 VRRP協議簡介 394

8.2.3 安裝Keepalived服務  394

8.2.4 配置檔案解析 395

8.2.5 Keepalived+LVS應用案例   396

8.2.6 常見問題分析 404

8.3  Squid代理伺服器    405

8.3.1 Squid簡介    405

8.3.2 安裝Squid服務   405

8.3.3 常見代理伺服器型別   406

8.3.4 配置檔案解析 407

8.3.5 Squid應用案例    408

8.4  HAProxy負載均衡    412

8.4.1 HAProxy簡介  412

8.4.2 配置檔案解析 413

8.4.3 HAProxy應用案例  416

8.5  Nginx高階應用  420

8.5.1 Nginx負載均衡    420

8.5.2 Nginx負載均衡案例    422

8.5.3 Nginx rewrite規則    425

8.6  MySQL高可用    429

8.6.1 MySQL複製    429

8.6.2 一步一步操作MySQL複製 430

 

精彩節章

5.1.2 Cacti監控應用案例

1.被監控端配置

Cacti監控其他主機是透過簡單的網路管理協議(SNMP)收集被監控端的資料資訊的,因此,被監控端Web1Web2伺服器都需要安裝net-snmp以及依賴包lm_sensors,並設定SNMP配置檔案。lm_sensors軟體可以幫助我們監控硬體資訊(如CPU的工作電壓等資料),具體步驟如下。

安裝snmp主程式及相關的依賴軟體包,被監控主機僅需要修改snmp主配置檔案即可(根據模板檔案,本書對需要修改的地方用黑體字表示)。

[root@web1 ~]# yum -y install net-snmp lm_sensors

[root@web1 ~]# vim /etc/snmp/snmpd.conf

 

# First, map the community name "public" into a "security name".

com2sec notConfigUser  default       rose0011

# Second, map the security name into a group name.

group   notConfigGroup v1           notConfigUser

group   notConfigGroup v2c           notConfigUser

# Third, create a view for us to let the group have rights to.

view    systemview    included   .1.3.6.1.2.1.1

view    systemview    included   .1.3.6.1.2.1.25.1.1

# Finally, grant the group read-only access to the all view.

access  notConfigGroup ""      any       noauth    exact  all none none

view all    included  .1                               80

syslocation Unknown (edit /etc/snmp/snmpd.conf)

syscontact Root (configure /etc/snmp/snmp.local.conf)

dontLogTCPWrappersConnects yes

#備註,以上黑色加粗部分為需要修改的內容

 

SNMP配置檔案主要包括四部分內容需要修改。第一步,對映通訊名稱到安全使用者名稱稱;第二步,將使用者加入到組中;第三步,為組建立systemvies檢視;第四步,建立all檢視並賦予組只讀訪問許可權。主配置檔案設定完成後重啟服務,即可透過客戶端訪問該伺服器獲得系統資訊,SNMP使用的埠號為UDP 161埠以及TCP 199埠,我們需要在防火牆規則中開放這些埠資料。

[root@web1 ~]# iptables -I INPUT -p udp --dport 161 -j ACCEPT

[root@web1 ~]# iptables -I INPUT -p tcp --dport 199 -j ACCEPT

[root@web1 ~]# service iptables save

[root@web1 ~]# service snmpd start

[root@web1 ~]# chkconfig snmpd start

 

Web1Web2被監控主機均啟動snmpd服務後,可以在Cacti主機上執行snmpwalk命令驗證SNMPD服務是否執行正常,如果出現如下提示,則說明一切正常(命令輸出僅為部分資訊)

[root@cacti ~]# snmpwalk -v 1 192.168.0.101 -c rose0011 system

SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1

SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB

SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB

SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip

2.安裝Cacti服務

Cacti是基於PHPWeb監控管理系統,所以Cacti監控主機需要部署LAMP環境,此環境可以參考第4章的內容搭建。此外,還需要使用SNMP簡單網路管理協議從被監控主機提取資料,然後使用RRDTool工具儲存資料並最終生成圖表資訊。

安裝相關依賴包軟體:

[root@cacti ~]# yum -y install net-snmp net-snmp-devel net-snmp-utils\

>net snmp-libs lm_sensors php-xml zlib libpng freetype cairo-devel\

>pango-devel gd

 

因為Cacti的優勢在於其豐富的圖表效果,為了將資料繪製成相應的更加直觀的圖表格式輸出,就需要安裝RRDTool工具,該軟體的安裝非常簡單,使用configuremakemake install預設安裝即可。

[root@cacti ~]# wget

[root@cacti ~]# tar -xzf rrdtool-1.4.7.tar.gz -C /usr/src/

[root@cacti ~]# cd /usr/src/rrdtool-1.4.7/

[root@cacti ~]# ./configure --prefix=/usr/local/

[root@cacti ~]# make && make install

 

設定Apache虛擬主機:

因為是基於Web的監控平臺,而本書Web伺服器採用的是Apache HTTP Server,因此,需要修改Apache主配置檔案httpd.conf,透過DirectoryIndex index.php index.html指令設定預設首頁為index.php,去除Include conf/extra/httpd-vhosts.conf指令前的“#”符號。Include指令將讀取httpd-vhosts.conf檔案的內容作為主配置檔案的一部分,並在httpd-vhosts.conf檔案中加入用來實現監控的虛擬主機。

[root@cacti ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

 

    ServerAdmin Jacob_rose@gmail.com

    DocumentRoot "/usr/local/apache2/htdocs/cacti"

    ServerName cacti.example.com

 

修改PHP配置檔案的時區設定,預設date.timezone為註釋行,需要手動開啟並設定時區,否則進行Cacti初始化時會提示It is not safe to rely on the system's timezone settings

本書將時區修改為上海,即編輯PHP配置檔案/usr/local/php5/lib/php.ini,修改其中的時區引數date.timezone = "Asia/Shanghai"

部署Cacti監控系統,建立Web頁面根路徑monitor目錄,解壓Cacti包並移動至Web根路徑下,因為Apache預設以daemon使用者及組身份啟動,所以需要使用chown命令修改目錄許可權以便Apache讀取相關頁面。

[root@cacti ~]# wget

[root@cacti ~]# tar -xzf /root/cacti-0.8.8a.tar.gz -C /usr/src/

[root@cacti ~]# mv /usr/src/cacti-0.8.8a/ /usr/local/apache2/htdocs/cacti

[root@cacti ~]# chown -r daemon.daemon /usr/local/apache2/htdocs/cacti

[root@cacti ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

[root@cacti ~]# service iptables save

[root@cacti ~]# /usr/local/apache2/bin/apachectl restart

 

建立初始化資料庫,這裡要確保MySQL伺服器程式是開啟的,透過Cacti軟體包內提供的資料庫備份檔案,在本機生成名為cacti的資料庫,建立cactiuser賬戶,並賦予其訪問cacti資料庫的所有許可權,該賬號密碼為rose0011

[root@cacti ~]# /usr/local/mysql/bin/mysqladmin -u root -p create cacti

[root@cacti ~]# cd /usr/local/apache2/htdocs /cacti

[root@cacti cacti]# /usr/local/mysql/bin/mysql -u root -p cacti < cacti.sql

[root@cacti cacti]# /usr/local/mysql/bin/mysql -u root -p

mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'rose0011';

mysql> flush privileges;

mysql> exit

 

設定Cacti配置檔案,根據上一步資料庫初始化操作所建立的資料庫資訊,修改Cacti配置檔案中的資料庫引數資料,需要修改的內容如下。

[root@cacti ~]# /usr/local/apache2/htdocs/cacti/include/config.php

 

$database_type = "mysql";           #資料庫型別

$database_default = "cacti";        #預設資料庫名稱

$database_hostname = "localhost";   #資料庫伺服器主機名稱

$database_username = "cactiuser";   #資料庫賬戶

$database_password = "rose0011";    #資料庫密碼

$url_path = "/";                    #設定監控頁面為Apache設定的頁面根路徑

 

作者簡介

丁明一,領航眾達教育創始人,紅帽認證高階講師(RHCI),有著豐富的Linux系統運維以及講師經驗,培養學生兩千餘名。精通Linux系統管理、生產環境大規模集中部署Linux環境、建立Shell指令碼自動化管理平臺。主持部署多個LAMP網路服務平臺、構建管理多個大型Nginx Web服務平臺,專案實施中利用CactiNagios監控平臺實現自動故障報警。對企業叢集環境及高效能、高可用構架有深入的研究。擁有豐富的虛擬化技術使用經驗:XenKVMVMware,利用虛擬化技術構建高效、綠色節能機房。對安全與調優有獨特的理解,精通Linux防火牆、SELinux安全、系統效能調最佳化。翻譯過多篇國外頂級雲端計算解決方案文件,熟悉國外主流雲端計算技術發展。

媒體評論

 

本書從基本的作業系統知識與實踐到網際網路應用,由淺入深,由表及裡,層層推進;對作為開源技術中既基礎又非常重要的Linux作業系統的各類操作和技巧作了詳細的闡述;進而對各類常用服務如ApacheNginxMySQL等進行了深度的剖析;同時又考慮到系統及服務的安全。可見作者心思縝密,為本書費盡心血。拜讀本書之後,受益非淺,其中許多小技巧在工作中非常有幫助,相信讀者在閱讀本書之後也能大受裨益。

紅帽大中華區考官  黃軍寶

 

在技術發展十分迅速的領域,趕時髦的書多如牛毛,書店裡充滿了應景之作,但是,真正經過深入思考、用心、用技術寫作的書不多。而本書卻是一位技術高手的嘔心瀝血之作,書中的每項技術都介紹得很通透,並且反覆經過思考和推敲。在本書即將出版之際,我向作者表示深深的敬意和祝賀,並向所有的Linux愛好者推薦這本學習Linux技術的好書。

                                              原紅帽中國高階認證考官 許成林

 

作者以其多年的工作經驗,總結歸納了一套適合於各種層次水平的Linux書籍。本書內容講解深入淺出,配合大量的經典案例,通俗易懂,實用性非常強。尤其書中提供的常見問題分析,根據各種常見問題提供了不同的解決方案,這樣可以幫助讀者排除很多已知的常見故障。對於初級運維人員以及高階運維工作者,本書都相當高的具體技術實踐指導意義。

  武漢譽天高階講師  鄒聖林

 

很多初學者,包括筆者的初學期都發現,在品類繁多的入門書籍中,很難找到一本由基礎知識展開,深入淺出的覆蓋到程式語言、叢集架構等全面運維知識點的書籍。本書作者從實際運維工作出發,結合概念、知識,帶領讀者從實際操作深化到工作原理,讓讀者輕鬆上手,全面掌握理論,強化實際操作,非常值得一讀。

百度高階運維工程師  劉宇

 

 

運維方向上一直缺乏一本內容比較全面的書籍。這本書正是從入門到高階,內容覆蓋了運維的方方面面,非常有實踐指導價值,是運維和開發人員都可以深入閱讀的一本好書。

                                                    新浪運維架構師  白貴興

 

這是一本難得的好書,內容全面涵蓋了Linux入門基礎、生產環境常用服務以及大規模業務部署。本書語言精煉、內容緊湊,非常適合作為Linux技術人員的枕邊書。透過閱讀本書內容您可以獲得大量企業實踐專案的實際動手能力。

達內集團網路工程教研總監  周華飛

 

前言

撰寫本書的起因

目前越來越多的企業需要依賴於IT技術釋出產品與服務,尤其是電子商務最為明顯,它凸顯了IT技術在現代企業中的重要性。當企業需要部署IT業務時,機房與伺服器是整個IT技術生態鏈中非常重要的環節。對伺服器作業系統的選擇,Linux以其開源、穩定、安全的特性,目前在伺服器領域已經稱為無可爭議的霸主,而且有眾多的服務可以應用於Linux平臺,可以靈活地應用這些服務以滿足企業的各種業務需求。本書重點在於講解如何部署伺服器作業系統以及在Linux作業系統平臺上部署常見的IT服務。

從1991年起至今,Linux已經快速成長為企業伺服器產品的首選作業系統,越來越多的IT企業採用Linux作為其伺服器端平臺作業系統,為客戶提供高效能、高可用的業務服務。隨著紅帽公司宣佈其年營業額超10億美元,也標誌著開源Linux作業系統的光輝時代已經來臨。紅帽的成功預示著採用開源模式的Linux作業系統可以為企業提供安全、可靠和高效能的平臺系統。伺服器領域中Linux作業系統的份額越來越大,而目前技術人才又相對匱乏,導致大量的就業人才缺口,本書著眼於Linux技術中方方面面的主流技術,為讀者進入Linux行業開啟了一扇暢通的大門。本書主要分為三部分,從基礎的系統管理到Shell自動化運維的實現,再到網路伺服器的部署實施,最後透過案例介紹高負載網路架構的企業環境。本書在選擇作業系統發行版本時,綜合了各個發行版本的特點,最終選擇了CentOS作為本書的基礎系統平臺。CentOS是眾多Linux發行版本之一,但因為其源自於RedHat 框架,同時該版本完全開源,包括開放的軟體YUM源,可以為使用者帶來更加方便的升級方法。另外,目前國內很多企業對於CentOS發行版也非常熱衷,這也增加了本書的實用性。

本書結構

本書第1篇為基礎知識篇,主要講述如何安裝部署Linux作業系統以及對基本命令列工具的使用,幫助讀者快速掌握Linux基本知識要點,夯實基本功。基於Shell指令碼實現運維工作自動化,幫助運維人員擺脫週而復始地進行無效的工作,加快企業進入自動化、智慧化的運維環境。具體包括:

  部署作業系統

  命令工具

  自動化運維

第2篇為網路服務架構篇,主要討論網路架構的規劃與部署,透過網站綜合案例提升讀者的應用能力,並針對常見問題提供故障排錯。透過部署監控與安全軟體確保網路服務的正常及安全執行。具體包括:

  搭建網路服務

  系統監控

  網路安全

第3篇為高階應用,主要描述當前主流的虛擬化及伺服器高可用技術,滿足大型企業服務的生產需求。透過叢集及高可用軟體充分體現巨大的資料壓力下產品業務的安全及效能優勢。

  虛擬化技術

  叢集及高可用

  資料庫複製

排版說明

關於本書中的排版,如果書中的命令是需要讀者輸入,我們將使用等比例黑體加粗顯示;對於計算機輸出的命令返回結果,書中將使用等比例斜體字顯示。由於採用的開源模式,隨意Linux作業系統中擁有大量的文字形式的配置檔案,對於開啟及修改文字檔案中的內容,書中將把檔案中的內容放置於方框中排版書寫;對於需要讀者注意的地方,書中會給出明確的注意提示。

本書讀者

本書可以作為學習Linux應用技術的一本指南,主要針對與希望進入Linux運維行業的新手,不過對於有經驗的專家而言,其中的部分章節同樣適用。另外,本書也可以作為計算機培訓參考教材。

勘誤

作者在編寫本書的過程中已經花了大量的時間對內容進行稽核與校驗,但因為時間緊迫,作者精力有限,書中難免出現一些錯漏,敬請廣大專家和讀者批評、指正。

關於本書,您有任何意見或建議可以傳送郵件至ydh0011@163.com或使用部落格平臺交流 http://manual.blog.51cto.com

致謝

由於是採用的業餘時間編寫本書,佔有了大量本應該可以和家人在一起的歡樂時光,在此感謝家人對我的支援與勉勵,感謝我一歲兒子(子墨)給家庭帶來的無限快樂。感謝我所有的同事對此項任務的全力配合與支援。感謝我的學生對本書的期待,是你們的無形支援促成了我編寫本書。感謝生活中所有給予我幫助的朋友,是你們支援的讓我不斷第進步與創新,不管是工作中還是生活中,好朋友都是我們成功的堅實後盾。感謝電子工業出版社的編輯董英為本書的出版提供了大力的支援。

丁明一

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-1066295/,如需轉載,請註明出處,否則將追究法律責任。

相關文章