linux運維做的工作:1、服務監控;2、服務故障管理;3、服務容量管理;4、服務性能優化;5、服務全局流量調度;6、服務任務調度;7、服務安全保障;8、服務自動發布部署;9、服務集群管理;10、數據庫管理等等。
本教程操作環境:linux5.9.8系統、Dell G3電腦。
Linux運維的主要工作內容
Linux運維作為眾多工作中需求人數最多,薪資待遇最高的崗位,本文重點介紹Linux運維的職業,本文內容由專門研究Linux運維學習和職業發展的機構馬哥教育和愛好者們聯合撰寫。
互聯網Linux運維工作,以服務為中心,以穩定、安全、高效為三個基本點,確保公司的互聯網業務能夠7×24小時為用戶提供高質量的服務。運維的職責覆蓋了產品從設計到發布、運行維護、變更升級及至下線的生命周期。
產品的整個生命周期里運維的職責重要而廣泛,但運維工程師們的職責不僅限于這部分工作,還需要總結工作中遇到的問題,抽取出相關的技術方向、研發相關的工具和平臺以支持/優化業務的發展并提高運維的效率,相關技術工作主要包括:
-
服務監控技術:包括監控平臺的研發、應用,服務監控準確性、實時性、全面性的保障
-
服務故障管理:包括服務的故障預案設計,預案的自動化執行,故障的總結并反饋到產品/系統的設計層面進行優化以提高產品的穩定性
-
服務容量管理:測量服務的容量,規劃服務的機房建設,擴容、遷移等工作
-
服務性能優化:從各個方向,包括網絡優化、操作系統優化、應用優化、客戶端優化等,提高服務的性能和響應速度,改善用戶體驗
-
服務全局流量調度:接入服務的流量,根據容量和服務狀態在各個機房間分配流量
-
服務任務調度:服務的各種定時/非定時任務的調度觸發及狀態監控
-
服務安全保障:包括服務的訪問安全、防攻擊、權限控制等
-
數據傳輸技術:包括p2p等各類傳輸技術的研發應用,也遠距離大數據傳輸等問題的解決
-
服務自動發布部署:部署平臺/工具的研發,及平臺/工具的使用,做到安全、高效的發布服務
-
服務集群管理:包括服務的服務器管理、大規模集群管理等
-
服務成本優化:盡可能降低服務運行使用的資源,降低服務運行成本
-
數據庫管理(dba):通過設計、開發和管理高性能數據庫集群,使數據庫服務更穩定、更高效、更易于管理。
-
平臺化的開發:類docker等平臺的開發管理,及服務接入技術
-
分布式存儲平臺的開發優化與接入
等等,凡是關系到服務質量、效率、成本、安全等方面的工作,及涉及到的技術、組件、工具、平臺都在運維的技術范疇里。做好每一個技術方向、完成相應的組件、工具、平臺研發都能對履行運維職責起到積極的作用,對業務的發展發揮關鍵影響。
Linux運維工作分類
運維的工作方向比較多,隨著業務規模的不斷發展,越成熟的互聯網公司,運維崗位會劃分得越細。當前很多大型的互聯網公司,在初創時期只有系統運維,隨著 模、服務質量的 要求,也逐漸進行了工作細分。一般情況下運維團隊的工作分類(見圖1-1)和職責如下。
2.1-應用運維(SRE):應用運維負責線上服務的變更、服務狀態監控、服務容災和數據備份等工作,對服務進行例行排查、故障應急處理等工作,工作職責如下:設計評審、服務管理、資源管理、例行檢查、預案管理、數據備份。
2.2-系統運維(SYS):負責IDC、網絡、CDN和基礎服務的建設(lvs、NTP、DNS);負責資產管理,服務器選型、交付和維修,工作職責如下:IDC數據中心建設、網絡建設、LVS負載均衡和SNAT建設、CDN規劃和建設、服務器選型、交付和維護、內核選型和OS相關維護工作、資產管理、基礎服務建設。
2.3-數據庫運維(DBA):數據庫運維負責數據存儲方案設計、數據庫表設計、索引設計和sql優化,對數據庫進行變更、監控、備份、高可用設計等工作,詳細的工作內容如下:設計評審、容量規劃、數據備份與災備、數據庫監控、數據庫安全、數據庫高可用和性能優化、自動化系統建設、運維研發、運維平臺、監控系統、自動化部署系統。
2.4-運維安全(SEC):運維安全負責網絡、系統和業務等方面的安全加固工作,進行常規的安全掃描、滲透測試,進行安全工具和系統研發以及安全事件應急處理,工作內容如下:安全制度建立、安全培訓、風險評估、安全建設、安全合規、應急響應。
Linux運維日常使用軟件和技能
運維工程師使用的運維平臺和工具包括:
-
監控:nagios、ganglia、cacti、zabbix
-
自動部署:ansible、sshpt、salt
-
配置管理:puppet、cfengine
-
負載均衡:lvs、haproxy、nginx
-
傳輸工具:scribe、flume
-
備份工具:rsync、wget
-
容器:lxc、docker
-
安全:kerberos、selinux、acl、iptables
-
問題追查:netstat、top、tcpdump、last
運維以技術為基礎,通過技術保障產品提供更高質量的服務。運維工作的職責及在業務中的位置決定了運維工程師需要具備更加廣博的知識和深入的技術能力:
-
扎實的計算機基礎知識,包括計算機系統架構,操作系統,網絡技術等;
-
通用應用方面需要了解操作系統、網絡、安全,存儲,CDN,DB等,知道其相關原理;
-
編程能力,小到運維工具的開發大到大型運維系統/平臺的開發都需要有良好的編程能力;
-
數據分析能力:能夠整理、分析系統運行的各項數據,從中發現問題及找到解決方向;
-
豐富的系統知識,包括系統工具、典型系統架構、常見的平臺選型等;
-
綜合利用工具和平臺的能力;
相關推薦:《Linux視頻教程》