想系統的學習運維有什麼需要注意的?
如題,答主是一名大一新生計算機專業對運維比較感興趣,所以來知乎問一問各位知乎er。謝謝辣~
先問是什麼,再問怎麼做,運維新人建議先看看《鳳凰項目》,輕鬆的非技術類書籍,但是包含挺多運維日常,哲學和智慧的,做過運維的看過這個書都多少有一些共鳴。相信會讓你對運維這個職業理解加深一些,然後再思考怎麼學習運維。關於大多數運維的一般工作日常我在這個問題里回答過,可以看下,知道了運維是做什麼的以後,再看運維需要學習哪些東西,有的放矢,最重要的是落地所學的東西,做工程的一切都要以實現和落地為準,否則學習的知識都只能是紙上談兵,不會變強大。
運維工作日常有什麼??www.zhihu.com我給你列一個比較全的互聯網運維工程師的能力框架,這裡的運維不包含idc運維,企業it運維這些,
1.硬體基礎:了解原理,cpu,內存,磁碟,網卡等的相關知識,如cpu緩存,指令集,架構,流水線,保護模式,磁碟尋道原理,各級別raid,ssd,sas,sata等的常用性能指標,如iops,帶寬,吞吐量等等
2.操作系統:需要熟悉,最好精通。進程調度,內存管理,文件系統,外設管理等,要熟練使用相關工具,如top iotop iftop iostat vmstat ss等,並且最好了解其原理,建議對/proc下的內容也進行深入了解,對做主機級監控十分有幫助
3.網路:需要熟悉,最好精通,tcp,http,https,udp等最好能做到精通,4層,7層的網路流量分析技能要熟練掌握。內部路由協議,邊際路由,交換原理,域名解析,ipv6相關知識
4.安全和加密:熟悉防火牆原理,主機級安全理論,以及常用加密演算法,web安全,網路安全。了解滲透的常用手段,以及反制手段,sql注入,xss,ddos,cc,還有常見漏洞的利用原理,沙箱,容器的逃逸等,了解常見的網路安全方案,waf 高防等
5.虛擬化和容器技術:熟悉常見的虛擬化技術如kvm,常見的容器技術如docker,以及相關的k8s,了解網格計算的概念,了解isto以及在各公司的落地方式。
6.itil理論:知道如何制定合理的流程保障業務的穩定和安全性
7.常見的開源組件:mysql,redis,kafka,etcd,zk,influxdb,promethues,zabbix,graphana,ansible.....
8.部署,發布,監控,變更,sla保障的實踐案例,熟悉常見的接入服務,邏輯服務,中間件,資料庫高可用方案,過載保護,降級方案,分散式事務一致性方案等
9.運維開發,shell,python,golang,前端
10.devops,編譯,加速,測試環境,研發流程自動化
11.項目管理理論,成本控制
12.aiops,利用現網數據訓練機器學習模型,輔助容量管理,監控排障
13.待補充...
午休時間到了,等我閑了再來補充
Linux基礎
包括對Linux整體的理解/使用和基本命令:
- 了解Linux FHS : Filesystem Hierarchy Standard,國人寫的這本書不錯 Linux系統架構與目錄解析 (豆瓣)
- 入門Linux:鳥哥的Linux私房菜.基礎學習篇(第三版) (豆瓣) 個人認為鳥哥的這本書是一本非常好的入門書
- 基本操作命令:Google,如Linux command cheat sheet
- 熟悉至少一個內置編輯器: vi, nano
- 至少熟悉一個發行版(或系列),建議作為伺服器常用的如Centos, Debian, Ubuntu,可以了解多個常用發行版
- 個人使用/開發盡量在Linux上,比如我前期選擇了 Gentoo Welcome – Gentoo Linux ,非常Cool的一個Linux發行版,配合官方的 Handbook Handbook:Main Page,可以學到很多東西
運維的命令:
運維相關的工具(命令),了解它能解決很多問題。
裡面的圖在這裡也可以用到: