精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

2018年Linux運維必須抓住的前沿技能

馬哥Linux運維 ? 來源:未知 ? 作者:李倩 ? 2018-03-26 15:55 ? 次閱讀

首先祝賀你選擇學習Linux,你可能即將踏上Linux的工作之旅,出發之前,讓我帶你來看一看關于Linux和Linux運維的一切。

Linux因其高效率、易于裁剪、應用廣等優勢,成為了當今中高端服務器的主要操作系統,并且處于一個不可替代的地位。Linux可安裝在各種計算機硬件設備中,比如手機、平板電腦、路由器、視頻游戲控制臺、臺式計算機、大型機和超級計算機。隨著Linux在中國市場迅猛發展,國內Linux人才缺口逐漸凸顯。Linux人才招聘也成了當前最熱門的招聘之一。

首先linux是一個非常非常大的概念。想全部吃透是不可能的。理想的說,搞懂linux,就可以做所有工作。個人更傾向于說想做什么樣工作,需要學linux的哪部分。

按個人經驗介紹下常見的linux有哪些領域,并對應到什么工作。1)linux應用。這部分嚴格來說不能算是linux,只是跑在linux上的應用,比如web,網絡,IT等,職業包括系統研發,后臺開發,服務器性能優化,運維等;

2)linux定制。這部分涉及linux版本的用戶包較多,內核會有一些涉及,主要各種商業linux的訂制,服務等。比如redhat之類,不少是外國公司,國內大多招現場支持等。

3)linux內核開發。這部分主要是linux內核驅動的開發。幾乎全部是編程工作。主要是芯片公司,以及使用芯片的產品開發公司。前者如intel,marvell,后者如中興華為。

4)android衍生品。因為android包括慢慢火爆的tizen都用的linux內核,所以理由同3。所以手機芯片公司和手機開發公司也是linux開發者的雇主之一。比如高通,TI等;

一、Linux運維的主要工作內容

Linux運維作為眾多工作中需求人數最多,薪資待遇最高的崗位,本文重點介紹Linux運維的職業,本文內容由專門研究Linux運維學習和職業發展的機構馬哥教育和愛好者們聯合撰寫。

互聯網Linux運維工作,以服務為中心,以穩定、安全、高效為三個基本點,確保公司的互聯網業務能夠7×24小時為用戶提供高質量的服務。運維的職責覆蓋了產品從設計到發布、運行維護、變更升級及至下線的生命周期。

產品的整個生命周期里運維的職責重要而廣泛,但運維工程師們的職責不僅限于這部分工作,還需要總結工作中遇到的問題,抽取出相關的技術方向、研發相關的工具和平臺以支持/優化業務的發展并提高運維的效率,相關技術工作主要包括:

服務監控技術:包括監控平臺的研發、應用,服務監控準確性、實時性、全面性的保障

服務故障管理:包括服務的故障預案設計,預案的自動化執行,故障的總結并反饋到產品/系統的設計層面進行優化以提高產品的穩定性

服務容量管理:測量服務的容量,規劃服務的機房建設,擴容、遷移等工作

服務性能優化:從各個方向,包括網絡優化、操作系統優化、應用優化、客戶端優化等,提高服務的性能和響應速度,改善用戶體驗

服務全局流量調度:接入服務的流量,根據容量和服務狀態在各個機房間分配流量

服務任務調度:服務的各種定時/非定時任務的調度觸發及狀態監控

服務安全保障:包括服務的訪問安全、防攻擊、權限控制等

數據傳輸技術:包括p2p等各類傳輸技術的研發應用,也遠距離大數據傳輸等問題的解決

服務自動發布部署:部署平臺/工具的研發,及平臺/工具的使用,做到安全、高效的發布服務

服務集群管理:包括服務的服務器管理、大規模集群管理等

服務成本優化:盡可能降低服務運行使用的資源,降低服務運行成本

數據庫管理(DBA):通過設計、開發和管理高性能數據庫集群,使數據庫服務更穩定、更高效、更易于管理。

平臺化的開發:類docker等平臺的開發管理,及服務接入技術

分布式存儲平臺的開發優化與接入

等等,凡是關系到服務質量、效率、成本、安全等方面的工作,及涉及到的技術、組件、工具、平臺都在運維的技術范疇里。做好每一個技術方向、完成相應的組件、工具、平臺研發都能對履行運維職責起到積極的作用,對業務的發展發揮關鍵影響。

二、Linux運維工作分類

運維的工作方向比較多,隨著業務規模的不斷發展,越成熟的互聯網公司,運維崗位會劃分得越細。當前很多大型的互聯網公司,在初創時期只有系統運維,隨著 模、服務質量的 要求,也逐漸進行了工作細分。一般情況下運維團隊的工作分類(見圖1-1)和職責如下。

圖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運維日常使用軟件和技能

運維工程師使用的運維平臺和工具包括:

Web服務器:apache、tomcat、nginx、lighttpd

監控:nagios、ganglia、cacti、zabbix

自動部署:ansible、sshpt、salt

配置管理:puppet、cfengine

負載均衡:lvs、haproxy、nginx

傳輸工具:scribe、flume

備份工具:rsync、wget

數據庫:mysql、oracle、sqlserver

分布式平臺:hdfs、mapreduce、spark、storm、hive

分布式數據庫:hbase、cassandra、redis、MongoDB

容器:lxc、docker

虛擬化:openstack、xen、kvm

安全:kerberos、selinux、acl、iptables

問題追查:netstat、top、tcpdump、last

運維以技術為基礎,通過技術保障產品提供更高質量的服務。運維工作的職責及在業務中的位置決定了運維工程師需要具備更加廣博的知識和深入的技術能力:

扎實的計算機基礎知識,包括計算機系統架構,操作系統,網絡技術等;

通用應用方面需要了解操作系統、網絡、安全,存儲,CDN,DB等,知道其相關原理;

編程能力,小到運維工具的開發大到大型運維系統/平臺的開發都需要有良好的編程能力;

數據分析能力:能夠整理、分析系統運行的各項數據,從中發現問題及找到解決方向;

豐富的系統知識,包括系統工具、典型系統架構、常見的平臺選型等;

綜合利用工具和平臺的能力;

四、Linux運維工作發展過程

早期的運維團隊在人員較少的情況下,主要是進行數據中心建設、基礎網絡建設、服務器采購和服務器安裝交付工作。幾乎很少涉及線上服務的變更、監控、管理等工作。這個時候的運維團隊更多的屬于基礎建設的角色,提供一個簡單、可用的網絡環境和系統環境即可。

隨著業務產品的逐漸成熟,對于服務質量方面就有了更高的要求。這個時候的運維團隊還會承擔一些服務器監控的工作,同時會負責LVS、Nginx等與業務邏輯無關的4/7層運維工作。這個時候服務變更更多的是逐臺的手工操作,或者有一些簡單批量腳本的出現。監控的焦點更多的在服務器狀態和資源使用情況上,對服務應用狀態的監控幾乎很少,監控更多的使用各種開源系統如Nagios、Cacti等。

由于業務規模和復雜度的持續增加,運維團隊會逐漸劃分為應用運維和系統運維兩大塊。應用運維開始接手線上業務,逐步開展服務監控梳理、數據備份以及服務變更的工作。隨著對服務的深入,應用運維工程師有能力開始對服務進行一些簡單的優化。同時,為了應對每天大量的服務變更,我們也開始編寫各類運維工具,針對某些特定的服務能夠很方便的批量變更。隨著業務規模的增大,基礎設施由于容量規劃不足或抵御風險能力較弱導致的故障也越來越多,迫使運維人員開始將更多的精力投入到多數據中心容災、預案管理的方向上。

業務規模達到一定程度后,開源的監控系統在性能和功能方面,已經無法滿足業務需求;大量的服務變更、復雜的服務關系,以前靠人工記錄、工具變更的方式不管在效率還是準確性方面也都無法滿足業務需求;在安全方面也出現了各種大大小小的事件,迫使我們投入更多的精力在安全防御上。逐漸的,運維團隊形成之前提到的5個大的工作分類,每個分類都需要有專精的人才。這個時候系統運維更專注于基礎設施的建設和運維,提供穩定、高效的網絡環境,交付服務器等資源給應用運維工程師。應用運維更專注于服務運行狀態和效率。數據庫運維屬于應用運維工作的細化,更專注于數據庫領域的自動化、性能優化和安全防御。運維研發和運維安全提供各類平臺、工具,進一步提升運維工程師的工作效率,使業務服務運行得更加穩定、高效和安全。

我們將運維發展過程劃分為4個階段,如圖1-2所示。

圖1-2 運維發展過程

手工管理階段:業務流量不大,服務器數量相對較少,系統復雜度不高。對于日常的業務管理操作,大家更多的是逐臺登錄服務器進行手工操作,屬于各自為戰,每個人都有自己的操作方式,缺少必要的操作標準、流程機制,比如業務目錄環境都是各式各樣的。

工具批量操作階段:隨著服務器規模、系統復雜度的增加,全人工的操作方式已經不能滿足業務的快速發展需要。因此,運維人員逐漸開始使用批量化的操作工具,針對不同操作類型出現了不同的腳本程序。但各團隊都有自己的工具,每次操作需求發生變化時都需要調整工具。這主要是因為對于環境、操作的規范不夠,導致可程序化處理能力較弱。此時,雖然效率提升了一部分,但很快又遇到了瓶頸。操作的質量并沒有太多的提升,甚至可能因為批量執行而導致更大規模的問題出現。我們開始建立大量的流程規范,比如復查機制,先上線一臺服務器觀察10分鐘后再繼續后面的操作,一次升級完成后至少要觀察20分鐘等。這些主要還是靠人來監督和執行,但在實際過程中執行往往不到位,反而降低了工作效率。

平臺管理階段:在這個階段,對于運維效率和誤操作率有了更高的要求,我們決定開始建設運維平臺,通過平臺承載標準、流程,進而解放人力和提高質量。這個時候對服務的變更動作進行了抽象,形成了操作方法、服務目錄環境、服務運行方式等統一的標準,如程序的啟停接口必須包括啟動、停止、重載等。通過平臺來約束操作流程,如上面提到的上線一臺服務器觀察10分鐘。在平臺中強制設定暫停檢查點,在第一臺服務器操作完成后,需要運維人員填寫相應的檢查項,然后才可以繼續執行后續的部署動作。

系統自調度階段:更大規模的服務數量、更復雜的服務關聯關系、各個運維平臺的林立,原有的將批量操作轉化成平臺操作的方式已經不再適合,需要對服務變更進行更高一層的抽象。將每一臺服務器抽象成一個容器,由調度系統根據資源使用情況,將服務調度、部署到合適的服務器上,自動化完成與周邊各個運維系統的聯動,比如監控系統、日志系統、備份系統等。通過自調度系統,根據服務運行情況動態伸縮容量,能夠自動化處理常見的服務故障。運維人員的工作也會前置到產品設計階段,協助研發人員改造服務使其可以接入到自調度系統中。

在整個運維的發展過程中,希望所有的工作都自動化起來,減少人的重復工作,降低知識傳遞的成本,使我們的運維交付更高效、更安全,使產品運行更穩定。對于故障的處理,也希望由事后處理變成提前發現,由人工處理變成系統自動容災。

五、2018年Linux運維必須抓住的前沿技能

這是技術世界正在發生的深刻變革的冰山一角,那么問題來了? 作為傳統的運維該如何轉型呢?

這里給出一點小的建議: 大致需要學習下這四個部分:

自動化運維(Ansible,Puppet,Saltstack等)

