1. 程式人生 > >Linux系統運維工程該具備哪些素質

Linux系統運維工程該具備哪些素質

應用層 電腦 apach 建網站 沒有 比較 發展 linux技術 刪除

記得在上高中時,物理老師總是會對我們一句話;“學習是件苦差事。”工作後發現,其實做運維也是件苦差事。最為一名運維工程師,深知這一行的艱辛,但和IT行業其他職務一樣,那就是付出的越多,回報的也就越多。回想起成為運維的學習路程,我總想著能給運維新手和以後想從事運維行業的朋友總結一些經驗和我看過的書籍,後面會介紹到,他們不要再踩我踩過的坑。

第一點,學好Linux。運維行業的門檻很低,我說的低其實是學歷的要求低,因為據我所知還沒有大學開設了運維專業。開始找工作時我了解到,一般公司的運維崗位不會限制你是否是211、985畢業,或者是否大學畢業,只要你的Linux運維技術紮實,為人踏實,就會給你面試的機會。所以想從事運維行業,首要工作就是學好Linux技術,而且主要學企業最常用的紅帽RHEL7的系統。學習前一定要找好方向,比如現在仍然耗費大量精力去學習Windows Sever而不學習Linux,那就會吃大虧。所以確定目標非常重要,不然可能收獲不到應得的結果。為什麽這麽說呢?拿企業裏最常用的網站架構舉例,LNMP(Linux+Nginx+MySQL+php)架構是企業最常用的網站架構。現在基本上沒有企業使用IIS搭建網站了。其中的原因可能有兩點,第一是Linux操作系統是免費的,如果搭建高訪問量高並發的網站,勢必要增加服務器的數量,使用開源的操作系統,無疑會省下一大筆投入資金。第二點是IIS在早年出現過一次嚴重的漏洞,並且修復不及時,基於Unix類系統的Apache迎頭趕上,雖然IIS在後續的版本中修復了漏洞,但失去的江山再難收回。可能有人會問,為什麽現在Nginx的熱度比Apache更高?因為Nginx是一款輕量級的網站服務軟件,其優點是穩定性和功能豐富,並且具有低系統資源、占用內存少且並發能力強的特點,目前國內如新浪、網易、騰訊等門戶站均使用Nginx程序作為Web服務軟件。但由於大部分Linux系統發布商仍然將Apache作為默認Web服務器封裝在自己的發布版系統中,所以學習時兩者都要認真學習。

除了需要確定學習的方向,還應該了解運維的工作性質。眾所周知,運維人員是IT行業的背鍋俠,每天負責服務器的上架、充當網管角色、版本變更管理、應用的日常維護/機房的巡檢等等工作,有不少還要熬夜實施。按照ITIL的管理流程,出了一定程度的問題,還少不了和開發同學一起背鍋。在電商行業,公司搞營銷活動時是運維人員壓力最大的時候。不但要提前準備帶寬,在公有雲上搞一批雲主機,還要提前和開發人員一起優化訪問體驗。活動頁面一旦上線,運維人員不但要時刻盯著CPU、內存、帶寬等指標,同時還要關註應用連接數、應用訪問失敗率、網頁打開時間等應用層面的指標。可能還會有一些薅羊毛的用戶刷單,搶占資源等問題,弄不好就要背鍋了。

如何避免成為背鍋俠呢,我總結了幾點。第一,做好系統和重要文件的備份工作。大家都會有在自己電腦上使用shift+delete操作誤刪除文件的經歷吧。在Linux系統中也有類似的操作命令,那就是rm -rf 。在公司的生產環境中是一定要慎重使用此操作。在使用刪除命令前,請事先做好備份,或者用alias命令把rm命令設計為一個回收站。作為運維人員,常用的備份命令和方式一定要熟練。做了備份不算完,還需要確定備份手段是否可用。要定期做容災演練、恢復測試等應急演練,等真正災難來臨時才能保障公司財產安全。但聽說全國90%的系統沒做到這一點,所以才會聽到異常恢復的案例,這其實是管理的問題而不是技術的問題。在這方面一定要謹慎。

前段時間的GitLab的事故,就是咱們的警鐘。還有,在學習的過程中要註意文件的權限問題。權限問題是安全問題的一部分。我選擇學習的書籍是《Linux》就該這麽學,文章精煉,沒有廢話,不會看著看著就沒有耐心,我在《Linux就該這麽學》這本書裏學習權限一章時,著實費了很多精力。內容包括文件權限與特殊權限、文件隱藏屬性、文件訪問控制列表等。在學等時候沒有感受到它的重要性,在工作中卻慢慢的意識到它的重要。安全問題都是大問題,要想避免背鍋,就要註意細節。從權限上把好關,以後能省很多事。

第三點,了解行業前沿技術。如果搞技術,必須要有終身學習的覺悟,就像我之前舉的例子一樣,技術的發展是很快的,如果只會用IIS建站,那今天就會丟掉工作。現在運維行業的技術熱潮是自動化運維與雲計算。自動化運維在運維行業的推行已經很久了,已經成為行業的必備的技能。學好自動化運維不但能避免自己被時代淘汰,也能降低自己的重復性工作,好處多多。

雖然做運維很辛苦,但付出的多才能收獲更多的回報。如果你是一個踏實肯幹並且比較細心的人,做運維一定會讓你獲得物質和精神上的滿足,實現自己的價值。

Linux系統運維工程該具備哪些素質