運維也是分階段,分層次的!此文借鑑參考運維指導!
0. 熟悉常見硬體配置,了解常見硬體體系
1. 會搭建常見服務、理解服務工作原理
2. 精通系統工作原理(到這一步已經很少有人能做到了,能過濾掉 80%)
3. 熟悉多種發行版本,redhat 系(fedora , centos)、debian 系(ubuntu)、gentoo 系(lfs,arch)
4. 熟練的指令碼開發 ,perl,python,shell(三選二,或者都會)、自動化技術。
---- 第一梯度結束 ----
5. 集群化的管理思維方式 ,可以通過 puppet ,指令碼等等類似工具配合。
6. 效能的極端優化 ,這個工作必須基於 2 的基礎,實際上很少有人能夠做到
7. 多種資料庫的原理、優化 mysql,oracle,mongodb,redis,這裡面夠你消耗掉一半的青春
8. 高可用性以及負載均衡思維方式
--- 第二梯度結束 ---
9. 與開發人員一起,參與架構設計
2023年,我還是乙個運維新人,從開始拿著不到兩千的薪水到三年裡六次加薪,最後成為公司核心骨幹,公司也從乙個十幾人的團隊發展到如今兩百多人的規模成為業內翹首,在這十年裡,經歷了不少腥風血雨。
曾經有過幾天幾夜加班沒回家,也試過連續乙個月工作沒休息日,七八個小時裡搶修乙個故障是常事。公司的面孔換了一批又一批,直屬上司離職了,我還在;等我做上位了,部門下屬換了乙個又乙個,我還在……
又是一年跳槽季,剛進入的新人都會帶著困惑和迷茫問我,作為運維,有什麼訣竅嗎?甚至有新人連業務都沒熟悉,就向我申**薪。我想說,首先,在進做it運維行業前,你一定要做好心理準備,這並不是乙個輕鬆的工作,工作中的事情多而又雜,除了堅持,你需要懂得東西很多。下面分享一下我這十年來對運維的一點看法:
運維的職業現狀
國內人才緊缺,特別是網際網路公司。小公司的運維工作強度大,負責事情較多,基本上伺服器沾邊的工作都是運維的職責。大公司的運維分工細,人才要求較高。但國內大多數來自培訓機構的運維人才都處於乙個相對較低的層次,他們會寫指令碼,會做一些基礎工作,但基本上都是照葫蘆畫瓢,看文件,找參考,而沒有去挖掘底層或者更上層的東西。
運維的工作
· 需要隨時隨地待命,有故障需要立馬解決,伺服器宕機帶來的損失是非常巨大的,能在越短的時間修復越好;
· 專案上線、維護、更新基本上會選擇凌晨,要有心理準備;
· 運維工程師需要和開發工程師溝通協作,必要時指出合理的建議。
由此可見,運維需要有一顆強大的心臟和乙個強壯的身體,還需要有與人溝通協助的技巧。
運維的晉公升空間
總體上運維分四條線:應用運維,運維開發,系統運維和 dba。各線之間方向不同,但又密不可分。每條線都有自己深度,初級、中級、高階和資深的高階過程,架構師是深度加廣度。基礎的運維實際上相對簡單,做好的前提下才能考慮更長遠的發展。
運維要掌握的必備技能
作為乙個公司的基礎運維,想要得到晉公升,加深技術的深度是必要的。這幾年的技能公升級之路。
初級:linux 基礎與命令:這是剛需,比如作業系統基礎知識、熟悉 vi 編輯器等。不會這個就沒有然後了。
基礎服務:如 dns、postfix、nginx、ftp、ntp、mfs這一部分需要達到熟練,能夠理解原理最好。
硬體:畢竟做運維,經常需要和伺服器打交道,硬體知識是必不可少。
中級:運維平台工具:比如 nagios、zabbix、puppet、ansible 等。這一部分可以提高不少效率和便利。
資料庫:熟悉常見的資料庫,基本安裝配置,基礎sql的 ddl、dml操作。
指令碼語言:shell言語是必須的。
高階:linux 核心:這一部分用於修煉內功,要有一定的 c 語言功底。
網路:熟悉 tcp/ip 協議,熟練使用 tcpdump,對故障分析、系統優化幫助非常大。
安全:熟練掌握 iptables 配置,熟悉 selinux。安全對運維可以說至關重要。
資深:需要往技能廣度上去了,大資料、虛擬化、雲計算、分布式等得深挖。
運維的時間管理
運維由於事情雜而多,並且打交道的部門也多,工作很容易受到外界的影響。需要有良好的時間管理方式,才能高質高效的做好每一件事。番茄鐘、gtd、四象時間管理都是很好的方法,每天按這些方法處理事務,可以極大的提高效率。
但是作為基礎運維的時候,總有需要同時兼顧工作、生活和進修。從菜鳥開始,就要學會把自己從加班中抽離,學會使用必備的遠端工具來應急。比如向日葵遠端遠端軟體,在接到報警而身邊又沒帶電腦時,可以用手、pad移動來遠端桌面、cmd檢查程式,先初步處理故障。
最近看到了一篇新聞,linux之父建議找乙份基於linux和開源環境的工作,確實,這已經是未來的大趨勢了。今天就來聊一聊我的想法,本人8年linux運維一線經驗,呆過很多網際網路公司,從一線運維做到運維架構師一職,也見證了中國運維行業從無人問津到可圈可點的整個演變過程。linux系統目前主要應用在企業伺服器上,學習linux,更多的是向linux系統/運維工程師方向進軍。比如雲計算系統工程師,大資料運維工程師,運維開發工程師其職位都是linux運維工程師的高階。下面就整體介紹下,作為過來人,怎麼學習linux,以及linux入門和學習的路線。目前發現馬哥linux運維培訓課程非常不錯,我就以其為藍本,跟大家介紹下linux學習路運維學習需要分為四個階段,linux初級入門-àlinux中級高階-àlinux高階提公升,和資深方向細化。 //備註,馬哥的教程確實不錯,講的很透徹畢竟是清華計算機專業的
第一階段:初級入門
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
個人建議學習的路線如下:
初級入門:
1、linux基礎知識、基本命令(起源、組成、常用命令如cp、ls、file、mkdir等常見操作命令)
2、linux使用者及許可權基礎
3、linux系統程序管理高階
4、linux高效文字、檔案處理命令(vim、grep、sed、awk、find等命令
5、shell指令碼入門(可邊練習邊學習)
第二階段:中級高階
中級高階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1、tcp/ip網路基礎(差不多ccna、np的知識就夠用)
2、linux企業常用服務(如dns、http、ftp、mail、nfs等)
3、linux企業級安全原理和防範技巧(系統效能/安全、安全威脅模型和保護方法
4、 加密/解密原理及資料安全、系統服務訪問控制及服務安全基礎
5、iptables安全策略構建
6、shell指令碼高階(主要是結合一些應用,寫一些案例)
7、mysql應用原理及管理入門(能管理和搭建乙個個人部落格站點)
學到這裡,掌握的基本技能,已經夠用了,已經能做一些基礎的運維工作和簡單維護了。
第三階段:高階提公升
1、http服務**快取加速(其中主要學習varnish、nginx快取系統,要對cdn的知識有所了解。)
2、企業級負載集群(其中主要學習nginx、haproxy、lvs要對主要知識熟練掌握,對負載均衡演算法有清晰認識,)
3、企業級高可用集群 (其中需要對keepalived,heartbeat等進行深入講解)
4、運維監控zabbix詳解(主要是zabbix、cacti、nagios等監控系統,現在用的比較多的是zabbix)
5、運維自動化學習(需要學一些開源運維自動化工具的使用如ansible、puppet、cobbler等運維自動化工具)
能掌握到這裡,基本能處理搞定很多任務作了,可以去面試高階運維工程師,差不多薪資能達到12-18k左右
第四階段:資深方向高階
1、 大資料方向(需要對hadoop、storm等常見開源大資料系統需要深入了解)
2、 雲計算方向(主要是openstack這套東西,當然像一些kvm等虛擬化技術,也是需要掌握的,現在docker也比較流行)
3、 運維開發(主要是python運維開發)
4、 自動化運維(在之前自動化基礎上做深入)
5、 運維架構師(主要需要廣度,差不多5年左右以上經驗,可以擔當此職位)
運維技術指導 5 Shell指令碼練習
1 統計 var log下檔案的個數。find var log type f wc l2 如何將f1.txt檔案的執行結果輸出到f2.txt裡?f1 f2.txt bin sh cmd ping w 2 c 2 ping c 2,表示只傳送乙個icmp echo request 包,w 2 表示等待...
運維(1)什麼是運維
運維,這裡指網際網路運維,通常屬於技術部門,與研發 測試 系統管理同為網際網路產品技術支撐的4大部門,這個劃分在國內和國外以及大小公司間都會多少有一些不同。乙個網際網路產品的生成一般經歷的過程是 產品經理 需求分析 研發部門開發 測試部門測試 運維部門部署發布以及長期的執行維護。對於初創公司,運維部...
初級運維個人運維筆記
實時抓取並顯示當前系統中tcp 80埠的網路資料資訊,請寫出完整操作命令 tcpdump nn tcp port 80 如何重置mysql root密碼?一 在已知mysql資料庫的root使用者密碼的情況下,修改密碼的方法 1 在shell環境下,使用mysqladmin命令設定 mysqladm...