Linux運(yùn)維工程師發(fā)展之路

一、職業(yè)發(fā)展

1故响、技術(shù)專家

發(fā)展規(guī)劃:初中級(jí)工程師 -> 高級(jí)工程師 -> 架構(gòu)師 -> 專家

適宜人群:比較喜歡挑戰(zhàn),熱愛技術(shù)樟蠕,有較強(qiáng)鉆研精神,在某一領(lǐng)域有深入的理解靡狞,性格比較內(nèi)向。

2梢杭、技術(shù)管理

發(fā)展規(guī)劃:初中級(jí)工程師 -> 高級(jí)工程師 -> 主管/經(jīng)理 -> 總監(jiān) -> CTO(首席技術(shù)官)

適宜人群:技術(shù)知識(shí)面廣,有一些管理思維,善于交際钧排,表達(dá)溝通能力強(qiáng),經(jīng)常關(guān)注行業(yè)內(nèi)動(dòng)態(tài)和主流技術(shù)糟袁。

3、目標(biāo)

熟悉運(yùn)維技術(shù)學(xué)習(xí)路線及相關(guān)技能

熟悉職業(yè)發(fā)展方向及面試分析



二周叮、要學(xué)習(xí)的開源技術(shù)

1仿耽、初級(jí)

????主要工作

????????修電腦君躺,設(shè)備巡檢

????????服務(wù)器上下架

????????網(wǎng)絡(luò)服務(wù)部署

????????網(wǎng)站平臺(tái)搭建與維護(hù)

????1啥箭、Linux基礎(chǔ)

剛開始階段需要熟悉Linux操作系統(tǒng)安裝砌滞,目錄結(jié)構(gòu)铝宵、啟動(dòng)流程等尊蚁。

????2、系統(tǒng)管理

主要學(xué)習(xí)Linux系統(tǒng)琴锭,生產(chǎn)環(huán)境中基本都在字符界面完成工作,所以要掌握常用的幾十個(gè)基本管理命令古瓤,包括用戶

管理亭引、磁盤分區(qū)纹冤、軟件包管理、文件權(quán)限知残、文本處理、進(jìn)程管理、性能分析工具等净神。

????3、網(wǎng)絡(luò)基礎(chǔ)

OSI和TCP/IP模型一定要熟悉俯渤∨亢ǎ基本的交換機(jī)抡四、路由器概念及實(shí)現(xiàn)原理要知道。

????4秘噪、Shell腳本編程基礎(chǔ)

掌握Shell基本語法結(jié)構(gòu),能編寫簡(jiǎn)單的腳本即可。

現(xiàn)學(xué)現(xiàn)部署



2像街、中級(jí)

????主要工作

????????集群網(wǎng)站平臺(tái)搭建

????????數(shù)據(jù)庫(kù)基本管理

????????監(jiān)控系統(tǒng)搭建

????????腳本化工作

????1、網(wǎng)絡(luò)服務(wù)

常見的網(wǎng)絡(luò)服務(wù)要會(huì)部署跟狱,比如vsftp叼丑、nfs纵寝、samba、bind室奏、dhcp等。 代碼版本管理系統(tǒng)少不了纯赎,可以學(xué)習(xí)下主

流的GIT,能部署和簡(jiǎn)單使用就可以了。 經(jīng)常在服務(wù)器之間傳輸數(shù)據(jù),所以要會(huì)使用:rsync和scp。 數(shù)據(jù)同步:

inotify/sersync锅锨。 重復(fù)性完成一些工作必搞,可寫成腳本定時(shí)去運(yùn)行恕洲,所以得會(huì)配置Linux下的定時(shí)任務(wù)服務(wù)crond梅割。

????2霜第、Web服務(wù)

每個(gè)公司基本都會(huì)有網(wǎng)站,能讓網(wǎng)站跑起來户辞,就需要搭建Web服務(wù)平臺(tái)了泌类。 如果是用PHP語言開發(fā)的,通常搭建

LNMP網(wǎng)站平臺(tái)底燎,這是一個(gè)技術(shù)名詞組合的拼寫刃榨,分開講就是得會(huì)部署Nginx、MySQL和PHP书蚪。 如果是JAVA語言開

發(fā)的晴玖,通常使用Tomcat運(yùn)行項(xiàng)目,為了提高訪問速度,可以使用Nginx反向代理Tomcat椭迎,Nginx處理靜態(tài)頁(yè)面述暂,

Tomcat處理動(dòng)態(tài)頁(yè)面,實(shí)現(xiàn)動(dòng)靜分離。 不是會(huì)部署這么簡(jiǎn)單期虾,還要知道HTTP協(xié)議工作原理剃幌、簡(jiǎn)單的性能調(diào)優(yōu)。

????3帕胆、負(fù)載均衡器

單臺(tái)服務(wù)器終究資源有限,抵抗高訪問量肯定是無法支撐的剥扣,解決此問題最關(guān)鍵的技術(shù)就是采用負(fù)載均衡器宁脊,水平

擴(kuò)展多臺(tái)Web服務(wù)器坐漏,同時(shí)對(duì)外提供服務(wù)衣式,這樣就成倍擴(kuò)展性能了瓮具。負(fù)載均衡器主流開源技術(shù)有LVS耳幢、HAProxy和

Nginx吱窝。一定要熟悉一兩個(gè)盹牧!

????4嵌削、數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)選擇MySQL惩激,它是世界上使用最為廣泛的開源數(shù)據(jù)庫(kù)哮兰。學(xué)它準(zhǔn)沒錯(cuò)窘哈! 也要會(huì)一些簡(jiǎn)單的SQL語句、用戶管

理腹纳、常用存儲(chǔ)引擎吁脱、數(shù)據(jù)庫(kù)備份與恢復(fù)。 想要深入點(diǎn)遥皂,必須會(huì)主從復(fù)制、性能優(yōu)化试伙、主流集群方案:MHA、MGR

等尊沸。 NoSQL這么流行當(dāng)然也少不了,學(xué)下Redis屡谐、MongoDB這兩個(gè)就好了锨咙。

????5、監(jiān)控系統(tǒng)

監(jiān)控必不可少,是及時(shí)發(fā)現(xiàn)問題和追溯問題的救命稻草∮裼酰可以選擇學(xué)習(xí)主流的Zabbix吏垮、Prometheus開源監(jiān)控系

統(tǒng)娇豫,功能豐富梧乘,能滿足企業(yè)級(jí)監(jiān)控需求莺葫。監(jiān)控點(diǎn)包括服務(wù)器硬件瘫俊、服務(wù)器性能、API侵状、業(yè)務(wù)、PV/UV、日志等方

面。 也可以弄個(gè)儀表盤展示幾個(gè)實(shí)時(shí)關(guān)鍵的數(shù)據(jù)颠锉,比如Grafana翅萤,會(huì)非常炫酷穷缤。

????6身坐、日志分析系統(tǒng)日志也很重要幢踏,定期的分析,可發(fā)現(xiàn)潛在隱患檀蹋,提煉出有價(jià)值的東西。 主流日志系統(tǒng):ELK Stack 學(xué)會(huì)部署使用宫蛆,

能分析日志并可視化筋栋,方便故障排查啼染。

????7竟宋、安全防范

安全很重要,不要等到系統(tǒng)被攻擊了蜗字,再做安全策略挪捕,此時(shí)已晚级零!所以,當(dāng)一臺(tái)服務(wù)器上線后應(yīng)馬上做安全訪問控

制策略序调,比如使用iptables限制只允許信任源IP訪問发绢,關(guān)閉一些無用的服務(wù)和端口等边酒。 一些常見的攻擊類型一定得

知道啊,否則怎么對(duì)癥下藥呢介杆!比如CC荆隘、DDOS、ARP等。

