淺談Linux系統運維工程師必備技能一、什么是運維工程師 相信讀者們必定聽說過linux,也聽說過運維工程師。那么運維工程師是個什么概念呢?百度百科上的官方解釋如下:運維工程師(Operations)在國內又稱為運維開發工程師(Devops),在國外稱為 SRE(SiteReliability Engineering)。負責維護并確保整個服務的高可用性,同時不斷優化系統架構、提升部署效率、優化資源利用率提高整體的ROI。 運維工程師面對的最大挑戰是大規模集群的管理問題,如何管理好幾十萬臺服務器上的服務,同時保障服務的高可用性,是運維工程師面臨的最大挑戰。在一些規模較大的公司(比如:Google、FaceBook、百度、阿里、騰訊等),運維工程師和系統管理員是有一定的區別: 系統管理員:主要負責機房網絡、服務器等硬件基礎設施的運行和維護。 運維工程師:主要負責管理并維護在運行在海量服務器上的軟件服務。 二、運維崗位的分類 IT技術一直在呈指數級別的發展,運維工程師面臨的挑戰越來越大,劃分的崗位也越來越細。根據面向的不同,崗位的劃分有:基礎運維、應用運維、系統運維、虛擬化運維、存儲運維、網絡運維等。根據職業發展的層次而言,崗位的劃分有:桌面運維、系統運維、開發型運維、系統架構師。 三、運維工程師必須掌握的硬技能 1. Linux基礎(重中之重!) 無論你找的是什么運維,不會linux你就喪失了至少一半的競爭幾率。Why?因為服務器端的系統幾乎都是Linux啊!可想而知,懂linux是件多么必要的事情。 言歸正傳,linux基礎包括了些什么內容?筆者認為有如下幾方面。 - Linux命令大全 http://www.linuxprobe.com/ - Linux文件系統標準(FilesystemHierarchy Standard)。 - 至少熟悉一個內置編輯器:vi、nano、vim。 - 至少熟悉一個linux發行版:Redhat、Ubuntu、Suse等。 - 至少熟悉一個遠程登錄linux工具:putty、xshell等 - Linux服務,服務器配置安裝:ftp、http、nfs、dns、samba、DHCP、mail等 - 至少熟悉一種腳本語言:shellscript、perl、python等 - 防火墻:iptables、ipset、firewalld等 Linux入門曲線非常陡峭,萬事開頭難,一本好書能讓你事半功倍。關于linux的書籍有很多,但優秀的入門書籍筆者首推《Linux就該這么學》,目前在國內非常火熱,每天閱讀量非常大,這本書作為后起之秀也是本難得的良心之作。對于新手而言,筆者更推薦這本作為入門教材。Why?有以下幾個原因: 1) 以全新的RHEL7作為發行版進行教學,能學習到最新的linux知識與技術。學完可直接考RHCSA、RHCE認證,方便找工作。 2) 所需軟件皆可在其官網中下載到,包括vmware序列號、RHEL7鏡像等 3) 章節層次清楚,重點清晰。不浪費你任何一點時間去閱讀廢話。 4) 擁有QQ群可以探討學習過程中碰到的問題。 學好linux基礎,你就能干基礎運維啦!真棒!但人往高處走,再想更進一步提升怎么辦?畢竟,在真實的生產環境中,運維人員會碰到形形色色的問題,如何解決它們Only基礎是遠遠不夠的,你還需要了解: - HA集群以及負載均衡(lvs)集群的配置 - 知道如何分析系統性能(IO/Memory/CPU):sar、vmstat、iostat、top等 - 理解XWindow大致原理 - 熟悉PXE+Kickstart無人值守的批量安裝服務器 - 虛擬化:XEN、KVM - 公/私有云 - 網絡知識 - …… 四、運維工程師必要的軟技能 如果說一個成功男人的背后有一個默默支持他的優秀女人,那么每個成功的產品背后都有一群默默支撐著它的優秀運維工程師!運維工程師這個行業并不是所有人都適合做的,你最好能需要有如下品質: - 安全意識:作為運維工程師的你必須要有安全意識,保障你系統的安全性、穩定性,堤防系統被入侵,保障賬號密碼/私鑰的安全極其重要。 - 責任心:不多說,任何職位都需要。 - 細心:運維工程師通常權限很大,你的任何一個操作或不經意的失誤可能導致重大災難。比如錯敲命令、誤刪數據庫等。因此,細心極為重要。 - 抗壓能力:重大災難發生時,你會面臨這樣的情況:客戶催你解決、應用催你解決、老板緊盯你…,這時,你需要有一顆冷靜的頭腦,分析出最快解決問題的方案并加以實施。如若壓力一來,你方寸大亂,然問題遲遲不能解矣。 至此,愿筆者的淺薄見解與建議能給你帶來一點靈感或收獲,愿你我都能成為優秀的運維工程師! |