小張纠亚,3年網(wǎng)工一枚塘慕,常常抱怨:薪資不高,瑣事一堆蒂胞,常常背鍋图呢。
眼看一把年紀(jì)了,發(fā)現(xiàn)不能再這樣下去了啤誊,向我討教一條逆襲之路岳瞭!
既然要說,那就和大家一起分享下吧蚊锹,順便總結(jié)下十幾年的Linux運維經(jīng)驗。
聊聊:自己吧稚瘾!
最早接觸Linux是在2000年牡昆,那時,我還在上大學(xué)。一個從荷蘭歸來的同學(xué)丢烘,帶回一個Linux的拷貝版柱宦,版本還是個人版Redhat6.2。
為安裝這個系統(tǒng)播瞳,我們挑燈夜戰(zhàn)掸刊,不亦樂乎。那時Linux的學(xué)習(xí)資料還很少赢乓,能夠?qū)W習(xí)的書籍也不多忧侧,網(wǎng)上Linux技術(shù)社區(qū)更不多,便憑著Redhat6.2自帶的幾頁使用說明開始了Linux學(xué)習(xí)生涯牌芋。
這算是我學(xué)Linux的起點吧蚓炬。其實學(xué)Linux門檻很低,只要你想學(xué)躺屁,有熱情肯夏,有學(xué)習(xí)能力,幾個月時間就能輕松上手干活犀暑。
背鍋俠逆襲之路
Linux:快速入門驯击?
那么通過什么學(xué)習(xí)方法,能夠快速入門Linux呢耐亏?我這么多年的工作和學(xué)習(xí)徊都,總結(jié)出了下面一套方法,希望對大家有用苹熏。
1>多動手實踐碟贾,理論結(jié)合實際
這個太重要了,我見過太多的人轨域,懶于動手袱耽,覺得能看懂,能聽懂干发,就不去實踐練習(xí)朱巨,結(jié)果覺得什么都懂的人,在真正干活的時候傻眼了枉长。
很多Linux知識冀续,例如每個命令的參數(shù)含義,在書本上說得很清楚必峰,看起來也很容易理解洪唐,但是組合起來使用,卻并不那么容易吼蚁,沒有多次的動手練習(xí)凭需,其中的技巧是無法完全掌握的。
2>一定要習(xí)慣命令行方式工作
Linux下90%的操作都是在命令行下完成的,因而粒蜈,命令是必須要熟練掌握的顺献,可能剛剛從windows下轉(zhuǎn)到Linux的新手會感到困難。
3>選擇一個適合自己的Linux發(fā)行版本
linux的發(fā)行版本太多了枯怖,目前大約有300多個linux的發(fā)行版本注整,但是,請不要為此而感到?jīng)]有頭緒度硝,根據(jù)自己學(xué)習(xí)Linux的方向肿轨,選擇適合自己的發(fā)行版本。
例如塘淑,如果喜歡Linux的企業(yè)級應(yīng)用萝招,想從事linux服務(wù)器管理方面工作的話,推薦學(xué)習(xí)CentOS版本或者Red Hat Enterprise Linux發(fā)行版本存捺;而如果是開發(fā)槐沼、測試等等,推薦你選擇Ubuntu Linux捌治;如果你已經(jīng)是Linux的初中級學(xué)者岗钩,想繼續(xù)深入學(xué)習(xí),推薦你選擇CentOS或者Debian Linux等肖油。
4>學(xué)會做筆記兼吓、寫實錄
這個我的體會很深,學(xué)的再多森枪,都是會忘記的视搏,見過很多初學(xué)者,學(xué)過了县袱,但是因為工作環(huán)境暫時用不到浑娜,所以很快又忘了,難道要無數(shù)遍的學(xué)嗎式散?
誰都會忘記筋遭,但是有個方法可以讓你忘記后迅速找回已經(jīng)學(xué)過的知識,那就是做筆記暴拄,寫學(xué)習(xí)實錄漓滔,筆記要做的非常詳細(xì),甚至可以像流水賬一樣都行乖篷,只要自己能看懂即可响驴,特別是學(xué)習(xí)過程中,自己遇到的坑撕蔼,一定要寫的足夠詳細(xì)踏施,這樣的話石蔗,在需要重新熟悉這部分知識的時候罕邀,可以迅速喚醒之前的記憶畅形。
如果有條件,也可以把自己的學(xué)習(xí)過程通過視頻的方式錄制下來诉探,這樣更有助于以后的備忘查詢日熬,效果更好。
5>學(xué)會自我學(xué)習(xí)肾胯、獨立學(xué)習(xí)
學(xué)習(xí)一項技能的過程竖席,核心是自己,不能依賴任何人敬肚,不管你是報了培訓(xùn)班毕荐,還是找了私教,他們只是你學(xué)習(xí)過程中的引路人艳馒,他們的作用是幫助你把握學(xué)習(xí)方式憎亚,幫助你少走彎路,同時把他們多年的經(jīng)驗分享給你弄慰,除此之外第美,其它都要靠你自己,所以陆爽,在這個過程中什往,要養(yǎng)成獨立學(xué)習(xí)能力。
什么叫獨立學(xué)習(xí)慌闭,那就是出現(xiàn)問題别威,先自己解決,能解決驴剔,那就是進步省古,不能解決了,再去問老師仔拟,那怎么獨立解決呢衫樊,這需要依賴一些網(wǎng)絡(luò)工具,最典型的就是搜索引擎利花,出現(xiàn)問題了科侈,最簡單的就是把出現(xiàn)的錯誤復(fù)制到搜索引擎,99%都能找到答案炒事,這就是獨立學(xué)習(xí)能力臀栈。此外,還可以通過使用Linux自身提供了強大的聯(lián)機幫助文檔挠乳,QQ权薯、微信技術(shù)交流群等多種形式姑躲,都可以去提問并解決問題。
獨立思考并解決問題盟蚣,不但鍛煉了自己獨立解決問題的能力黍析,在技術(shù)上也能得到快速提高。如果通過向人詢問得到答案后屎开,要思考為何這么做阐枣,然后做筆記記錄解決過程。最忌諱的方式是只要遇到問題奄抽,就去問人蔼两,雖然這樣可能會很快解決問題,但是長久下去遇到問題就會依賴別人逞度,技術(shù)上也不會進步额划。
運維:學(xué)什么?
背鍋俠逆襲之路
做一名合格的運維人档泽,要學(xué)的技術(shù)是很多的俊戳,具體有哪些,下面是我做的一個簡單總結(jié):
1>基礎(chǔ)運維技能
Linux多種安裝方式
硬盤RAID技術(shù)與RAID選型
Linux初始化init系統(tǒng)
系統(tǒng)服務(wù)管理工具systemd和sysvinit
Linux下的shell編程入門
Linux下各種命令使用(常見80多個)
源碼茁瘦、yum品抽、rpm方式安裝軟件
Linux用戶權(quán)限管理
Linux磁盤與存儲管理(LVM、fdisk)
Linux內(nèi)存與內(nèi)存機制(swap甜熔、free)
Linux文件系統(tǒng)有文件系統(tǒng)選型(ext3/ext4/xfs/nfs)
Linux進程管理與監(jiān)控crond
2>web運維技能
基于Apache的LAMP架構(gòu)
基于nginx的LNMP架構(gòu)
apache下https圆恤、反向代理、Prefork MPM腔稀、 Worker MPM
apache+jk+tomcat web架構(gòu)
nginx的反向代理盆昙、負(fù)載均衡、https焊虏、PHP-FPM應(yīng)用
3>數(shù)據(jù)庫運維技能
MySQL常用操作與基礎(chǔ)調(diào)優(yōu)策略
Xtrabackup工具的使用
MySQL Replication架構(gòu)
MySQL高可用架構(gòu)MHA
MySQL讀寫分離中間件proxysql
redis內(nèi)存數(shù)據(jù)庫以及主從架構(gòu)
4>性能調(diào)優(yōu)淡喜、故障排查技能
系統(tǒng)調(diào)優(yōu)評估方法
CPU、內(nèi)存诵闭、磁盤炼团、網(wǎng)絡(luò)性能評估工具與方法
線上Linux服務(wù)器基礎(chǔ)優(yōu)化技能
Linux軟件防火墻iptables以及rsync數(shù)據(jù)備份
5>自動化運維技能
ansible的使用
ansible使用Playbooks管理復(fù)雜任務(wù)
puppet自動化工具的使用
saltstack自動化工具的使用
6>運維監(jiān)控技能
zabbix運維監(jiān)控平臺
Ganglia分布式數(shù)據(jù)收集展示平臺
nagios自動化告警平臺
centreon一體化智能監(jiān)控平臺
7>集群架構(gòu)技能
Keepalived高可用集群
LVS負(fù)載均衡集群
HAProxy負(fù)載均衡集群
Keepalived整合lvs與HAProxy
8>虛擬化、大數(shù)據(jù)技能
KVM虛擬化與虛擬機管理工具
ELK+Filebeat+Kafka+ZooKeeper日志分析平臺架構(gòu)
hadoop生態(tài)圈以及分布式集群
hbase疏尿、hive瘟芝、pig等分布式計算工具
分布式計算MapReduce與yarn工
spark分布式計算框架
9>容器、容器編排
docker基礎(chǔ)與鏡像褥琐、容器锌俱、倉庫
Dockerfile 定制鏡像
Docker編排工具Compose使用
自動化容器操作平臺Kubernetes(k8s)
背鍋俠逆襲之路
成為:高薪運維?
要成為一名合格的敌呈,拿高薪的運維工程師贸宏,不但需要上面我們說的那些技術(shù)能力造寝,還需要更多的個人素質(zhì)能力,總結(jié)如下:
溝通能力吭练、團隊協(xié)作
主動性诫龙、執(zhí)行力、精力旺盛线脚、抗壓能力強
工作中膽大心細(xì)赐稽、不走尋常路
邏輯思維能力要強,為人謙和
這些看似可有可無的能力浑侥,卻是面試官最看重的點,它甚至比技術(shù)能力得分還高晰绎。當(dāng)然技術(shù)也是衡量運維人員的標(biāo)準(zhǔn)寓落,但是我認(rèn)為僅占30%。
選擇:運維or開發(fā)荞下?
很多人跟開發(fā)比伶选,覺得運維這個職位很low,干的都是一些打雜的活尖昏,還經(jīng)常背鍋仰税。你錯了!
隨著云計算抽诉、大數(shù)據(jù)等的迅猛發(fā)展陨簇,運維這個崗位會越來越緊缺。因為未來是綜合技能職業(yè)的天下迹淌,而運維就是一個要求綜合技能的崗位河绽。
我見過很多所謂牛逼的開發(fā)人員,做過各種大項目(超千萬唉窃,過億都有)耙饰,開發(fā)過各種高并發(fā)的系統(tǒng),可交流下來纹份,發(fā)現(xiàn)這些人確實有超越常人的地方苟跪,但僅僅是在開發(fā)的某些方面。
而論綜合技能蔓涧,真的不敢恭維件已,起碼的網(wǎng)絡(luò)知識,系統(tǒng)安裝等等都不會蠢笋。這在一個分工細(xì)化的大公司里面拨齐,優(yōu)勢才能體現(xiàn)出來,而如果在一個小公司里面昨寞,完全沒有優(yōu)勢可言了瞻惋。
未來:運維+開發(fā)
未來是綜合技能的天下厦滤。隨著運維這個職業(yè)的發(fā)展,企業(yè)對運維技能的需求也在發(fā)生變化歼狼,例如現(xiàn)在很多運維崗位掏导,都要求運維具備開發(fā)能力,這就是所謂的DevOps羽峰。
DevOps是 “開發(fā)”和“運維”的縮寫趟咆,但它不僅僅是運維開發(fā),它是一組過程梅屉、方法與系統(tǒng)的統(tǒng)稱值纱,用于促進開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運維和質(zhì)量保障(QA)部門之間的溝通坯汤、協(xié)作與整合虐唠。
從這個方向看,未來的運維是協(xié)作運維惰聂,公共開發(fā)的趨勢疆偿。所以,運維人員要應(yīng)對這個趨勢搓幌,還需要精通一門開發(fā)語言杆故,其實任何語言都行,那要推薦的話溉愁,當(dāng)然是目前最流行处铛,最有錢途的go、python叉钥、php等罢缸,不要求都掌握,挑選一個深入掌握它即可投队。