背鍋俠逆襲之路

小張,3年網工一枚,經常抱怨:薪資不高,雜事一堆,經常背鍋。php

眼看一把年紀了,發現不能再這樣下去了,向我討教一條逆襲之路!python

既然要說,那就和你們一塊兒分享下吧,順便總結下十幾年的Linux運維經驗。linux

聊聊:本身吧!

最先接觸Linux是在2000年,那時,我還在上大學。一個從荷蘭歸來的同窗,帶回一個Linux的拷貝版,版本仍是我的版Redhat6.2。ios

爲安裝這個系統,咱們挑燈夜戰,不亦樂乎。那時Linux的學習資料還不多,可以學習的書籍也很少,網上Linux技術社區更很少,便憑着Redhat6.2自帶的幾頁使用說明開始了Linux學習生涯。nginx

這算是我學Linux的起點吧。其實學Linux門檻很低,只要你想學,有熱情,有學習能力,幾個月時間就能輕鬆上手幹活。web

背鍋俠逆襲之路

Linux:快速入門?

那麼經過什麼學習方法,可以快速入門Linux呢?我這麼多年的工做和學習,總結出了下面一套方法,但願對你們有用。面試

1>多動手實踐,理論結合實際

這個過重要了,我見過太多的人,懶於動手,以爲能看懂,能聽懂,就不去實踐練習,結果以爲什麼都懂的人,在真正幹活的時候傻眼了。redis

不少Linux知識,例如每一個命令的參數含義,在書本上說得很清楚,看起來也很容易理解,可是組合起來使用,卻並不那麼容易,沒有屢次的動手練習,其中的技巧是沒法徹底掌握的。sql

2>必定要習慣命令行方式工做

Linux下90%的操做都是在命令行下完成的,於是,命令是必需要熟練掌握的,可能剛剛從windows下轉到Linux的新手會感到困難。docker

3>選擇一個適合本身的Linux發行版本

linux的發行版本太多了,目前大約有300多個linux的發行版本,可是,請不要爲此而感到沒有頭緒,根據本身學習Linux的方向,選擇適合本身的發行版本。

例如,若是喜歡Linux的企業級應用,想從事linux服務器管理方面工做的話,推薦學習CentOS版本或者Red Hat Enterprise Linux發行版本;而若是是開發、測試等等,推薦你選擇Ubuntu Linux;若是你已是Linux的初中級學者,想繼續深刻學習,推薦你選擇CentOS或者Debian Linux等。

4>學會作筆記、寫實錄

這個個人體會很深,學的再多,都是會忘記的,見過不少初學者,學過了,可是由於工做環境暫時用不到,因此很快又忘了,難道要無數遍的學嗎?

誰都會忘記,可是有個方法可讓你忘記後迅速找回已經學過的知識,那就是作筆記,寫學習實錄,筆記要作的很是詳細,甚至能夠像流水帳同樣都行,只要本身能看懂便可,特別是學習過程當中,本身遇到的坑,必定要寫的足夠詳細,這樣的話,在須要從新熟悉這部分知識的時候,能夠迅速喚醒以前的記憶。

若是有條件,也能夠把本身的學習過程經過視頻的方式錄製下來,這樣更有助於之後的備忘查詢,效果更好。

5>學會自我學習、獨立學習

學習一項技能的過程,核心是本身,不能依賴任何人,無論你是報了培訓班,仍是找了私教,他們只是你學習過程當中的引路人,他們的做用是幫助你把握學習方式,幫助你少走彎路,同時把他們多年的經驗分享給你,除此以外,其它都要靠你本身,因此,在這個過程當中,要養成獨立學習能力。

什麼叫獨立學習,那就是出現問題,先本身解決,能解決,那就是進步,不能解決了,再去問老師,那怎麼獨立解決呢,這須要依賴一些網絡工具,最典型的就是搜索引擎,出現問題了,最簡單的就是把出現的錯誤複製到搜索引擎,99%都能找到答案,這就是獨立學習能力。此外,還能夠經過使用Linux自身提供了強大的聯機幫助文檔,QQ、微信技術交流羣等多種形式,均可以去提問並解決問題。

獨立思考並解決問題,不但鍛鍊了本身獨立解決問題的能力,在技術上也能獲得快速提升。若是經過向人詢問獲得答案後,要思考爲什麼這麼作,而後作筆記記錄解決過程。最忌諱的方式是隻要遇到問題,就去問人,雖然這樣可能會很快解決問題,可是長久下去遇到問題就會依賴別人,技術上也不會進步。

運維:學什麼?

背鍋俠逆襲之路

作一名合格的運維人,要學的技術是不少的,具體有哪些,下面是我作的一個簡單總結:

1>基礎運維技能

