想系统的学习运维有什么需要注意的?
如题,答主是一名大一新生计算机专业对运维比较感兴趣,所以来知乎问一问各位知乎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,可以学到很多东西
运维的命令:
运维相关的工具(命令),了解它能解决很多问题。
里面的图在这里也可以用到: