Linux運維工程師是什麼鬼?

第一部分:定義
運維工程師,字面理解運行維護。

linux運維即linux運維工程師,集合網絡、系統、數據庫、開發、安全工做於一身的「複合性人才」。php

 
除了傳統IT運維部分,運維人員仍是管理制度、規範流程的制定、推行、監督角色。
運維流程,運維規範,運維制度,自動化智能化,批量部署,批量管理,網站架構優化,監控預警,流量及日誌分析統計,權限,安全優化管理,帳戶統一認證等這纔是運維人員該作的。
 
運維的核心是運維思想,並不是運維技術自己。如何推動完善運維工做,提高工做效率,提高團隊以一當十的戰鬥力纔是最核心的內容。
運維宗旨是7*24小時網絡穩定,用戶體驗良好。有經驗的運維人員會先思考,再動做,經驗不足的運維人員會先作,遇到問題再思考,這也是徹底不一樣的層次和思想。
 
 
第二部分:10個基本技能點
 
本人是 Linux 運維工程師,對這方面有點心得,如今我說說要掌握哪方面的工具吧!
說到工具,在行外能夠說是技能,在行內咱們通常稱爲工具,就是運維必需要掌握的工具。
 
微觀來講,則須要運維工程師瞭解系統的每個工做步驟。
宏觀來講,須要瞭解整個系統的架構,不一樣服務是如何一環扣一環工做的;
 
 
一、Linux 系統基礎
這個不用說了,是基礎中的基礎,連這個都不會就別幹了,參考書籍,能夠看鳥哥 Linux 基礎篇,至少要掌握這書 60% 內容,沒必須所有掌握,但基本命令總得會吧!
 
二、 網絡服務
服務有不少種,每間公司都會用到不一樣的,但基礎的服務確定要掌握,如 FTP, DNS,SAMBA, 郵件, 這幾個大概學一下就行,LAMP 和 LNMP 是必需要熟練,我所指的不是光光會搭建,而是要很熟悉裏面的至關配置才行,由於公司最關鍵的絕對是 Web 服務器,因此 nginx 和 apache 要熟悉,特別是 nginx 必定要很熟悉才行,至少有些公司還會用 tomcat,這個也最好學一下。
 
其實網絡服務方面不用太擔憂,通常公司的環境都已經搭建好,就算有新服務器或讓你整改,公司會有相應的文檔讓你參照來弄,不會讓你亂來的,但至少相關的配置必定要學熟,並且確定是編譯安裝多,那些模塊要熟悉一下他的做用,特別是 PHP 那些模塊。
這 2 點只是基礎,也是必要條件,不能說是工具,如下才是真正要掌握的工具。
 
三、shell 腳本和另外一個腳本語言
shell 是運維人員必須具有的,不懂這個連入職都不行,至少也要寫出一些系統管理腳本,最簡單也得寫個監控 CPU,內存比率的腳本吧!這是最最最基本了,別覺得會寫那些猜數字和計算什麼數的,這些沒什麼做用,只做學習意義,寫系統腳本纔是最有意義,而另外一個腳本語言是可選的,通常是 3P,即 python, perl 和 php,php 就不須要考慮了,除非你要作開發,我我的建議學 python 會比較好,難實現自動化運維,perl 是文本處理很強大,反正這兩個學一個就好了。
 
四、sed 和 awk 工具
必需要掌握,在掌握這兩個工具同時,還要掌握正則表達式,這個就痛苦了,正則是最難學的表達式,但結合到 sed 和 awk 中會很強大,在處理文本內容和過濾 Web 內容時十分有用,不過在學 shell 的同時通常會常常結合用到的,因此學第 3 點就會順便學第 4 點。
 
五、 文本處理命令
sort , tr , cut, paste, uniq, tee 等,必學,也是結合第 3 點時一併學習的。
 
6 、數據庫
首選 MySQL,別問我爲何不學 SQL Server 和 Oracle,由於 linux 用得最多絕對是 MySQL,增刪改查必學,特別要學熟查,其它方面可能不太須要,由於運維人員使用最多仍是查,哪些優化和開發語句不會讓你弄的。
 
7 、防火牆
不學不行,防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則,若是學過 CCNA 的朋友可能會比較好學,由於 iptables 也有 NAT 表,原理是同樣的,而 FILTER 表用得最多,反正不學就確定不合格。
 
8 、監控工具
十分十分重要,我我的建議,最好學這 3 個,cacti,nagios,zibbix,企業用得最多應該是 nagios 和 zibbix,反正都學吧!但 nagios 會有點難,由於會涉及到用腳本寫自動監控,那個地方很難。
 
9 、集羣和熱備
這個很重要,確定要懂的,但到了公司就不會讓你去弄,由於新手基本不讓你碰,集羣工具備不少,最好學是 LVS,這是必學,最好也學學 nginx 集羣,反向代理,還有熱備,這個就更多工具能實現了,像我公司是本身開發熱備工具的,mysql 熱備也要學,就是主從複製,這個別告訴我容易,其實不容易的,要學懂整個流程一點也不容易,只照着作根本沒意思。
 
10 、數據備份
不學不行,工具備不少,但至少要把 RAID 的原理弄懂,特別是企業最經常使用的 1+0 或 0+1,本身作實驗也要弄出來,備份工具備不少,如 tar, dump, rsync 等,最好多瞭解一下。
這 10 點已經能夠入門了,由於有些技術會比較難學,例如 apache 和 nginx 中還有些很重要的技術,如系統調優和服務優化,還有程序優化,這些在沒接觸工做前很難學習到的,因此先把這 10 點學了吧!估計要學熟至少 3 個月不止,就腳本那部分已經讓你很吃力了,我建議是先學熟 shell,等工做後再學另外一門腳本語言,這樣會比較好。
 
以上就是踏入 Linux 運維工程師須要掌握的工具,其實還有不少工具要掌握的,但你在學習環境中是很難學到,最後我再提醒一下,這裏所指的工具至關於技能,而不是像 Windows 或 ubuntu 那些圖形化工具,那些工具沒用的,還有,學 Linux 就別裝圖形界面,這樣虛擬機就不用吃太多內存,並且絕對不建議在真機上裝 Linux,根本達不到學習效果。
 
第三部分:發展路線

linux運維發展路線常見的就是下面兩條路線:python

第一條:運維應用-->系統架構-->運維開發-->系統開發mysql

第二條:運維應用-->應用dba-->架構dba-->開發DBAlinux

下面詳細每一個階段的職位說明(以北上廣爲例):ios

01.運維應用級別:
這個階段就是玩別人的軟件,例如:linux,nginx,mysql,php,nagios  大多數的linux運維工程師,網絡工程師,系統工程師都是這個階段。 這個階段的工資平均3-10K。處在這個階段的夥伴們要注意了。
這裏屬於金字塔的底端,工資是相對比較低的。nginx

02.系統架構級別:
這個階段就是用已知軟件架構大規模集羣方案以及實現各類技術方案
這個就是所謂的系統架構師,若是是程序開發就是程序架構師。
這個階段的工資平均10K-30K,屬於運維應用上層,須要靠技術,溝通,思想三條線通力配合才能達到這個水平。web

03.運維開發級別:
這個階段就是利用已知語言,開發基本的應用層工具,例如:web管理系統
這個階段的平均工資大概10-30K,若是具有前兩個運維應用和系統架構的積澱, 那麼工資30-60K很輕鬆。正則表達式

04.系統開發級別:
這個階段就是修改開源的軟件,或者開發新的服務軟件(例如:也開發一個web軟件,存儲軟件)與底層軟件(例如:OS)這個階段的平均工資大概20-60K,若是具有前兩個運維應用和系統架構的積澱,工資更高!sql

05.數據庫管理和架構:
這個階段就是也主要是玩別人的軟件,可是因爲數據相對更重要,因此工資要一些。
數據庫也須要架構,因此數據庫的高級階段工資也會較高,數據庫開發職位很少,就不說了。
這個階段的工資平均10K-40K。要求至少第一層運維應用的能力。其餘能力有就是加分。
()三條具體學習路線對應上面發展規劃
第一條:linux運維工程師-->linux頂級架構師-->python運維開發-->C語言運維繫統開發shell

第二條:linux運維工程師-->linux頂級架構師-->php運維開發-->C語言運維繫統開發

第三條:linux運維工程師-->MySQL高級DBA
提示:【以上路線技術掌握60%內容,加以時日,每條路線工資20K+】
()精品學習路線發展規劃
第一條:linux運維工程師-->linux頂級架構師

第二條:linux運維工程師-->python運維繫統開發

第三條:linux運維工程師-->php運維繫統開發
提示:【以上路線技術掌握60%內容,加以時日,每條路線工資10K+

相關文章
相關標籤/搜索