一.什么是Linux运维

运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务上的上线与运作的正常。在运转的过程中,对他进行维护,集合了网络、系统、数据库、开发、安全、监控于一身的技术,运维又包括DBA运维,网站运维,虚拟化运维,监控运维,游戏运维等等。

1.1运维的分类

(1).开发运维:是给应用运维开发运维工具和运维平台的

(2).应用运维:  是给业务上线,维护和做故障排除的,用开发运维开发出来的工具给业务上线,维护,做故障排查的

(3).系统运维: 是给应用运维提供业务上的基础设施,比如:系统,网络,监控,硬件等等

1.2基础运维的常见工作

1.服务监控技术 2.服务故障管理 3.服务性能优化 4.服务安全保障 5.服务自动发布部署 6.服务集群管理 7.服务成本优化

8.数据库管理 9.平台初始化

二.Linux运维工作发展过程

1.1运维的发展

1).手工管理阶段,2).工具批量操作阶段,3).平台管理阶段,4).系统自调度阶段

1.2.linux运维工作分类

1).应用运维 2).系统运维 3).运维开发 4).数据库运维 5).运维安全

三.Linux运维日常使用软件和技能

1、运维工程师使用的运维平台和工具

      1. Web服务器:apache、tomcat、nginx

      2. 监控:prometheus、zabbix、openfalcon、nagios、cacti

 自动部署:ansible、saltstack、puttet

      4. 负载均衡:keepalive、lvs、haproxy、nginx

      5. 备份工具:rsync、wget

      6. 问题追查:netstat、top、tcpdump、last

      7. 容器:docker、k8s、docker-compose、swarm

      8. 安全:kerberos、selinux、acl、iptables

      9. 虚拟化:openstack、xen、kvm

  2、运维工程师要掌握的技能

      1. 扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;

      2. 通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;

      3. 编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;

      4. 数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;

      5. 丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;