一.什么是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. 丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;