構建高可用Linux服務器( 簡體 字) | |
作者:余洪春 | 類別:1. -> 作業系統 -> Linux |
出版社:機械工業出版社 | 3dWoo書號: 33310 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:8/1/2012 | |
頁數:501 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111391791 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
推薦序一
推薦序二 推薦序三 推薦序四 前言 第1章Linux服務器構建基礎/1 11Linux服務器的安裝方法/2 111光盤安裝CentOS 55 x86_64/2 112使用PXE+DHCP+Apache+KickStart無人值守安裝RHEL/12 113Linux的其他安裝方法/17 12全面了解Linux服務器/18 121查看Linux服務器的CPU詳細情況/18 122查看Linux服務器的內存使用情況/19 123查看Linux服務器的硬盤使用情況/20 124查看Linux系統的平均負載/23 125查看Linux系統的其他參數/24 13Linux服務器的網絡配置/27 131配置Linux服務器的網絡/27 132查看Linux服務器的網絡連接/30 133查看Linux服務器的進程/38 134在CentOS 55、FreeBSD 81及Windows下添加靜態路由/42 14Linux服務器的日志管理/45 141系統日志syslogconf的配置詳解/45 142Linux下的日志維護技巧/46 143用Shell腳本分析Nginx日志/50 15Linux服務器的優化/53 151根據服務器應用來選購服務器/53 152CentOS 55最小化安裝后的優化/57 153優化Linux下的內核TCP參數以提高系統性能/61 154生產服務器應盡量選擇編譯安裝軟件包/63 16用開源工具Nagios監控Linux服務器/64 161CentOS 55下的監控工具簡介/64 162Nagios應該監控的服務器基礎選項/65 163Nagios監控Windows 2003時應注意的事項/66 164Nagios使用心得/67 17項目實施中應該注意的事項/68 18小結/70 第2章Linux服務器虛擬化/71 21FreeBSD下的jail虛擬機/72 211jail虛擬機的特點/72 212在FreeBSD 81下安裝jail的詳細步驟/73 213使用jexec工具管理jail虛擬機/74 214使用ezjail工具創建和管理jail虛擬機/75 215jail在生產環境下的注意事項/78 22Linux系統自帶的Xen虛擬機/78 221Xen虛擬機的工作原理及優勢/79 222在CentOS 56 x86_64下安裝Xen虛擬機/81 223在CentOS 55下安裝Xen虛擬機/83 224安裝第一臺虛擬機(模板機)/86 2258分鐘快速部署虛擬機/88 226Xen虛擬機的管理/89 227Xen寄宿服務器的管理/89 228Xen在生產環境下的應用/92 23Citrix XenServer 56虛擬機使用心得/95 24用VMware Server搭建64位系統測試環境/97 25小結/100 第3章生產環境下服務器的故障診斷與排除/101 31快速排障的重要性和必要性/102 32安裝系統時容易發生的錯誤描述與處理方法/102 321忘記了CentOS 55的root密碼怎么辦/102 322正確重設root密碼/104 323安裝FreeBSD 81時不要設置/boot分區/105 324CentOS 55的Grub引導程序出錯/105 325安裝CentOS 55時忘了關閉iptables和SELinux/106 326如何解決PuTTY或PieTTY的亂碼問題/107 327安裝雙系統時不小心刪除了Grub所在的分區/107 33網絡配置時容易發生的錯誤描述與處理方法/109 331安裝CentOS 55時忘了激活網卡/109 332 CentOS 55網卡文件備份的正確方法/110 333解決遠程桌面超出最大連接數的問題/111 334在CentOS 55下如何正確配置網關/112 335VMware的機器應該如何配置自動對時/112 336防火墻初始化的注意事項/113 34系統維護時的注意事項/113 341盡量源碼安裝,謹慎操作yum/113 342服務器硬件改動進入了Emergency模式/114 343如何以普通用戶的身份編輯無權限的文件/114 344在Linux下配置最大文件打開數的方法/114 345在Crontab下運行PHP程序的正確方法/116 346在Crontab下正確防止腳本運行沖突/116 35緊急處理線上服務器故障的辦法/117 351更改Administrator密碼導致計劃任務無法執行/117 352FreeBSD 81下的sudoer文件意外損壞/117 353CentOS 55的root密碼被惡意篡改/117 354bash損壞該如何正確處理/118 355正確操作nohup讓程序始終在后臺運行/119 356負載均衡器出現故障/119 36檢查機房應注意的位置和細節問題/119 37系統維護時應注意的非技術因素/120 38小結/121 第4章生產環境下的Shell腳本/122 41Vim的基礎用法及進階心得/123 42Sed的基礎用法及實用舉例/127 421Sed的基礎語法格式/127 422Sed的用法舉例說明/129 43基礎正則表達式/134 44Linux下強大的查找命令find/139 45匯總Linux/UNIX下的bash快捷鍵/147 46生產環境下的Shell腳本分類/148 461生產環境下的Shell腳本備份類/149 462生產環境下的開發類Shell腳本/157 463生產環境下的統計類Shell腳本/159 464生產環境下的監控類Shell腳本/162 465生產環境下的自動化類Shell腳本/166 466生產環境下的安全類Shell腳本/170 47小結/173 第5章構建高可用的Linux集群/174 51負載均衡高可用的核心概念和常用軟件/175 511什么是負載均衡高可用/175 512以F5 BIGIP作為負載均衡器/176 513以LVS作為負載均衡器/176 514以Nginx作為負載均衡器/182 515以HAProxy作為負載均衡器/182 516高可用軟件Keepalived/184 517高可用軟件Heartbeat/184 518高可用塊設備DRBD/185 52負載均衡中的名詞解釋/186 521什么是Session/186 522什么是Session共享及實現的方法/186 523什么是會話保持/187 53負載均衡器的會話保持機制/188 531F5 BigIP的會話保持機制/188 532LVS的會話保持機制/189 54Linux集群的項目案例分享/200 541項目案例一:用Nginx+Keepalived實現在線票務系統/200 542項目案例二:企業級Web負載均衡高可用之Nginx+Keepalived/207 543項目案例三:用LVS+Keepalived構建高可用JSP集群/218 544項目案例四:Nginx主主負載均衡架構/225 545項目案例五:生產環境下的高可用NFS文件服務器/231 546項目案例六:HAProxy雙機高可用方案之HAProxy+Keepalived/239 547項目案例七:百萬級PV高可用網站架構設計/246 548項目案例八:千萬級PV高性能高并發網站架構設計/247 55軟件級負載均衡器的特點對比/251 56項目實踐中Linux集群的總結和思考/252 57細分五層解說網站架構/254 58網站架構應關注和研究的方向/256 59MySQL數據庫的優化/258 591服務器物理硬件的優化/258 592MySQL應該采用編譯安裝的方法/258 593MySQL配置文件的優化/258 594MySQL上線后根據status狀態進行適當優化/264 595MySQL數據庫的可擴展性架構方案/273 596MySQL雙主多從高可用配置方案/274 597生產環境下的MySQL數據庫主從Replication同步/276 598CentOS 56 x86_64下MySQL Proxy 082的安裝及測試/285 510生產環境下的MySQL數據庫備份/289 511部分項目施工圖紙/293 512小結/295 第6章VPN在企業中的部署應用/296 61流行的VPN技術及其分類/297 62如何選擇自己需要的VPN/299 63IPSec VPN的不足/299 64OpenVPN的應用范疇/300 65經典企業VPN部署案例/300 651案例一:在CentOS 55 x86_64下單網卡配置PPTPD服務器/300 652案例二:在CentOS 55 x86_64下路由模式配置OpenVPN服務器/307 653案例三:在FreeBSD 8 x86_64下網橋模式配置OpenVPN服務器/317 66部署OpenVPN服務器的注意事項/323 661OpenVPN如何注銷用戶/323 662OpenVPN服務器的安全問題/324 663OpenVPN服務器的負載均衡/325 67小結/325 第7章Linux防火墻及系統安全/326 71基礎網絡知識/327 711OSI網絡參考模型/327 712TCP/IP三次握手/四次揮手的過程詳解/328 713其他基礎網絡知識/330 72Linux防火墻的概念/330 73Linux防火墻在企業中的作用/331 74Linux防火墻的語法/331 75iptables基礎知識/335 751iptables的狀態state/335 752iptables的Conntrack記錄/337 753關于iptables模塊的說明/337 754iptables防火墻初始化的注意事項/337 755如何保存運行中的iptables規則/338 76如何流程化編寫iptables腳本/339 77學習iptables應該掌握的工具/341 771命令行的抓包工具TCPDump/341 772圖形化抓包工具Wireshark/342 773強大的命令行掃描工具Nmap/345 774安全工具hping/347 78iptables的簡單腳本學習/349 781普通的Web主機防護腳本/350 782如何讓別人ping不到自己而自己能ping通別人/351 783建立安全的vsftpd服務器/353 79線上生產服務器的iptables腳本/357 791安全的主機iptables防火墻腳本/358 792自動分析黑名單及白名單的iptables腳本/359 793利用recent模塊限制同一IP的連接數/362 794利用DenyHosts工具和腳本來防止SSH暴力破解/364 795將iptables作為企業的NAT路由器/368 796如何使用工具精確地監控NAT路由器/371 710TCP_wrappers應用級防火墻的介紹和應用/376 711系統運維工作中的Linux防火墻總結/378 712Linux系統自身的安全防護/379 7121SELinux簡介/379 7122SELinux的相關設置/379 713Linux系統安全相關的工具/380 7131Rootkit檢測工具Chkrootkit/381 7132文件系統完整性檢查工具Tripwire/383 7133防惡意掃描軟件PortSentry/388 714Linux服務器基礎防護篇/393 715如何防止入侵/394 716小結/395 第8章如何構建開源免費的企業級郵件系統/396 81DNS服務器的架設/397 811郵件服務器與DNS的關系/397 812如何架設內部DNS服務器/399 813如何以源碼方式安裝公網DNS服務器/406 814維護DNS服務器應該注意的事項/413 82電子郵件的傳輸過程/416 83如何搭建開發郵件服務器/417 831搭建Sendmail+Dovecot郵件系統/417 832搭建Postfix+Dovecot郵件系統/420 84搭建iRedMail企業級郵件服務器/423 841iRedMail企業級郵件服務器的介紹/423 842在CentOS 52 x86_64上安裝iRedMail 040/424 843Postfix本身的防垃圾功能/427 844iRedMail 040特有的防垃圾技術/432 845iRedMail 040如何利用ClamAV防病毒/436 846iRedMail 040郵件服務器的網絡安全/437 847iRedMail 040郵件服務器系統的監控/439 848iRedMail 040的系統文件備份/441 849iRedMail 040的MySQL數據庫備份方案/445 8410維護iRedMail 040郵件服務器的一些注意事項/451 85小結/452 第9章系統管理員在企業中的職業定位及發展方向/454 91系統管理員的概念和工作職責/455 92系統管理員應該熟悉的系統/456 93系統管理員應該熟悉的工具/460 94Linux的學習及進階之路/464 95系統管理員應該如何工作/467 96系統管理員的發展方向/469 97系統管理員如何進階為系統架構師/470 98系統管理員之企業生存守則/471 99小結/474 附錄AXmanager 30企業版實用技巧集錦/475 附錄B使用Screen管理遠程會話/485 附錄C自動化部署管理工具Puppet/487 附錄D在CentOS 55下配置rsync服務器/493 附錄Ersync+inotify實現數據的實時同步更新/498 本書是資深Linux/Unix系統管理專家兼架構師多年一線工作經驗的結晶,51CTO和ChinaUnix等知名社區聯袂推薦。第1版上市后廣獲好評,分別被《程序員》雜志和51CTO網站評選為“2011年度10大最具技術影響力的圖書”和“2011年度最受讀者喜愛的原創IT圖書”。第2版在第1版的基礎上進行了大量的修訂和補充,不僅修正了原來存在爭議和不夠完善的內容,而且補充了大量關于高可用的內容,使得本書在內容上更具價值。本書結合實際生產環境,從Linux虛擬化、集群、服務器故障診斷與排除、系統安全性等多角度闡述構建高可用Linux服務器的最佳實踐。本書實踐性非常強,包含大量企業級的應用案例及相應的解決方案,讀者可以直接用這些方案解決在實際工作中遇到的問題。
全書一共9章。第1章以作者的項目實踐為基礎,以RHEL和CentOS為平臺,有針對性地講解了構建高性能Linux服務器的應該掌握的核心知識,包括硬件、網絡配置、日志管理、性能優化、監控等重要內容;第2章講解了Linux服務器的虛擬化,主要包括VMware和Xen兩大虛擬機在Windows Server 2003和CentOS系統下的使用方法和工作原理,同時還介紹了Citrix XenServer的使用方法;第3章探討了生產環境下各種棘手的服務器故障的診斷與排除方法;第4章介紹了生產環境下的Shell腳本,這些腳本都經過實踐驗證,讀者可以直接在實際工作中使用;第5章首先講解了構建高可用Linux集群的理論知識,然后以作者的實際項目為例詳細演示了構建高可用Linux集群環境的方法(附有項目施工圖);最后還探討了MySQL數據庫性能優化方面的話題;第6章以理論與案例相結合的方式講解了VPN在企業中的部署與應用,包括VPN技術的分類和選擇、IPSec VPN的不足和OpenVPN的應用范疇、OpenVPN的部署案例和部署時的注意事項;第7章全面講解了Linux防火墻及系統安全方面的內容,其中iptables相關的知識是重點,講解非常詳細,很多腳本都可以直接使用;第8章介紹了構建免費開源的企業級郵件系統的完整過程,這也來自于作者在實際工作中的實踐;第9章針對系統管理員的學習、工作以及職業規劃給出了一些寶貴的建議,對新人尤為有幫助。 我的系統管理員之路
2005年我初識Linux,那會兒剛畢業,在一家大型國營公司值守Windows Server 2000服務器,當時“震蕩波”和“沖擊波”這兩種病毒很是猖狂,沒有打補丁的機器無一幸免。我所值守的服務器也未能例外,雖然我們在防毒方面投入了大量的精力和金錢(當時購買的都是正版Windows 2000系統和正版瑞星殺毒軟件)。有一次去朋友公司(省太平洋壽險下面的一個分支機構)參觀,我發現他們的服務器和終端系統都很奇怪,一問才知道是BSD系統,因為運行機制不一樣,所以Windows下的病毒絲毫影響不了它們,而且這些服務器很穩定,基本上不宕機。當時很是羨慕,心想要是哪一天我們的服務器也要換成BSD系統,這樣“沖擊波”和“震蕩波”就奈何不了我們,而且也不會藍屏,那該多好啊。 后來有幸到北京一家大型廣告公司上班,公司所用服務器基本上都是CentOS和FreeBSD,內部用的文件服務器是Samba,Web服務器是Apache和Nginx,公司的NAT路由器是iptables,核心業務是CDN系統,幾乎全部裝的都是CentOS 51 x86_64,僅有一臺裝的是Windows Server 2003,供程序員開發NET程序之用。公司的這套CDN系統要負責處理所有的流量,即使在高峰期并發量特別大的時候,網站也非常穩定。 我當時也對Linux產生了濃厚的興趣,嘗試改掉自己多年使用Windows的習慣,換成了純字符操作,并且嘗試用Shell完成自動化工作,用Vim+Sed處理文檔。后來,我發現自己越來越喜歡Linux了。公司有一臺vsftpd服務器,3年沒有重啟了,這很讓我吃驚,所以多次與人聊起。后來我又得知一位朋友所在的公司有一臺很老的RH8服務器,因為負責的是公司的核心業務,已經9年沒有重啟了,當時更加感到震撼,這更加堅定了我要學好Linux的決心。 在做項目實施工程師期間,有些客戶的核心網站的并發量并不是太大,但比較重要,所以他們都要求部署Linux集群,有時指定要部署LVS或HAProxy負載均衡器。在項目實施的過程中,我發現LVS/HAProxy的負載均衡確實非常強大,可以與硬件級的F5負載均衡器的能力相媲美。很快我就被Linux集群這門藝術迷住了,我自己曾研究了Nginx+Keepalived這種負載均衡高可用架構,并且在許多項目中成功實施,客戶反映效果也不錯。 現階段我的工作主要是設計和維護公司的電子商務網站,相對于CDN分布式系統而言,它沒有節點冗余,所以對Linux集群技術的要求更高。所以我將所有的網站應用都做了雙機高HA,LVS/HAProxy+Keepalived和Nginx+Keepalived,還有DRBD+Heartbeat+NFS文件高可用及MySQL的Replication復制。另外,由于電子商務網站涉及錢的問題,所以對安全性的要求也很高,我們平時都會從網絡安全(硬件防火墻)、系統安全、代碼安全和數據庫安全這些方面著手,盡力避免一切影響網站安全的行為。工作雖然辛苦,但看著自己架構的網站順利穩定地運行,心里還是很有成就感的,這也是我目前工作動力的主要源泉。 寫作本書的目的 從事系統管理和系統集成方面的工作已有七年了,在工作期間,我曾經擔任了一段時間的紅帽RHCE講師,到東北大學等高校推廣紅帽Linux系統。在教學過程中我發現,很多學生在進入企業后都無法勝任自己的工作,更談不上正確地規劃自己的職業道路了。一方面因為企業的生產環境具有一定的復雜性;另一方面市場上入門書居多,缺乏能真正指導讀者解決實際問題的書籍。例如,很多書都只是通過VMware ESXi或XenServer虛擬出了VM系統,對于線上環境,根本沒有涉及并發、PV和數據庫壓力等相關話題。 之所以寫這本書,一方面是想對自己這些年的工作經驗和心得進行一次系統的梳理和總結;另一方面是想將自己的經驗分享給大家,希望能幫助大家少走彎路。通過本書中的項目實踐(包括Linux集群、OpenVPN、郵件系統和iptables防火墻)和線上環境的Shell腳本,大家能迅速進入工作狀態。書中所提供的Shell腳本和iptables腳本均來自于線上的生產服務器,大家均可以直接拿來用。關于Linux集群的項目實踐,大家也可以根據實際項目的需求直接采用,以此來設計自己公司的網站架構。 希望大家能通過本書掌握Linux的精髓,輕松而愉快地工作,從而提高自己的技術水平,這是我非常希望看到的,這也是我寫此書的初衷。 第1版與第2版的區別 本書是第2版,在寫作中吸收了讀者對上一版內容的許多意見和建議,繼續進一步修正第1版的排版錯誤和人為錯誤及其他問題。為了更契合書名,刪除了第1版第2章中的部分無關內容,其余內容并進第3章和附錄;第4章,生產環境下的Shell腳本增添了基于CentOS平臺的線上腳本,希望大家能在工作中充分使用。此外,新增了第5章,即構建高可用Linux集群內容,并用線上的HAProxy+Keepalived取代了原先的HAProxy + Heartbeat高可用方案。第6章詳細介紹了目前生產環境下比較實用的集群應用架構,即Nginx+Keepalived和HAProxy+Keepalived,用Dual Master+多從的MySQL架構取代原有的MySQL Cluster方案,目的是讓大家多了解現階段熱門的負載均衡技術,避免大家一提到負載均衡就想起LVS。因為在使用中發現MySQL Cluster存在許多不足和Bug,使用現有成熟的雙主多從MySQL架構能更好地實現需求。 讀者對象 本書適合以下幾類讀者: 系統管理員和系統工程師 網絡管理員和企業網管 項目實施工程師 開發人員 如何閱讀本書 本書的內容是對實際工作經驗的總結,涉及大量的知識點和專業術語,建議經驗還不是很豐富的讀者先了解第1章的內容,這章比較基礎,如果大家在學習過程中根據這章的講解進行操作,定會達到事半功倍的效果。 系統管理員和系統工程師們則可以重點關注第2章的(Linux服務器虛擬化)、第5章(Linux集群)及第7章(iptables防火墻及系統安全)的內容,這些都與我們的日常工作息息相關,建議大家多花些精力和時間,抱著一切從線上環境去考慮的態度去學習。 對于網絡管理員和企業網管來說,如果基礎不是太扎實,建議先學習第1章的內容,然后將重點放在第6章(VPN在企業中的部署應用)和第7章上。 對于項目實施工程師而言,由于大多數都是從事系統集成相關工作的,因此建議順序學習全書的內容,重心可以放在本書的第5章上面。 對于開發人員來說,由于其只需對系統有一個大概的了解,重點可以放在第1章和第4章(生產環境下的Shell腳本)上。 大家可以根據自己的職業發展和工作需要選擇不同的閱讀順序和側重點,同時也可以對其他相關的知識點有一定的了解。 致謝 感謝我的家人,她們在生活上對我無微不至的照顧,讓我更有精力和動力去工作和創作。 感謝東北大學信息技術學院的付沖教授,感謝您在我人生最窮困潦倒的時候伸出援手。 感謝北京總公司的技術總監唐老師,他對iptables防火墻相關的內容提出了許多指導性的建議,并且在CDN系統維護方面教會了我許多。 感謝老男孩前輩在網站架構設計方面給出的指導性意見,他的經驗和專業知識讓我受益匪淺。 感謝和我一起從事系統運維工作的朋友:曹亞孟、胡安偉和崔曉輝。曹亞孟為本書中與Linux虛擬化相關的內容提供了寶貴的資料,這是他幾年來從事Xen虛擬化工作的經驗總結;胡安偉為本書提供了許多精美的插圖,并就Linux集群相關的內容提出了許多寶貴的意見;崔曉輝為本書提供了大量的線上Shell腳本。另外,還要對我的同事ritto表示衷心的感謝! 感謝朋友劉鑫,和我一起花了大量時間研究和調試HAProxy+Keepalived。 感謝51ctocom的編輯們,尤其是趙克衡、楊賽、王文文、張浩和邵程程,正是有了你們的信任和幫助,此書才得以問世。 感謝Linux高級群中的深夜的蚊子、結冰的西瓜、jack、狠希耐等朋友,感謝你們對我的支持,沒有你們的相伴,我能否堅持到今天,可能還是個未知數。 感謝我的朋友三寶,感謝他這么多年來對我的信任和支持,在我苦悶的時候陪我聊天。 感謝在工作和生活中給予過我幫助的所有人,感謝你們,正是因為有了你們,才有了本書的問世。 關于勘誤 盡管我花了大量時間和精力去核對書中的文字、代碼和圖片,但因為時間倉促和水平有限,書中仍難免會有一些錯誤和紕漏,如果大家發現問題,懇請反饋給我,相關信息可發到我的郵箱yuhongchun027@gmailcom。盡管我無法保證每一個問題都會有正確的答案,但我肯定會努力回答并指出一個正確的方向。 如果大家對本書有任何疑問或想與我探討Linux技術,可以訪問我的個人博客,地址為:http://andrewyublog51ctocom,我的微博地址為http://weibocom/yuhongchun027。另外,我在51CTO和ChinaUnix社區的ID均為“撫琴煮酒”,大家也可以直接通過此ID在社區中與我在線交流。 余洪春(撫琴煮酒) |