運維也是分階段,分層次的!此文借鑒參考運維指導!
運維階段
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. 與開發人員一起,參與架構設計
轉載運維的心路歷程
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檢查程序,先初步處理故障。
最近看到了一篇新聞,linux之父建議找一份基於linux和開源環境的工作,確實,這已經是未來的大趨勢了。今天就來聊一聊我的想法,本人8年linux運維一線經驗,呆過很多互聯網公司,從一線運維做到運維架構師一職,也見證了中國運維行業從無人問津到可圈可點的整個演變過程。Linux系統目前主要應用在企業服務器上,學習linux,更多的是向linux系統/運維工程師方向進軍。比如雲計算系統工程師,大數據運維工程師,運維開發工程師其職位都是linux運維工程師的進階。下面就整體介紹下,作為過來人,怎么學習linux,以及linux入門和學習的路線。目前發現馬哥linux運維培訓課程非常不錯,我就以其為藍本,跟大家介紹下linux學習路運維學習需要分為四個階段,linux初級入門-àlinux中級進階-àlinux高級提升,和資深方向細化。 //備注,馬哥的教程確實不錯,講的很透徹畢竟是清華計算機專業的
第一階段:初級入門
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
個人建議學習的路線如下:
初級入門:
1、Linux基礎知識、基本命令(起源、組成、常用命令如cp、ls、file、mkdir等常見操作命令)
2、Linux用戶及權限基礎
3、Linux系統進程管理進階
4、linux高效文本、文件處理命令(vim、grep、sed、awk、find等命令
5、shell腳本入門(可邊練習邊學習)
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之后,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網絡的相關知識,是需要花時間學習的。
1、TCP/IP網絡基礎(差不多CCNA、NP的知識就夠用)
2、Linux企業常用服務(如dns、http、ftp、mail、nfs等)
3、Linux企業級安全原理和防范技巧(系統性能/安全、安全威脅模型和保護方法
4、 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎
5、iptables安全策略構建
6、shell腳本進階(主要是結合一些應用,寫一些案例)
7、MySQL應用原理及管理入門(能管理和搭建一個個人博客站點)
學到這里,掌握的基本技能,已經夠用了,已經能做一些基礎的運維工作和簡單維護了。
第三階段:高級提升
1、http服務代理緩存加速(其中主要學習varnish、nginx緩存系統,要對CDN的知識有所了解。)
2、企業級負載集群(其中主要學習nginx、haproxy、lvs要對主要知識熟練掌握,對負載均衡算法有清晰認識,)
3、企業級高可用集群 (其中需要對keepalived,heartbeat等進行深入講解)
4、運維監控zabbix詳解(主要是zabbix、cacti、nagios等監控系統,現在用的比較多的是zabbix)
5、運維自動化學習(需要學一些開源運維自動化工具的使用如ansible、puppet、cobbler等運維自動化工具)
能掌握到這里,基本能處理搞定很多工作了,可以去面試高級運維工程師,差不多薪資能達到12-18K左右
第四階段:資深方向進階
1、 大數據方向(需要對hadoop、storm等常見開源大數據系統需要深入了解)
2、 雲計算方向(主要是openstack這套東西,當然像一些kvm等虛擬化技術,也是需要掌握的,現在docker也比較流行)
3、 運維開發(主要是python運維開發)
4、 自動化運維(在之前自動化基礎上做深入)
5、 運維架構師(主要需要廣度,差不多5年左右以上經驗,可以擔當此職位)