運維也是分階段,分層次的!此文借鑑參考運維指導!python
0. 熟悉常見硬件配置,瞭解常見硬件體系
1. 會搭建常見服務、理解服務工做原理
2. 精通系統工做原理(到這一步已經不多有人能作到了,能過濾掉 80%)
3. 熟悉多種發行版本,RedHat 系(Fedora , CentOS)、Debian 系(Ubuntu)、Gentoo 系(LFS,Arch)
4. 熟練的腳本開發 ,Perl,Python,Shell(三選二,或者都會)、自動化技術。
---- 第一梯度結束 ----
5. 集羣化的管理思惟方式 ,能夠經過 Puppet ,腳本等等相似工具配合。
6. 性能的極端優化 ,這個工做必須基於 2 的基礎,實際上不多有人可以作到
7. 多種數據庫的原理、優化 MySQL,Oracle,MongoDB,Redis,這裏面夠你消耗掉一半的青春
8. 高可用性以及負載均衡思惟方式
--- 第二梯度結束 ---
9. 與開發人員一塊兒,參與架構設計linux
2007年,我仍是一個運維新人,從開始拿着不到兩千的薪水到三年裏六次加薪,最後成爲公司核心骨幹,公司也從一個十幾人的團隊發展到現在兩百多人的規模成爲業內翹首,在這十年裏,經歷了很多腥風血雨。
曾經有過幾天幾夜加班沒回家,也試過連續一個月工做沒休息日,七八個小時裏搶修一個故障是常事。公司的面孔換了一批又一批,直屬上司離職了,我還在;等我作上位了,部門下屬換了一個又一個,我還在……
又是一年跳槽季,剛進入的新人都會帶着困惑和迷茫問我,做爲運維,有什麼訣竅嗎?甚至有新人連業務都沒熟悉,就向我申請加薪。我想說,首先,在進作IT運維行業前,你必定要作好心理準備,這並非一個輕鬆的工做,工做中的事情多而又雜,除了堅持,你須要懂得東西不少。下面分享一下我這十年來對運維的一點見解:
運維的職業現狀
國內人才緊缺,特別是互聯網公司。小公司的運維工做強度大,負責事情較多,基本上服務器沾邊的工做都是運維的職責。大公司的運維分工細,人才要求較高。但國內大多數來自培訓機構的運維人才都處於一個相對較低的層次,他們會寫腳本,會作一些基礎工做,但基本上都是照葫蘆畫瓢,看文檔,找參考,而沒有去挖掘底層或者更上層的東西。
運維的工做
· 須要隨時隨地待命,有故障須要立馬解決,服務器宕機帶來的損失是很是巨大的,能在越短的時間修復越好;
· 項目上線、維護、更新基本上會選擇凌晨,要有心理準備;
· 運維工程師須要和開發工程師溝通協做,必要時指出合理的建議。
因而可知,運維須要有一顆強大的心臟和一個強壯的身體,還須要有與人溝通協助的技巧。
運維的晉升空間
整體上運維分四條線:應用運維,運維開發,系統運維和 DBA。各線之間方向不一樣,但又密不可分。每條線都有本身深度,初級、中級、高級和資深的進階過程,架構師是深度加廣度。基礎的運維實際上相對簡單,作好的前提下才能考慮更長遠的發展。
運維要掌握的必備技能
做爲一個公司的基礎運維,想要獲得晉升,加深技術的深度是必要的。這幾年的技能升級之路。
初級:
Linux 基礎與命令:這是剛需,好比操做系統基礎知識、熟悉 Vi 編輯器等。不會這個就沒有而後了。
基礎服務:如 DNS、Postfix、Nginx、FTP、NTP、MFS這一部分須要達到熟練,可以理解原理最好。
硬件:畢竟作運維,常常須要和服務器打交道,硬件知識是必不可少。
中級:
運維平臺工具:好比 Nagios、Zabbix、Puppet、ansible 等。這一部分能夠提升很多效率和便利。
數據庫:熟悉常見的數據庫,基本安裝配置,基礎sql的 DDL、DML操做。
腳本語言:Shell言語是必須的。
高級:
Linux 內核:這一部分用於修煉內功,要有必定的 C 語言功底。
網絡:熟悉 TCP/IP 協議,熟練使用 tcpdump,對故障分析、系統優化幫助很是大。
安全:熟練掌握 iptables 配置,熟悉 SELinux。安全對運維能夠說相當重要。
資深:
須要往技能廣度上去了,大數據、虛擬化、雲計算、分佈式等得深挖。
運維的時間管理
運維因爲事情雜而多,而且打交道的部門也多,工做很容易受到外界的影響。須要有良好的時間管理方式,才能高質高效的作好每一件事。番茄鍾、GTD、四象時間管理都是很好的方法,天天按這些方法處理事務,能夠極大的提升效率。
可是做爲基礎運維的時候,總有須要同時兼顧工做、生活和進修。從菜鳥開始,就要學會把本身從加班中抽離,學會使用必備的遠程工具來應急。好比向日葵遠程遠程軟件,在接到報警而身邊又沒帶電腦時,能夠用手、PAD移動來遠程桌面、CMD檢查程序,先初步處理故障。ios
最近看到了一篇新聞,linux之父建議找一份基於linux和開源環境的工做,確實,這已是將來的大趨勢了。今天就來聊一聊個人想法,本人8年linux運維一線經驗,呆過不少互聯網公司,從一線運維作到運維架構師一職,也見證了中國運維行業從無人問津到可圈可點的整個演變過程。Linux系統目前主要應用在企業服務器上,學習linux,更多的是向linux系統/運維工程師方向進軍。好比雲計算系統工程師,大數據運維工程師,運維開發工程師其職位都是linux運維工程師的進階。下面就總體介紹下,做爲過來人,怎麼學習linux,以及linux入門和學習的路線。目前發現馬哥linux運維培訓課程很是不錯,我就以其爲藍本,跟你們介紹下linux學習路運維學習須要分爲四個階段,linux初級入門-àlinux中級進階-àlinux高級提高,和資深方向細化。 //備註,馬哥的教程確實不錯,講的很透徹畢竟是清華計算機專業的nginx
第一階段:初級入門面試
初級階段須要把linux學習路線搞清楚,任何學習都是按部就班的,因此學linux也是須要有必定的路線。算法
我的建議學習的路線以下:sql
初級入門:docker
一、Linux基礎知識、基本命令(起源、組成、經常使用命令如cp、ls、file、mkdir等常見操做命令)shell
二、Linux用戶及權限基礎數據庫
三、Linux系統進程管理進階
四、linux高效文本、文件處理命令(vim、grep、sed、awk、find等命令
五、shell腳本入門(可邊練習邊學習)
第二階段:中級進階
中級進階須要在充分了解linux原理和基礎知識以後,對上層的應用和服務進行深刻學習,其中說到服務確定涉及到網絡的相關知識,是須要花時間學習的。
一、TCP/IP網絡基礎(差很少CCNA、NP的知識就夠用)
二、Linux企業經常使用服務(如dns、http、ftp、mail、nfs等)
三、Linux企業級安全原理和防範技巧(系統性能/安全、安全威脅模型和保護方法
四、 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎
五、iptables安全策略構建
六、shell腳本進階(主要是結合一些應用,寫一些案例)
七、MySQL應用原理及管理入門(能管理和搭建一個我的博客站點)
學到這裏,掌握的基本技能,已經夠用了,已經能作一些基礎的運維工做和簡單維護了。
第三階段:高級提高
一、http服務代理緩存加速(其中主要學習varnish、nginx緩存系統,要對CDN的知識有所瞭解。)
二、企業級負載集羣(其中主要學習nginx、haproxy、lvs要對主要知識熟練掌握,對負載均衡算法有清晰認識,)
三、企業級高可用集羣 (其中須要對keepalived,heartbeat等進行深刻講解)
四、運維監控zabbix詳解(主要是zabbix、cacti、nagios等監控系統,如今用的比較多的是zabbix)
五、運維自動化學習(須要學一些開源運維自動化工具的使用如ansible、puppet、cobbler等運維自動化工具)
能掌握到這裏,基本能處理搞定不少工做了,能夠去面試高級運維工程師,差很少薪資能達到12-18K左右
第四階段:資深方向進階
一、 大數據方向(須要對hadoop、storm等常見開源大數據系統須要深刻了解)
二、 雲計算方向(主要是openstack這套東西,固然像一些kvm等虛擬化技術,也是須要掌握的,如今docker也比較流行)
三、 運維開發(主要是python運維開發)
四、 自動化運維(在以前自動化基礎上作深刻)
五、 運維架構師(主要須要廣度,差很少5年左右以上經驗,能夠擔當此職位)