編者按:本次採訪對象:高俊峯(暱稱:南非螞蟻),是一位資深系統管理員、系統架構師、DBA和技術顧問,對Linux和開源運維有些認識,曾出版Linux入門書籍《按部就班Linux》和運維實戰書籍《高性能Linux服務器構建實戰》。今天有幸請到高總,和你們分享運維技術相關知識。php
CU社區:python
高總您好!從事Linux運維已經多年,您以爲一名合格的運維工程師是如何練成的?mysql
南非螞蟻:linux
一名合格的運維工程師,要具有兩個方面的能力,分別是:ios
我的素質方面:nginx
1:溝通能力、團隊協做c++
2:主動性、執行力、精力旺盛、抗壓能力強程序員
3:工做中膽大心細、不走尋常路web
4:邏輯思惟能力要強,爲人謙和sql
5:有探索創新精神
技術方面:
一、開發能力,這個很重要,由於運維工具都須要自已開發,開發語言:c/c++(必備其中之一)、perl、python、php等、shell(awk,sed,expect….等),須要有過實際開發經驗,不然工做會很是痛苦。
二、應用方面須要瞭解:操做系統(主要是linux、bsd)、webserver相關(nginx,apahe,php,lighttpd)、數據庫(mysql,oralce),還有相似系統優化,集羣方面的東西。
三、網絡、安全,存儲等須要至關了解。
在這裏我把我的素質方面放到了第一位,是有必定含義的,由於從長遠的職業發展來講,我的素質方面決定了一我的的職業路線和發展前景。技術方面雖然也是重點,可是就目前國內環境來說,技術當道還須要走很遠的路。
CU社區:
如今運維安全愈來愈緊迫,高老是如何帶領團隊作好運維監控和安全防範措施的?
南非螞蟻:
運維安全是個龐大的話題,涉及到網絡設備、安全設備、機房環境、主機系統、數據庫系統、應用系統等,對於這些軟、硬件的監控是保證運維安全的重要工做,在運維監控方面,咱們有一套安全管理流程和規章制度,在運維監控部署上,咱們以nagios和cacti爲基礎二次開發了一套功能完備的監控軟件,支持集中式和分佈式相結合的部署方式,在數據採集方面,能夠支持分佈式主動輪詢或被動接受的方式採集數據,咱們的數據採集可以支持秒級單位的採樣週期,最後經過web界面展現物理拓撲結構,並經過物理拓撲結構提供全網的狀態信息,最後經過顏色變化表示出來,在軟件或者硬件出現故障時,能夠迅速發現網絡故障點的位置,從而保證運維安全。在故障或者風險出現時,咱們有多樣化的響應與執行方式,經常使用的有聲音、短信、E-mail等多種方式進行告警提示,同時結合監控系統強大的事件分析能力,迅速定位問題進而解決問題。
總而言之,對於企業安全運維管理來講,三分技術,七分管理。創建一套完善的安全管理規章制度是頗有必要的。
CU社區:
在從事運維工做中,有沒有遇到過工做中的瓶頸?是否走過彎路?給你們分享一下吧。
南非螞蟻:
彎路是確定走過的,在我剛接手運維團隊的時候,不管是運維管理制度仍是監控軟件等都處於不健全或者癱瘓的狀態,衆多的開源軟件沒法實現因地制宜,有些應用構架根本不適合咱們的環境,可是仍然再用,進而致使應用系統性能低下,同時在應用出現故障時,監控軟件沒有統一接口,數據收集不許確,不完善,報警手段不及時,致使故障很難及時發現,故障點很難精肯定位,爲此不知道鑽了多少次機房,在機房熬過了一個又一個不眠之夜。
通過多年的運維,我認爲,要帶好一個運維團隊,必需要作好下面幾個方面工做。
1:定製一套適合本身環境的運維管理流程和制度,例如按期巡查制度,故障搶救制度,責任到人制度等。
2:有一個屬於本身的運維監控軟件,監控軟件不少,適合本身的纔是最好的,不要盲目追求功能,若是沒法知足本身的需求,最好進行二次開發。
3:創建一個完備的監控軟件報警體系,軟、硬件出現故障要在第一時間發現,進而迅速解決問題,否則只能鑽機房熬夜了。
CU社區:
對於自動化運維這一塊,不知高總有什麼高見?可否和你們分享一下?
南非螞蟻:
充分利用現有的開源技術,結合本身的實際應用環境,進行監控軟件的二次開發和整合,是咱們運維團隊的堅持的一個準則,在自動化運維方面,咱們常用的工具備自動安裝工具Kickstart、Cobbler等,配置管理類的有Puppet,目前正在將這些工具整合進咱們開發的監控系統中,最終實現自動安裝、自動配置、自動報警的聯動系統。
對於應用系統的集羣構架,咱們基本都是利用開源軟件進行整合實現的,咱們使用比較多的構架有keepalived+lvs、HAproxy+keepalived、Nginx+Keepalived等方案或者組合方案。其實這些方案的組合已經可以知足咱們大部分的集羣應用需求。因此作二次開發的不多。
CU社區:
在招聘linux運維工程師的時候,您最看重的是什麼?如何留住優秀的人才?
南非螞蟻:
對於運維人員,我更注重的不是技術自己,而是溝通能力,作事方式,固然技術也是衡量運維人員的標準,可是我認爲僅佔30%。如今作任何事情,溝通能力都顯得很是重要,在一個運維團隊中,及時、準確的溝通,不但能夠節省不少時間和成本,並且也是留着人才的關鍵。
根據運維人員的不一樣性格,讓他們在擅長的領域發揮本身的優點,這是個人一個原則,有些運維人員性格外向,喜歡溝通交流,那麼就讓他作相關的協調和管理工做,而有些運維人員更喜歡細心的鑽研技術,那麼咱們就給他提供學習空間,提供實踐環境,讓他成爲這個領域的專家。
CU社區:
上次我們的數據庫大會咱們有個議題是35歲後的技術人生,都說技術人35歲是個坎,那麼對於您,對於IT運維這個職業,您對35歲以後的技術人生有什麼想法?
南非螞蟻:
對於技術人員來講,實時的轉型是頗有必要的,可是不能一律而論,是否轉型,轉型的方向要結合本身的實際狀況而定。
5年前你是個高級程序員,若是你醉心技術,而現實生活沒有太大壓力的話,那麼如今你能夠繼續深造作個技術總監;若是你厭倦了程序員生活,而且本身的溝通和協調能力還能夠,那麼你也能夠嘗試轉型技術管理;若是你有很強的溝通能力,那麼轉型銷售領域也何嘗不可。
我認爲35歲不是技術的坎,而是一個心裏的坎,結合本身實際,結合公司的應用環境,實時而變,才能在技術的領域遊刃有餘。