????8缆毁、Shell腳本編程進(jìn)階

Shell腳本是Linux自動(dòng)完成工作的利器,必須得熟練編寫,所以得進(jìn)一步學(xué)習(xí)函數(shù)屿讽、數(shù)組虎锚、信號(hào)、發(fā)郵件等柱徙。 文本

處理三劍客(grep储耐、sed长赞、awk)得玩6啊脯颜,Linux下文本處理就指望它們了。

????9矾芙、Python/Go開發(fā)基礎(chǔ)

Shell腳本只能完成一些基本的任務(wù)剔宪,想要完成更復(fù)雜些的任務(wù)和媳,比如調(diào)用API拒迅、多進(jìn)程等硬梁。就需要學(xué)高級(jí)語言了屹电。

Python是運(yùn)維領(lǐng)域使用最多的語言,簡(jiǎn)單易用素邪,學(xué)它準(zhǔn)沒錯(cuò)!此階段掌握基礎(chǔ)就可以了俐填,例如基本語法結(jié)構(gòu)歇式、文件對(duì)象操作、函數(shù)、迭代對(duì)象笼呆、異常處理铭若、發(fā)郵件镜雨、數(shù)據(jù)庫(kù)編程等西剥。


3咆畏、高級(jí)

????主要工作

????????億級(jí)網(wǎng)站架構(gòu)設(shè)計(jì)

????????性能優(yōu)化

????????容器化落地

????????大規(guī)模自動(dòng)化運(yùn)維

平臺(tái)化工作

????1、Web靜態(tài)緩存

用戶老喊著訪問網(wǎng)站慢,看看服務(wù)器資源還很富裕啊沦童!網(wǎng)站訪問慢也許不是服務(wù)器資源飽和導(dǎo)致的氏豌,影響因素很

多,例如網(wǎng)絡(luò)、轉(zhuǎn)發(fā)層數(shù)等止状。 對(duì)于網(wǎng)絡(luò)催束,存在南北通信問題摘昌,之間訪問會(huì)慢稿饰,這個(gè)可以使用CDN解決梧喷,同時(shí)緩存

靜態(tài)頁(yè)面偿凭,盡可能將請(qǐng)求攔截在最上層響應(yīng),減少后端請(qǐng)求和響應(yīng)時(shí)間霎烙。 如果不用CDN尝蠕,也可以使用Squid罐寨、

Varnish舷手、Nginx這樣的緩存服務(wù)實(shí)現(xiàn)靜態(tài)頁(yè)面緩存,放到流量入口處。

????2汗捡、集群

單臺(tái)服務(wù)器終究資源有限扇住,抵抗高訪問量肯定是無法支撐的读整,解決此問題最關(guān)鍵的技術(shù)就是采用負(fù)載均衡器,水平

擴(kuò)展多臺(tái)Web服務(wù)器逻锐,同時(shí)對(duì)外提供服務(wù),這樣就成倍擴(kuò)展性能了冒萄。負(fù)載均衡器主流開源技術(shù)有LVS宦言、HAProxy和

Nginx扇单。一定要熟悉一兩個(gè)! Web服務(wù)器性能瓶頸解決了奠旺,數(shù)據(jù)庫(kù)更為關(guān)鍵蜘澜,還是采用集群,就拿MySQL來說响疚,

可以一主多從架構(gòu)鄙信,在此基礎(chǔ)上讀寫分離,主負(fù)責(zé)寫忿晕,多從負(fù)責(zé)讀装诡,從庫(kù)可水平擴(kuò)展,前面再來個(gè)四層負(fù)載均衡

器践盼,承載千萬級(jí)PV夯到,妥妥的! 高可用軟件也得會(huì)剩拢,避免單點(diǎn)的利器糯俗,主流的有Keepalived、Heartbeat等肄程。隨著業(yè)務(wù)擴(kuò)展锣吼,網(wǎng)站圖片越來越多选浑!NFS共享存儲(chǔ)支撐不過了,處理很慢玄叠!上分布式文件系統(tǒng)古徒,并行處理任務(wù),無

