天天看點

Linux教育訓練大綱

一、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、×××的基本原理及類型、Open×××的配置及其應用;

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、個人商業模式模型建構及優勢分析;職場禮儀;