[其他]运维入门学习路线

一、运维是什么?

运维是一个广义概念,可以理解为运行和维护,这也和具体的学习以及工作息息相关,要想进行维护,首先要先把服务搭建起来,也就是先运行。这里我们所说的运维是指对服务器和数据库及集成环境的运维。

二、运维要学什么?

如果不喜欢大段文字,请直接看加粗字体:
操作系统:linux、windows
常用服务:RAID、vsftpd、samba、ssh
安全知识:iptables、firewalld、selinux、DDOS、CC
服务器:apache、nginx、tomcat、weblogic
数据库:MySQL、oracle、redis、mongodb、memcached
负载均衡:nignx、lvs、f5
高可用:keepalived
监控:zabbix、prometheus、openfalcon、grafana、睿象云告警平台
自动化运维:saltstack、ansible
虚拟化:docker、k8s
云计算:openstack
其他知识:计算机网络

那么对于想要学习运维方向的朋友,对于要学习的内容,以我个人的经验来看,主要是以下内容。
(1)操作系统:linux和windows,linux操作系统主要学习的发行版是centos,学习linux的常用指令以及配套服务,了解一下centos6和centos7的区别,ubuntu主要的特点是图形用户界面比较优秀,然而实际学习工作环境中,不推荐使用图形界面,因此要以对centos发行版的学习为主。服务器操作系统推荐linux,但是有些运维工作是在windows环境下,windows是优秀的桌面操作系统,但是安全性比较低,如果要学习windows操作系统,建议学习一下windows的安全策略。
(2)常用服务:首先,学习RAID磁盘阵列,RAID0、RAID1、RAID5、RAID10;第二,学习安全类的知识,学习防火墙iptables、firewalld、selinux,iptables和firewalld分别centos6和centos7默认的防火墙管理工具,selinux是一个安全类设置,确保每个应用只能做其能做的事情,了解DDOS和CC两种常见攻击及应对策略;学习一些关于文件传输和共享的服务,如vsftpd、samba等;学习一下远程登录相关的服务,因为大多时候我们不是在本机操作,需要远程登录进行操作,如ssh。
(3)服务器:这里的服务器主要说一些web服务器以及应用服务器,web服务器要学习apache、nginx,了解安全部署以及性能参数调优,apache安全配置都很简单,而且易于性能的扩展与裁剪,nginx服务器是性能强悍的轻量级服务器,可以实现反向代理、七层负载均衡、动静分离等;再说一下应用服务器,学习一下tomcat中间件,tomcat是很多学习java web方向朋友第一个接触的中间件,tomcat可以处理动态部分,免费开源,但是稳定性不是很好,apache可以保证一年不关机,nginx可以实现热重载(即可以在不停止服务的情况下进行重启),但是tomcat这方面就未必可以与之媲美了。weblogic是优秀的java中间件,适合部署大规模web项目,但是并不免费,想要学习可能相对麻烦。
(4)数据库:提到数据库管理系统不得不提关系型数据库,关系型数据库里比较亮眼的就是mysql和oracle,但是oracle不免费而且贵,这里主要学习mysql,毕竟mysql学会了,oracle上手会很快,mysql了解sql语句,熟悉按照部署与调优,工作中一般不需要DBA写sql语句,因此主要学习调优,对索引、行锁表锁、慢查询日志、读写分离、数据库高可用等都要有深刻学习。另外还是非关系型数据库,主要学习两个nosql,redis和mongodb,redis和mongodb存储数据的方式是键值对,因此查询起来自然比表更快,redis直接运行在内存上,redis也可以实现读写分离,运行在内存,如果工作中资金比较宽裕,可以考虑使用redis作为缓存,甚至全部用redis。总的来说,数据库调优的方法主要是数据库语句优化、数据库参数调优,但是再怎么调优,也突破不了自身物理机的限制,而负载均衡可以更好地利用物理设备进行扩展。
(5)负载均衡:学习四层负载均衡lvs和七层负载均衡nginx,四层负载均衡效率更高,但是安全相对弱,七层负载均衡效率相对低,但是安全性也相对高,上述两者都是软件层次的。硬件方面f5可以实现负载均衡,但是也相对贵,能用软件解决,就尽量不用硬件,因为相对软件,硬件的负载均衡提升也不是跨维度的提升。
(6)高可用:高可用主要为了防止单点故障,学习keepalived高可用工具,通过虚拟ip实现高可用。
(7)监控:现在主要用的监控工具zabbix、prometheus、openfalcon,zabbix监控指标多,性能强悍,但是设置监控告警项操作起来比较麻烦。prometheus一般配合grafana进行监控告警,通过在被监控主机安装不同组件实现对不同监控项的告警,prometheus基于时间,对于有些数据会丢失,因此不建议用此对不容差错的数据进行监控。openfalcon由小米开发,中文资料也比较多,但是openfalcon对tomcat、apache等基础组件监控插件。
(8)自动化运维工具:主要学习saltstack、ansible,saltstack需要安装客户端,但是批量安装速度相对快,而ansible无主从,不需要安全客户端,但是批量安装速度相对慢。
(9)虚拟化:虚拟化是一种广义概念,VM也是一种虚拟化,在宿主机上模拟操作系统,但是其cpu、硬盘等都会被模拟,比较浪费资源,所以我们需要学习docker虚拟化工具,docker通过隔离和层次结构共享硬件,仅模拟需要的部分,节约资源,学完docker学完可以学习k8s集群。
(10)云计算:云计算是基于虚拟化的按量计费的服务,比较我们使用某某云就是云计算,通过不同价格购买不同服务。这里我们学习openstack云计算工具。
总而言之,运维的学习是一个很长的过程,不仅要学习各种知识,还需要有深刻的运维思想,包括容灾备份、监控防患、安全策略、随机应变等。我现在还只是一个初步的学习阶段,由于时间和篇幅的原因就不一一跟大家分享我的学习收获了,如果本文有说得不对的地方,还请大家指正,希望和大家一起进步,谢谢。

  • 20
    点赞
  • 151
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值