運維工程師技能

Linux

文化

有一些文章并不涉及具體的技術(shù)細節(jié), 但是對于新人快速進入Linux/Unix世界很有幫助:

  1. 提問的智慧
  2. <<大教堂與市集>>
  3. <<操作系統(tǒng)革命>>, 這是一部記錄片, 講述了GNU, Linux, Richard stallman相關(guān)的很多故事.

shell

運維工程師的工作大部分時間是在和shell打交道, 所以掌握好shell相關(guān)的知識是非常重要的.
shell基礎(chǔ)二十篇
shell 腳本學習指南
sed&awk
Awk簡明教程 from coolshell
Sed簡明教程 from coolshell
無插件Vim編程技巧 from coolshell

盡量不要寫超過1屏的 shell 腳本. 如果超過1屏, 說明邏輯已經(jīng)非常復(fù)雜了, 又或者你的shell太過冗余, 需要優(yōu)化. shell超過一定規(guī)模后非常難以維護, 極易出錯, 所以這個時候就應(yīng)該考慮使用 python/perl 等真正可以稱得上語言的東西.

kernel

Linux內(nèi)核設(shè)計與實現(xiàn)
Linux/Unix設(shè)計思想
上面兩本書相對來講比較容易, 適合非科班背景的同學閱讀.

Ops

在掌握了基本的 shell 知識后, 其實已經(jīng)可以完成基本的運維工作, 但是還遠遠不夠. 一個典型的運維工程師至少需要管理上百臺設(shè)備, 包括服務(wù)器, 網(wǎng)絡(luò)設(shè)備等. 規(guī)模和差異化永遠是運維工程師最大的敵人.

比如, 面對一臺服務(wù)器你可以很輕松的完成安裝系統(tǒng)或者修改某個配置文件的工作. 但是相同的任務(wù), 如果需要在100臺, 或者1000臺服務(wù)器上完成, 那就....不那么簡單了, 尤其是面對不同的服務(wù)器, 多種不同的操作系統(tǒng)版本的情況下, 就.....基本沒法干了. 當然, 你可以一臺一臺的人肉去搞, 但是我相信, 你還沒做完就被公司fire掉了. 所以, 我們還需要借助一些更為給力的工具, 完成一些復(fù)雜的任務(wù).

系統(tǒng)安裝

想想你可能一天要給上百臺設(shè)備安裝操作系統(tǒng)的場景.

每個Linux的發(fā)行版都有自己的自動應(yīng)答機制, redhat系列的是Kickstart, debian系的是FAI. 可以實現(xiàn)無人值守安裝(安裝過程不需要鼠標點擊或者鍵盤輸入), 這是批量化安裝系統(tǒng)的前提. 自動應(yīng)答機制只能解決單機的自動安裝, 批量化得操作還需要用到另外幾個東西.

  • PXE, 可以讓服務(wù)器通過網(wǎng)卡加載系統(tǒng)安裝程序.
  • ipmitool, 服務(wù)器遠程管理卡(ilo)的命令行管理程序, 可以遠程關(guān)機/開機, 指定boot order.

安裝系統(tǒng)相關(guān)的工具/系統(tǒng)非常多, 比如: Cobbler, 這是一個建立在PXE基礎(chǔ)之上的, 對系統(tǒng)安裝過程提供了更高級抽象的系統(tǒng).

監(jiān)控

運維工程師的另一項重要工作就是監(jiān)控系統(tǒng)的運行狀態(tài), 這里的"系統(tǒng)"指的不是"操作系統(tǒng)", 而是你管理的整個服務(wù)器集群, 里面可能有DB, 有Web Server, 有Cache等等. 需要監(jiān)控的指標也不僅僅是cpu, 內(nèi)存, 硬盤這些常規(guī)指標, 還會包括一些應(yīng)用上的指標, 比如: 并發(fā)數(shù)量, QPS. 甚至還會有一些業(yè)務(wù)指標需要監(jiān)控.

要建立完善的監(jiān)控系統(tǒng), 單靠監(jiān)控軟件本身是不夠的, 還需要被監(jiān)控的軟件/系統(tǒng)配合才行. 被監(jiān)控方需要將需要監(jiān)控的數(shù)據(jù)暴露出來, 方便監(jiān)控系統(tǒng)獲取才行. 比如, 你想監(jiān)控操作系統(tǒng)相關(guān)的指標, 那你可能要學一些shell知識----知道如何獲取自己想要的數(shù)據(jù).

以下是幾個常見的監(jiān)控系統(tǒng)軟件:

  • nagios
  • ganglia
  • zabbix

配置管理

想想你可能一天要更新成百上千臺設(shè)備的配置.

cfengine是最早的, 得到大規(guī)模使用的配置管理工具. 類似的工具還有: puppet, saltstack, ansible...