Devops(Docker,K8s,Jenkins,Jira等),

云服務技術(虛擬化、OpenStack、AWS及阿里云各種產品服務架構等)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11227

    瀏覽量

    208920
  • 服務器
    +關注

    關注

    12

    文章

    9020

    瀏覽量

    85182

原文標題:Linux職業困惑?給你史上最全互聯網Linux工作規劃!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux中常用的MySQL腳本

    Linux中,使用MySQL進行常見的任務時,可以編寫一些腳本來簡化操作。以下是一些常用的MySQL腳本,希望對你的工作有所幫助。
    發表于 09-07 09:49 ?735次閱讀

    老男孩Linux培訓教程

    !成就IT夢想!  如果您想更系統的學習Linux,推薦報老男孩IT教育Linux培訓班,老男孩Linux從2007
    發表于 12-15 15:16

    linux命令大全

    Linux高端學習需要掌握大量的命令及相關工具,通讀bash man page、掌握VIM使用、了解SSH是Linux高端
    發表于 03-15 16:36

    學習Linux發展方向

     現下Linux應用廣泛,從桌面到服務器,從操作系統到企業應用,Linux像雨后春筍般迅速成長,Linux人才需求持續升溫。其中Linux系統
    發表于 07-25 17:15

    Linux都要會哪些shell技能

    在充斥著各種的互聯網+的數字時代,Linux也越來越趨于自動化方向發展,越來越多的工作者奔跑在了自動化
    發表于 11-30 17:38

    2019Linux工程師的高薪出路在哪?

    早在2015國家就提出了“供給側”改革思想,簡言之,就是告訴企業里的Linux工程師要從以往平時人肉部署各種業務環境,處理各種故障(負載高、CPU高、服務宕機、被攻擊),每天火燒
    發表于 01-17 14:52

    2019Linux工程師的高薪出路在哪

    早在2015國家就提出了“供給側”改革思想,簡言之,就是告訴企業里的Linux工程師要從以往平時人肉部署各種業務環境,處理各種故障(負載高、CPU高、服務宕機、被攻擊),每天火燒
    發表于 01-28 18:02

    linux階段職位說明

    linux發展路線規劃
    發表于 05-07 16:36

    linux怎么排查

    linux排查常用命令(開發專享)
    發表于 11-11 06:34

    Linux趨勢_第24期_201212月號_代碼部署

    Linux趨勢_第24期_201212月號_代碼部署
    發表于 10-30 09:06 ?3次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>運</b><b class='flag-5'>維</b>趨勢_第24期_2012<b class='flag-5'>年</b>12月號_代碼部署

    Linux趨勢》特刊——Linux20周

    Linux趨勢》特刊——Linux20周
    發表于 10-30 09:10 ?4次下載
    《<b class='flag-5'>Linux</b><b class='flag-5'>運</b><b class='flag-5'>維</b>趨勢》特刊——<b class='flag-5'>Linux</b>20周<b class='flag-5'>年</b>慶

    怎樣成為合格的Linux工程師

    做為一個工程師,你必須掌握最基本的技能方能勝任這份工作,否則,是沒有公司愿意接納你,并繼續培養你。
    的頭像 發表于 05-22 16:27 ?2655次閱讀

    如何定義linux工程師

    相信讀者們必定聽說過linux,也聽說過工程師。那么工程師是個什么概念呢?
    的頭像 發表于 08-21 15:51 ?3077次閱讀

    Linux工程師的發展前景

    它是一個非常新穎的崗位,目前從行業角度分析,隨著國內軟件行業不斷發展壯大,越來越多的復雜系統應運而生,為了保證系統的穩定運行,必須要有足夠多的linux工程師,維護是軟件生命周期中
    的頭像 發表于 08-21 15:57 ?3689次閱讀

    Linux中常見的關鍵指標參數匯總

    Linux中常見的關鍵指標參數匯總
    發表于 05-05 09:06 ?1816次閱讀