單點(diǎn)读恃,高可靠描函,高性能等特性,主流的有FastDFS狐粱、MFS舀寓、HDFS、Ceph肌蜻、GFS等互墓。初期的話我建議學(xué)習(xí)下

FastDFS,能滿足中小規(guī)模需求蒋搜。

????3篡撵、容器化

硬件服務(wù)器資源利用率很低,甚是浪費(fèi)豆挽!可以把空閑多的服務(wù)器虛擬化育谬,弄成很多個(gè)的虛擬機(jī),每個(gè)虛擬機(jī)就是一

個(gè)完整的操作系統(tǒng)帮哈√盘矗可以很大程度提高資源利用率。主流私有云平臺(tái)實(shí)現(xiàn):KVM+OpenStack 虛擬機(jī)作為基礎(chǔ)平臺(tái)

還可以娘侍,但應(yīng)用業(yè)務(wù)彈性伸縮也太重量了吧咖刃!啟動(dòng)好幾分鐘,文件又這么大憾筏,快速擴(kuò)展太費(fèi)勁了嚎杨! 好說,上容器氧腰,

容器主要特點(diǎn)就是快速部署和環(huán)境隔離枫浙。一個(gè)服務(wù)封裝到鏡像中,分分鐘鐘可創(chuàng)建幾百個(gè)容器古拴。 主流的容器技術(shù)非

Docker莫屬了箩帚。 當(dāng)然,生產(chǎn)環(huán)境單機(jī)Docker大多數(shù)情況下是無法滿足業(yè)務(wù)需求的斤富,可以基于Kubernetes構(gòu)建容器

平臺(tái)膏潮,集群化管理容器,形成一個(gè)大的資源池满力,為基礎(chǔ)架構(gòu)提供有力的支撐焕参。

????4、自動(dòng)化運(yùn)維

反反復(fù)復(fù)重復(fù)的工作油额,不但提高不了效率叠纷,價(jià)值也得不到體現(xiàn)。 一切運(yùn)維工作標(biāo)準(zhǔn)化潦嘶,例如環(huán)境版本涩嚣、目錄結(jié)構(gòu)、

操作系統(tǒng)等統(tǒng)一掂僵。在標(biāo)準(zhǔn)化基礎(chǔ)上才能更方面的自動(dòng)化航厚,點(diǎn)點(diǎn)鼠標(biāo)或者敲幾個(gè)命令即可完成一項(xiàng)復(fù)雜的工作任務(wù),

爽哉爽哉锰蓬! 因此幔睬,所有的操作盡可能自動(dòng)化,減少人為失誤芹扭,提高工作效率麻顶。 主流服務(wù)器集中管理工具:

Ansible、Saltstack 持續(xù)集成工具:Jenkins舱卡、Gitlab

????5辅肾、Python開發(fā)進(jìn)階

可以再深入學(xué)習(xí)下Python開發(fā),掌握面向?qū)ο缶幊獭?最好也掌學(xué)習(xí)一個(gè)Web框架開發(fā)網(wǎng)站轮锥,例如Django矫钓、Flask,

主要是開發(fā)運(yùn)維管理系統(tǒng)舍杜,將一些復(fù)雜的流程寫到平臺(tái)中份汗,再集成集中管理工具,可打造一個(gè)屬于運(yùn)維自己的管理

平臺(tái)蝴簇。

????7杯活、性能優(yōu)化

只會(huì)部署是遠(yuǎn)遠(yuǎn)不夠的,性能優(yōu)化能最大化提升服務(wù)承載量熬词。 這塊也是比較難的旁钧,也是高薪的關(guān)鍵點(diǎn)之一,為了錢

也得下點(diǎn)功夫?qū)W習(xí)盎ナ啊歪今! 可以從硬件層、操作系統(tǒng)層颜矿、軟件層和架構(gòu)層維度展開思考寄猩。