這些工具的功能不盡相同, 但是一些基本的功能是差不多的:

  • 管理服務(wù)器進程
  • 管理配置文件
  • 管理軟件包
  • 管理進程, 配置文件, 軟件包之間的依賴
  • 遠程批量命令執(zhí)行

比如你有一批機器需要安裝Apache, 然后更新Apache的配置, 然后重啟Apache使配置生效. 類似的任務(wù), 你可能每天都會遇到, 而且不止一次. 而這正是配置管理工具應(yīng)用的典型場景. 理想的情況下, 工程師只需要編寫一些簡單的規(guī)則, 并且指定應(yīng)用這些規(guī)則的服務(wù)器, 然后配置管理系統(tǒng)會幫你完成軟件安裝, 配置下發(fā), 服務(wù)重啟等一些列的工作. 工程師不在需要關(guān)心自己面對的是10臺服務(wù)器, 還是100臺服務(wù)器.

配置管理工具, 幫助工程師實現(xiàn)了對硬件, 對軟件環(huán)境的抽象, 實現(xiàn)了基礎(chǔ)設(shè)施可編程, 這很重要. 基礎(chǔ)設(shè)施可編程的概念之所以重要, 是因為這一概念是所有云服務(wù)的基石.

Dev

對于運維工程師而言, 除了 shell 還必須掌握一門真正語言, 個人建議以 python 入門, 原因有幾個:

  1. "自帶電池", 通常你只需要python 的標準庫就能完成大部分的工作.
  2. python的哲學是"一個問題只需要一種解決辦法". 如果你遇到過一些你不敢碰的, 充滿Magic的perl腳本, 你就會了解這一點有多重要了.

當然工作中具體用什么語言應(yīng)當視公司環(huán)境而定, 有可能是 python, 也有可能是perl/ruby/ 甚至是lua.

但是我要強調(diào)的是, 語言是相通的, 只要你掌握了一門語言, 學新語言將會很快, 所以剛開始學習編程時, 不要過多糾結(jié)于選什么語言好. Just do it!

python

對于 python 而言最好的教程我認為是官方文檔,
但因為是英文的, 所以看起來可能會比較吃力.

python 相關(guān)的書籍還是比較豐富的. 這里隨便推薦幾本.
Python語言入門
Python基礎(chǔ)教程
Python核心編程

做一個"懶惰"的工程師

這里的懶惰是加引號的, 不是讓工程師真的變得懶惰, 而是需要工程師通過工具, 通過代碼將工作變得自動化, 從而解放自己.

可以說, "懶惰"應(yīng)該是工程師畢生的追求. 這里推薦兩篇文章:
“懶惰”Linux:“懶惰”集群管理員的 11 個秘訣
“懶惰” Linux 管理員的 10 個關(guān)鍵技巧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晰骑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逗抑,老刑警劉巖耀里,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓤檐,死亡現(xiàn)場離奇詭異蹂安,居然都是意外死亡凳干,警方通過查閱死者的電腦和手機辫红,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門凭涂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人贴妻,你說我怎么就攤上這事切油。” “怎么了名惩?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵澎胡,是天一觀的道長。 經(jīng)常有香客問我,道長攻谁,這世上最難降的妖魔是什么稚伍? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮戚宦,結(jié)果婚禮上个曙,老公的妹妹穿的比我還像新娘。我一直安慰自己受楼,他們只是感情好垦搬,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著艳汽,像睡著了一般猴贰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上骚灸,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天糟趾,我揣著相機與錄音,去河邊找鬼甚牲。 笑死义郑,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的丈钙。 我是一名探鬼主播非驮,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼雏赦!你這毒婦竟也來了劫笙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤星岗,失蹤者是張志新(化名)和其女友劉穎填大,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俏橘,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡允华,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了寥掐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靴寂。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖召耘,靈堂內(nèi)的尸體忽然破棺而出百炬,到底是詐尸還是另有隱情,我是刑警寧澤污它,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布剖踊,位于F島的核電站庶弃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏德澈。R本人自食惡果不足惜虫埂,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望圃验。 院中可真熱鬧,春花似錦缝呕、人聲如沸澳窑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摊聋。三九已至,卻和暖如春栈暇,著一層夾襖步出監(jiān)牢的瞬間麻裁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工源祈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留煎源,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓香缺,卻偏偏與公主長得像手销,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子图张,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,777評論 25 707
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言适袜,發(fā)作 oo-boon-too 的音柄错。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,203評論 9 467
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,452評論 6 428
  • 今天是我第一次給兒子去開家長會.也是第一次重新拾起放下多年的日記.以前看著家長們都寫日記,自己也動過心想寫.可是一...
    跟孩子一起成長閱讀 116評論 0 1
  • 我就在這兒,什么地方都不去躏啰。我喜歡你趁矾,像生活在以你命名的朝代里。像你遺失的子民给僵,每夜修補一個盛世毫捣。人們山南水北详拙,人...
    我我我我_閱讀 244評論 0 0