Linux多種安裝方式
硬盤RAID技術與RAID選型
Linux初始化init系統
系統服務管理工具systemd和sysvinit
Linux下的shell編程入門
Linux下各類命令使用(常見80多個)
源碼、yum、rpm方式安裝軟件
Linux用戶權限管理
Linux磁盤與存儲管理(LVM、fdisk)
Linux內存與內存機制(swap、free)
Linux文件系統有文件系統選型(ext3/ext4/xfs/nfs)
Linux進程管理與監控crond

2>web運維技能

基於Apache的LAMP架構
基於nginx的LNMP架構
apache下https、反向代理、Prefork MPM、 Worker MPM
apache+jk+tomcat web架構
nginx的反向代理、負載均衡、https、PHP-FPM應用

3>數據庫運維技能

MySQL經常使用操做與基礎調優策略
Xtrabackup工具的使用
MySQL Replication架構
MySQL高可用架構MHA
MySQL讀寫分離中間件proxysql
redis內存數據庫以及主從架構

4>性能調優、故障排查技能

系統調優評估方法
CPU、內存、磁盤、網絡性能評估工具與方法
線上Linux服務器基礎優化技能
Linux軟件防火牆iptables以及rsync數據備份

5>自動化運維技能

ansible的使用
ansible使用Playbooks管理複雜任務
puppet自動化工具的使用
saltstack自動化工具的使用

6>運維監控技能

zabbix運維監控平臺
Ganglia分佈式數據收集展現平臺
nagios自動化告警平臺
centreon一體化智能監控平臺

7>集羣架構技能

Keepalived高可用集羣
LVS負載均衡集羣
HAProxy負載均衡集羣
Keepalived整合lvs與HAProxy

8>虛擬化、大數據技能

KVM虛擬化與虛擬機管理工具
ELK+Filebeat+Kafka+ZooKeeper日誌分析平臺架構
hadoop生態圈以及分佈式集羣
hbase、hive、pig等分佈式計算工具
分佈式計算MapReduce與yarn工
spark分佈式計算框架

9>容器、容器編排

docker基礎與鏡像、容器、倉庫
Dockerfile 定製鏡像
Docker編排工具Compose使用
自動化容器操做平臺Kubernetes(k8s)

背鍋俠逆襲之路

成爲:高薪運維?

要成爲一名合格的,拿高薪的運維工程師,不但須要上面咱們說的那些技術能力,還須要更多的我的素質能力,總結以下:

溝通能力、團隊協做
主動性、執行力、精力旺盛、抗壓能力強
工做中膽大心細、不走尋常路
邏輯思惟能力要強,爲人謙和

這些看似無關緊要的能力,倒是面試官最看重的點,它甚至比技術能力得分還高。固然技術也是衡量運維人員的標準,可是我認爲僅佔30%。

選擇:運維or開發?

不少人跟開發比,以爲運維這個職位很low,乾的都是一些打雜的活,還常常背鍋。你錯了!

隨着雲計算、大數據等的迅猛發展,運維這個崗位會愈來愈緊缺。由於將來是綜合技能職業的天下,而運維就是一個要求綜合技能的崗位。

我見過不少所謂牛逼的開發人員,作過各類大項目(超千萬,過億都有),開發過各類高併發的系統,可交流下來,發現這些人確實有超越常人的地方,但僅僅是在開發的某些方面。

而論綜合技能,真的不敢恭維,起碼的網絡知識,系統安裝等等都不會。這在一個分工細化的大公司裏面,優點才能體現出來,而若是在一個小公司裏面,徹底沒有優點可言了。

將來:運維+開發

將來是綜合技能的天下。隨着運維這個職業的發展,企業對運維技能的需求也在發生變化,例如如今不少運維崗位,都要求運維具有開發能力,這就是所謂的DevOps。

DevOps是 「開發」和「運維」的縮寫,但它不只僅是運維開發,它是一組過程、方法與系統的統稱,用於促進開發(應用程序/軟件工程)、技術運維和質量保障(QA)部門之間的溝通、協做與整合。

從這個方向看,將來的運維是協做運維,公共開發的趨勢。因此,運維人員要應對這個趨勢,還須要精通一門開發語言,其實任何語言都行,那要推薦的話,固然是目前最流行,最有錢途的go、python、php等,不要求都掌握,挑選一個深刻掌握它便可。

背鍋俠逆襲之路

好了,運維相關的話題就說這麼多,你是否也有小張相似的困惑,不要糾結了,借用《解憂雜貨店》裏面的一句話:

「其實全部糾結作選擇的人內心早就有了答案,諮詢只是想獲得心裏所傾向的選擇。最終的所謂命運,仍是本身一步步走出來的。」

是的,把握住方向,剩下的就靠本身一步步去努力,去堅持了!

若是你已經有了決定,那就立刻行動起來吧,8位資深運維專家,還原一線生產環境中的運維難點,打造組合專欄《自動化運維必備實戰祕籍》。

必定適合你快速入門!
自動化運維必備實戰

相關文章
相關標籤/搜索