1、本課程全程將基于集成了Openstack云環境、支持高精度時間(PTP)及虛擬化性能大大提升的RHEL 6.5或CentOS 6.6,間或介紹CentOS 7系統的使用;
2、此文章給出的只是個課程知識點框架,實際講解過程相當精細;另外,知識點講授的次序未必同此文章所標示的順序相同;
3、第15期面授班定于2015年3月24號開課;本期將會是馬哥教育數年來“直通車”式授課方式的最后一次,自16期開始,整體課程將會被分割為兩個甚至是多個不同產品,“直通車”式課程將隨中級及高級分段進行。咨詢QQ:1661815153,2813150558和113228115;
15期新增知識思路(初稿):
4.1、排隊論(Queueing Theory)理論,包括Utilization Law 與 Little’s Law 等;
4.2、高級消息隊列協議(AMQP)、可利用企業消息系統rabbitmq、activemq、qpid及zeromq等對比說明;
4.3、加強kvm虛擬化講解的份量,引入企業級部署案例;
4.4、加強Openstack講解的份量,引入企業級部署案例;
4.5、自動化運維之CMDB系統(onecmdb);
4.6、redis詳解;
4.7、git詳解;
一、Linux系統基礎及系統管理
1、操作系統發展史,系統架構平臺概覽; Linux起源、理念、發展歷史及各發行版;
2、Linux基礎知識、基本命令、獲得使用幫助及文件系統組織結構等;
3、Linux用戶、組及權限的基礎及相關高級話題,詳細講解useradd/userdel/chmod/chown/usermod/chage/umask等相關命令;
4、Bash基礎及配置、標準I/O、管道及shell編程基礎;
5、文本處理工具的概念、簡單文本編輯器nano的使用、vim編輯器入門、進階及常用技巧;
7、Linux系統進程管理基本原理及相關管理工具如ps、pkill、top、htop等的使用;Linux中的作業控制;
8、Linux任務計劃的實現,講解at、cron及anacron的使用;
9、文件查找的利器find命令基礎及高級應用;
10、TCP/IP網絡基礎、TCP有限狀態機狀態轉換原理、Linux網絡屬性配置及網絡客戶端工具詳解;
11、Linux系統軟件包的配置及管理、rpm及yum命令的使用及yum庫的制作詳解;
12、常見磁盤接口類型及相關設備特性、Linux磁盤管理、Linux文件系統基礎、進階與高級管理;文件系統相關管理工具使用詳解;
13、系統初始化詳細流程精解、內核基礎及內核的定制(內核的定制、編譯及安裝);對比說明RHEL5與RHEL6系統啟動過程之區別;
14、X11、SSH、VNC、CUPS系統服務;putty、SecureCRT或Xmanager等ssh客戶端的應用;
15、文件擴展屬性及ACL的應用;
16、RAID級別及相關概念詳解、Linux下軟RAID的實現及相關命令行工具的使用;硬件RAID基本原理及配置要點;
17、LVM2基本概念及其實現原理、LVM2相關命令行工具的使用;
18、Linux日志系統;常見日志管理工具的使用;
19、SELinux相關概念、原理及相關工具(如setenforce等)的使用;
20、RHEL系統kickstart文件、自動化安裝部署及安裝盤的定制;
21、Linux常見系統及網絡故障排除(TroubleShooting);
22、RHEL或CentOS系統定制式精簡,實現從零開始按需重組大小、功能等可定制的Linux版本,借以實現從微觀角度理解Linux構成及運行原理之目的;
二、Shell編程入門及進階(穿插大量以實現系統自動化管理為目的腳本案例)
1、bash基礎及工作環境的定制,詳細講解profile、profile.d、bashrc、.bash_profile及.bashrc等配置文件的功用;
2、bash腳本結構及運行;bash變量(局部變量、本地變量、環境變量、位置參數變量及特殊變量)及其表達式;
3、條件測試(整數測試、字符串測試及文件測試);if和case選擇分支;
4、for、while、until循環及使用continue和break來控制循環機制;
5、在bash中使用函數,以及利用函數來實現bash庫;
6、腳本控制:在腳本中捕獲信號并完成自定義處理;
7、腳本執行結果輸出:printf命令的使用及在腳本中使用顏色;
8、bash腳本運行時配置:在腳本中使用選項;
9、bash數據處理:在腳本中使用數組;
10、bash腳本調試及debug功能的實現;
11、窗口編程:dialog文本對話框命令及shell編程中的應用;
12、基本正則表達式、擴展正則表達式及grep命令精講;
13、sed命令及awk命令精講;
說明:此部分中的內容不會作為一個單獨的部分呈現,而是貫穿于整個課程;其中基礎性部分主要在前面第一部分內容中講解,高級部分及大量的應用在后面部分的內容中會不定期出現。
三、Linux平臺常見網絡服務及安全管理
1、系統性能/安全、安全威脅模型和保護方法;系統服務訪問控制及服務安全基礎;
2、加密/解密原理及數據安全、密鑰交換的實現、PKI基礎概念及openssl使用詳解;
3、DNS(BIND9)服務原理精講,BIND服務配置、高級應用和安全,并實現以view為核心的適應國內運營商間解析接駁的智能DNS系統;(馬哥團隊實現的項目:www.dns.la,國內應用僅次于dnspod的智能DNS系統;)
4、ftp服務基本原理,以vsftpd為例講解ftp服務的實現,包括虛擬用戶及相關權限定制、安全配置及ftps等高級話題;
5、http協議原理、請求/響應報文格式、SSL會話的原理及https協議;apache基礎、各MPM模型對比、安裝配置及各參數詳解;apache虛擬主機的實現及安全應用(https、suEXEC等);
6、PHP環境配置基礎及與apache整合的多種途徑;MySQL服務入門;LAMP架構的實現;以編譯的方式定制LAMP等;
7、nginx的特性詳解,nginx的基本配置、虛擬主機的實現、URL地址重寫、及安全應用以及LEMP的實現等;
8、web應用框架django基礎概念及其與apache(mod_python及uWSGI等方式)或nginx的整合;
9、VPN的基本原理及類型、OpenVPN的配置及其應用;
10、iptables/netfilter安全體系工具精講;iptables命令的基本應用,如各子命令的功能、通用匹配、擴展匹配及跳轉目標等;
11、iptables/netfilter高級應用,包括連接追蹤、網絡地址轉換、及多種擴展模塊的使用以及七層過濾等高級話題;
12、RPC的基本概念;NFS服務基礎原理及配置;samba服務基礎原理及配置;
13、電子郵件系統原理精講;postfix/dovecot等郵件服務工具的配置和應用,smtps、pop3s、imaps等高級安全應用的實現;以案例為基礎講解postfix、mysql、ldap、虛擬域、虛擬用戶、身份驗證、郵件加密、webmail、POP、IMAP服務的整合應用;
14、nss的原理及配置;pam的基礎概念、常用模塊講解及系統默認的配置講解;
四、MySQL數據庫從入門到精通
1、關系型數據庫系統及SQL相關概念詳述;MySQL特性、發展歷史及體系結構詳解;
2、MySQL及MariaDB安裝:rpm方式、編譯好的通用二進制方式及編譯的方式;單實例MySQL服務的啟動及停止等服務控制;
3、MySQL配置文件格式詳細說明;MySQL服務器變量、狀態變量的作用域及查看方式,服務器變量值的調整方式;
4、MySQL的sql_mod;管理MySQL數據庫、表、視圖和索引(DDL語句);管理MySQL數據(DML語句);
5、多表查詢、聯合查詢及子查詢;
6、MySQL用戶管理:創建和刪除、權限的授予及取消、資源使用能力控制等;
7、關系數據庫的事務、在MySQL中使用事務;MySQL鎖及其應用;MySQL隔離級別及其特性詳解;
8、存儲引擎及其屬性配置、MySQL表維護;
9、數據庫配置類型及配置策略詳解;mysqldump、xtrabackup、LVM快照等備份工具在MySQL數據庫備份中的使用;MySQL數據庫恢復;
10、關系型數據庫索引類型詳解;MySQL查詢分析及其索引的定制;
11、MySQL日志文件管理:查詢日志、慢查詢日志、二進制日志、中繼日志、事務日志及錯誤日志;
12、MySQL復制精講,包括主-從、主-主等架構及基于SSL加密傳輸的實現,其它常見的架構形式及優劣比較;MySQL 5.6基于GTID的復制技術及多線程復制技術;
13、MySQL讀寫分離、連接池及sharding技術:介紹mysql_proxy、sql_relay、amoeba及cobar等;以前三者其中之一來介紹讀寫分離的實現;
14、中小型企業低成本的MySQL高可用集群的解決方案:MySQL+corosync/openais+drbd的原理及其實現;
15、PhpMyAdmin、mysql-gui-tools和MySQL Front等第三方工具的使用;
16、以MySQL應用為中心調優硬件、系統及MySQL服務;
五、集群/存儲專題
1、詳述Linux系統集群體系結構、類型及應用方案;
LVS專題
2、Linux虛擬服務器LVS原理,詳細講解其類型及調度方法等;
3、LVS-NAT、LVS-DR的配置及以之實現apache、nginx、ssh等負載均衡應用,并詳細比較此兩種實現方式的不同及各自的應用場景;
4、LVS持久性連接應用環境理論及實現;FW方式實現LVS的affinity應用;
5、編寫bash腳本實現對realserver健康狀態監控,實現realserver故障隔離及自動重新上線等功能;
高可用服務專題
6、高可用集群原理及Heartbeat、openais/corosync等解決方案原理精講;
7、Heartbeat安裝、配置及以web為例實現高可用環境;
8、Hertbeat資源配置方式及維護;使用heartbeat-gui實現基于圖形化方式對集群進行管理;
9、Corosync/OpenAIS高可用集群解決方案原理及實現方法;基于案例詳解生產環境中應用Pacemaker配置實現高可用集群的方法;(一步步以完全手動的方式實現Linux系統上的HA集群);
10、資源管理原理、類別、LSB腳本的編寫等及資源管理的定義;基于pacemaker的高可用環境下資源管理詳解;Stonith原理、類別及其實現方法;
11、RHCS集群套件工作原理精講,并從微觀角度介紹其與前述解決方案的異同;RHCS集群的部署演示;
12、LVS和corosync集成實現高可用director及負載均衡的大規模應用服務器集群,包括ldirectord的應用等;
13、高可用服務解決方案keepalived及其實現,以nginx或haproxy為例講解其雙主模型的實現;
14、RAID、NAS、SAN、iSCSI等存儲原理及基于Linux的iSCSI服務器的實現及應用;講解openfiler、freenas或Nexentastor等開源解決方案的應用;
15、GFS2集群文件系統的原理;基于iSCSI講解GFS2的實現;
六、http代理加速、應用服務器
6.1 web服務高級應用
1、http協議的緩存原理及常用首部、常用見的反向代理解決方案的功能對比等;
2、varnish服務原理、安裝配置;varnish狀態引擎詳解及VCL編程詳解;varnish系統參數高速及生部環境中的部署方案;
3、Nginx upstream和proxy模塊負載均衡和反向代理部署精講;
4、haproxy精講:haproxy功能與特性、常用配置指令、常用調度算法及ACL等;
5、Memcached服務及其在web服務體系中的應用;
6、java、jsp、servlet、HotSpot JVM、J2SE、J2EE及web container等相關技術要點詳解;
7、Tomcat體系結構、安裝配置、連接器及與apache或Nginx的整合;Tomcat各集群模型及其實現案例;
8、各種負載均衡場景中session保持的實現方案及特性對比詳解;
6.2 可擴展web架構
9、分布式文件系統詳述;常見分布式文件系統功能與特性對比說明;
10、以MogileFS原理、安裝配置及其應用案例;MogileFS與nginx的整合;
11、CDN技術實現原理;
12、可擴展web服務設計及相關解決方案選擇(日均10萬PV發展至100萬PV,再到1000萬PV站點的擴展思路及部署要點);大規模、高并發、高可用web服務器群的體系結構、設計及其實現;
13、Web環境壓力測試、系統性能評估、結果分析及優化;
七、虛擬化及IaaS云技術專題
7.1 Xen虛擬化技術精講
1、X86平臺虛擬化技術難點及相關解決方案原理詳解:CPU虛擬化、內存虛擬化及IO虛擬化,虛擬化種類及相關特點等;
2、Xen虛擬化基礎;Xen虛擬化技術中調度、中斷、內存、IO、網絡及塊設備的虛擬實現原理;
3、Xen在RHEL6或CentOS6上的安裝、配置及簡單應用;
4、Xen環境中虛擬存儲和虛擬網絡設備的配置及管理詳解;qemu-img工具詳解;
5、Xen管理工具棧xm及xl從入門到精通;
6、XenServer簡介;
7.2 KVM虛擬化技術精講(12期面授知識及案例大大加強)
7、KVM虛擬化基礎;KVM虛擬化技術實現原理;
8、構建KVM環境:KVM的安裝、配置及應用;
9、基于qemu-kvm命令行工具棧管理kvm;
10、KVM的核心功能:CPU、內存、存儲及網絡虛擬化的配置;基于SDL和VNC的圖形顯示功能應用;
11、基于libvirt、virt-intall和virt-manager工具棧管理kvm;
12、半虛擬化技術(virtio)、實時遷移、IO透傳技術及KSM;
13、KVM性能測試及基于KVM應用的Linux系統優化;
14、生產環境中虛擬化技術的應用方案及常用管理工具說明;
7.3 OpenStack云環境
15、IaaS、PaaS、SaaS云技術介紹;
16、OpenStack云棧詳解:Keystone、Glance、Nova、Swift、Horizon等組件的功能、特性及協作流程;
17、OpenStack的網絡模型及Neutron服務;
18、OpenStack的塊存儲服務及Cinder服務;
19、Ceilometer及Heat;
20、具有獨立控制節點、多計算節點及獨立對象存儲節點的全功能OpenStack環境部署案例;
八、自動化運維相關專題
1、自動化運維概述:高效地管理IT資產并滿足復雜多變的業務需求、構建高效IT系統、快速發現和解決IT系統中出現的問題等;
網絡、系統及服務監控類工具
2、SNMP協議原理及Linux系統上的配置及實現應用案例;
3、網絡、系統及服務等相關指標的監控模型及體系結構;
4、zabbix監控系統詳解;(課程內容詳細列表請參見http://mageedu.blog.51cto.com/4265610/1309875;)
5、rrdtool詳解;cacti安裝、配置;編寫腳本基于cacti完成監控功能的定制;
6、Nagios入門、進階及高級應用;nagios監控插件的開發;
預備類工具
7、RHEL/CentOS平臺上的無人值守安裝腳本Kickstart;基于PXE完成系統自動化安裝;
8、Cobbler應用詳解:服務原理、配置及應用;
配置管理類工具
9、ansible命令聯動工具的使用;
10、開源的軟件自動化配置和部署工具puppet詳解;(課程內容詳細列表請參見http://mageedu.blog.51cto.com/4265610/1308671)
11、saltstack(相當于Func加強版+Puppet精簡版)詳解;
說明:如果課堂時間不夠充分,第5和個第6個將會以視頻方式提供,而第10個和第11個則只會選講一個;
九、Linux系統原理基礎及系統調優
1、PC Server結構概述及Linux系統體系結構概述;
2、Linux系統進程相關理論(如調度方法、搶占、優先級、調度類別等),進程性能監控、分析及調優方案;
3、CPU及緩存架構、緩存一致性算法及內存訪問模型;
4、Linux內存架構體系(如內存區域、MMU、TLB、slab、伙伴系統、頁及頁框等相關理論知識),內存使用率實時監控、性能分析及調優方案;
5、Linux系統IO體系架構及設備驅動;磁盤IO體系架構(如緩存架構體系、pdflush、bio、磁盤隊列、IO調度器等相關理論知識),磁盤性能實時監控、分析及調優方案;
6、Linux虛擬文件系統體系架構及相關理論知識(如塊、inode、日志等)、常見文件系統類型及使用iozone等工具對文件系統性能的評估與比較,并結合實際項目需要選擇最佳文件系統;
7、中斷及異常相關理論知識(如信號、IRQ、進程上半部和下半部、中斷處理器等)及在系統調優中的應用;
8、Linux網絡子系統架構體系及相關理論知識(如socket buffer、NAPI、kernel buffer等),網絡子系統性能的監控、分析及調優方案的設計及實現;
9、基于Linux系統調優理論知識進行實際項目調優,如MySQL服務器的調優(系統部分)等;
10、系統性能評估方法、指標;
11、常用工具如sar、htop、dstat、iostat、perf、netpef、iperf及iozone等的使用,以之評估操作系統性能的方法;
12、以web服務及mysql服務為例,詳細講解其優化的思路、方案及實現過程;
十、海量數據并行處理系統(根據課程進程,中間詳略會有調整)
10.1 NoSQL
1、CAP理論模型及NoSQL基礎理論;NoSQL數據庫特性、技術流派及代表性項目;
2、MongoDB體系結構、安裝配置及應用;(具體課程列表請參照http://mageedu.blog.51cto.com/4265610/1317270)
10.2 Hadoop
3、MapReduce基礎概念、運行框架、調度模型等;
4、HDFS基礎概念、命令行接口、數據序列化、數據流等;
5、Hadoop偽分布式及完全分布式模型的構建、測試及應用;
6、生產環境中Hadoop多種常用屬性的調優及其注意事項等;
7、Hadoop生態系統及常用組件說明;
8、Hadoop調度算法及其選用;
9、Hadoop硬件選型要點;
10、Zookeeper功能、特性、安裝配置及應用;列式數據庫HBase基礎原理、安裝配置及其應用;
11、數據倉庫Hive基礎原理、安裝配置及應用;
12、講解flume/scribe/chukwa/kafka日志收集系統其中之一;
13、使用工具完成Hadoop自動化部署;
十一、補充類高級專題(根據空余時間選擇講解)
1、rpm包SPECS文件詳解、RPM包制作及包簽名的實現;
2、LDAP協議原理及常見的實現;OpenLDAP的安裝、配置及應用;
3、基于busybox和內核定制制作微型Linux系統,并通過編譯的方式為之提供相應的服務以進一步理解Linux系統;LFS系統及其實現;
5、redis體系結構、安裝配置及應用;
6、ats功能、特性、安裝配置及應用;
7、logstash:功能豐富的日志收集分析系統;
8、python腳本編程基礎;
十二、職業素質課程
1、個人商業模式模型構建及優勢分析;職場禮儀;
2、簡歷撰寫格式及要注意的問題;
3、面試流程、常見問題應對方式及模擬面試;
原創文章,作者:追馬,如若轉載,請注明出處:http://www.www58058.com/6263