三、小結(jié)

武器名稱

文本處理

grep骑疆、sed田篇、awk

數(shù)據(jù)傳輸

Rsync替废、Scp、Inodify/Sersync泊柬,風(fēng)哥說的一個(gè)(lsyncd(內(nèi)部涵蓋了inotify+rsync))

進(jìn)程管理

Supervisor

性能分析

top椎镣、free、df兽赁、iftop状答、iostat、vmstat刀崖、dstat惊科、sar、sysdig亮钦,iotop(需要使用python去執(zhí)行)

io排行榜查看

/usr/bin/python2 /usr/sbin/iotop

網(wǎng)絡(luò)服務(wù)

vsftp馆截、nfs、samba或悲、bind孙咪、dhcp、postfifix

Web服務(wù)

Apache巡语、Nginx翎蹈、Tomcat、JBoss男公、Resin

數(shù)據(jù)庫(kù)

MySQL荤堪、MariaDB、PostgreSQL枢赔,Oracle

NoSQL

Redis澄阳、MongoDB

消息中間件

RabbitMQ、ActiveMQ,kafka

版本管理

SVN踏拜、Git

靜態(tài)緩存

Squid碎赢、Varnish、Nginx

負(fù)載均衡

LVS速梗、HAProxy肮塞、Nginx

高可用軟件

Keepalived、Heartbeat姻锁、DRBD枕赵、corosync+pacemaker

集中管理工具

Ansible、Saltstack位隶、Chef拷窜、Puppet

虛擬化

KVM、Xen、Openstack篮昧、Cloudstack

容器化

Docker赋荆、Kubernetes、Rancher恋谭、Openshift

自動(dòng)裝機(jī)--這個(gè)不太需要去看了

Kickstart糠睡、Cobbler

抓包分析

Tcpdump挽鞠、Wireshark

持續(xù)集成

Jenkins疚颊、Gitlab

MySQL代理

Altas、Cobar信认、Mycat

壓測(cè)

ab材义、fifio、sysbench嫁赏、mysqlslap其掂、Jemter

日志系統(tǒng)

ELK Stack、Graylog

監(jiān)控

Zabbix潦蝇、Prometheus款熬、Open-falcon(小米的監(jiān)控)

分布式文件系統(tǒng)

Ceph(比較多的)、GlusterFS攘乒、FastDFS

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贤牛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子则酝,更是在濱河造成了極大的恐慌殉簸,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沽讹,死亡現(xiàn)場(chǎng)離奇詭異般卑,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)爽雄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門蝠检,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挚瘟,你說我怎么就攤上這事叹谁。” “怎么了刽沾?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵本慕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我侧漓,道長(zhǎng)锅尘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮藤违,結(jié)果婚禮上浪腐,老公的妹妹穿的比我還像新娘。我一直安慰自己顿乒,他們只是感情好议街,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著璧榄,像睡著了一般特漩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上骨杂,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天涂身,我揣著相機(jī)與錄音,去河邊找鬼搓蚪。 笑死蛤售,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妒潭。 我是一名探鬼主播悴能,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼雳灾!你這毒婦竟也來了漠酿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤佑女,失蹤者是張志新(化名)和其女友劉穎记靡,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體团驱,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摸吠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嚎花。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寸痢。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖紊选,靈堂內(nèi)的尸體忽然破棺而出啼止,到底是詐尸還是另有隱情,我是刑警寧澤兵罢,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布献烦,位于F島的核電站,受9級(jí)特大地震影響卖词,放射性物質(zhì)發(fā)生泄漏巩那。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望即横。 院中可真熱鬧噪生,春花似錦、人聲如沸东囚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)页藻。三九已至桨嫁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惕橙,已是汗流浹背瞧甩。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工钉跷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弥鹦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓爷辙,卻偏偏與公主長(zhǎng)得像彬坏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子膝晾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容