本文出自 “Share your knowledge …” 博客,原出处http://freeloda.blog.51cto.com/2033581/1315694
大纲
一、前言
二、Linux 运维大环境说明
三、Linux 运维学习思路
四、Linux 运维大方向说明
五、Linux 运维学习必看书籍推荐
六、Linux 运维实践内容简介
注,本博文主要用于交流与学习。如有雷同,纯属意外。
一、前言
最近,有不少博友问我。刚进入运维行业怎么学习呢?思路是什么?一点思路也没有,然后与大家在群里交流了一下。现在总结一下,与大家分享一下。下面我们就废话不多说,直接上干货。^_^……
二、Linux 运维大环境说明
首先我们来说一下,Linux 运维的大环境。现在运维的大环境是什么呢?这样说吧,现在做运维的95%的人都不是在做运维,简单的说其实是在做杂活。或说是“全能型人才”。就是什么事都做。比如,办公室内网维护(其实,修电脑与装系统为主业)、无线路由器安装与配置(其实,安装与配置家用的TP-Link)、维护OA系统与邮件系统(其实,就是人事行政不想做这种小事让你来给新来的人员增加与删除OA与邮件账户等)。还有就是有的领导什么软件打不开了,让你去帮忙处理一下(你到那边什么事都没有做,只是重启一下电脑而且,嘿嘿),等等吧。其实,这根本不是运维。说白了就是简单的技术支持(或说是网络管理员)。这是一种情况,而且很多人都是这种情况且工资不高。
上面我们说完了,第一种情况,下面我们来说说第二种情况。第二种是什么呢?一般他们属于监控运维,这些运维一般是公司最基层的员工,主要做一些监控方面的工作。让你每天看着显示器,一但网站或者线上业务出问题了,你得通知运维工程师让他们去处理问题,这样你的工作就基本完成了。这类监控工程师一般加班都很多,而且线上权限很低。你一般不能做任何操作,或者你只有查看的权限。这类监控工程一般还学习不到什么技术,可能你在公司一两年了都不知道这套监控系统是怎么搭建的。再则就是公司来几台服务器了,你去安装一下系统就完了。虽然工作不多,但还是那句话。工资不高且经常加班。(但没办法,一般刚入行的运维都得经历这个过程的)
下面我们来说一说,第三种情况。第三种类型是运维工程师,一般这些都是公司运维的主力,他们每天处理各种问题,包括搭建服务器、配置相关服务、配合开发上线业务、管理权限、开发一脚本等。其实从他们开始我们才能说他们是做运维的,运维工程师也分为好多种,有系统管理运维工程师、开发运维工程师、产品运维工程师等等,每个公司的分类不同,但又大同小异。系统管理运维工程师主要倾向于管理Linux服务器,开发运维工程师主要倾向于各种脚本与模块的开发工作,比如有的大公司一般他们的监控系统都是根据自己的需要进行开发的,或者根据某些监控进行二次开发。产品运维工程师主要倾向于业务相关,帮且业务上下线,解决开发提出的一些问题等。如果是现在做的就是这个说明你运维基本已经上路了,可以说哥们好好努力,“钱途”无限好啊!
下面一种是,高级运维工程师。一般这些人都是公司的中层干部,一般都是资历比较深的。工资一般都是10K左右的。一般做到这个职位的人,我想说是比较轻松的,每天事情比较少。一般什么事都是运维工程师做完了,除非遇到一些重大事情,他们才会出马的。比如,网站老是被攻击啊、网站架构调整啊、某些数据库有重大改变啊等。一般高级运维工程或叫运维主管,都是做这些事情的。哥们如果你现在做到这个职位同,说明你已经很不错了,嘿嘿。
最后一种,也是最牛的一种被称为“神一样存在的人”,运维架构师。一般这种重量能人物只有像大的互联公司才有,比如百度、QQ、阿里等大公司才有。他们负责网站的整体架构,包括网络、开发、系统、数据库、安全等各个方面。一般他们都是全能型人才,这才是真正的全能。一般他们都是公司的高层,他们的工资不是谈月薪哦,都是年薪。有的都是有股份或者期权的,嘿嘿。这也是我们大家努力的方向啊。好了,大环境基本就说到这里吧。下面我们来总结一下。
总结,首先是运维工程师的职位划分,一般分为网络管理员->初级运维工程师(也叫监控运维工程师)->运维工程师(可分为系统运维工程师、开发运维工程师、产品运维工程师等)->高级运维工程师(也可以分为高级数据库管理员(DBA)、高级网络运维工程师CCIE)、高级安全运维工程师等)->运维架构师(一般只有大公司有,是全能型人才)。然后我们再说一下,做运维的一般的工资情况,一般运维工程师在3k-6k之间,高级运维工程师在8k-12k之间,运维架构师一般都是20k以上。所以大家可以看到做运维还是很“钱途”的。最后,说一下公司情况。一般想要做运维基本都要选择大公司去做,一般这些公司的特点是开发与运维的人比较多能学习到东西,其次是服务器比较多平台比较大有发挥的空间,最后是有利于自己的提升。一般小公司我就不说了,大家自己都明白那根本就不是运维,可以直接的说是打杂的。我说一下,我一朋友的亲身经历。我朋友以前的公司是教育培训的。过去是时候说是去做运维的,管理服务器。去了才知道,服务器没几台。最苦B的就是最后连搬货他们都得上的。嘿嘿^_^……还有就是,最近手机游戏比较火,去游戏公司做运维也是很给力。好了,到这里我们运维大环境我们就说到这下面我们来和大家说一下,运维的学习思路是什么?特别对刚入行的博友一些建议吧。
三、Linux 运维学习思路
首先,得说明一下。一般做运维的基本都在北上广这三个城市,其它地方想你都不用考虑的。至于什么原因我想我都不用说,大家都知道。下面我们来说一下,基本思路。
1.明确方向
其实,不管是从事什么行事,做什么事情。明确方向是很重要的。我觉得这是最重要的。既然选择了运维这个行业就要下定决心去做好这件事,嘿嘿。好了,大道理我就不说了,大家自己去体会。下面我们会详细说明运维行业中的几个大方向。
2.看书
我觉得你不管理做什么看书是必不可少的,运维行业也属性IT行业的范畴。IT行业就是个终身学习和行业,同样的运维行事也是这样,得终身学习。我这里说的看书是一个概念,其实并不一定要买一本纸质的书籍拿在手里看,现在是互联网时代了,大家都知道上网。我们也可以运用网络来学习不是嘛。现在人啊,我老说都是在浪费互联网只知道看网页,看电影、看电视、玩游戏,基本都用于娱乐。我觉得上网应该只做这三个重要的事,一是看看国际动态。二是关心国内政策。三是关注自己行业最前沿的技术。我们这里看书不仅仅是纸质的书籍,这是其中的一部。我们还可以看电子书籍、技术博客、官方文档等。得多学习知识,特别是刚入行。还有就是得学会使用搜索引擎,如百度与谷歌。可以这么说,你遇到的任何技术问题都可以在谷歌上找到答案。因为你遇到的问题,别人早就遇到过。
3.实践
看书之后最后要的是得实践。不实践哪来的工作经验呢?你以为工作经验怎么来的,都是不断的实践,不断的总结,才有了所谓的经验。有句话说的好,理论是用来指导实践的,实践是用来验证理论的。你不去做怎么知道,书籍中的内容是否正确。书上讲的内容一定可以在产生环境中运用的起来嘛。嘿嘿,还是去做一遍吧。下面我们会详细的说明,初学都应该做哪些操作实践。
4.再看书、再实践
有句话说的好,看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水。只有通过不断的看书,不断的做实验。你的收获才会越来越多。你的经验才会越来越多。
四、Linux 运维大方向说明
1.网站运维
电子商务网站
社交网站
视频网站
金融网站
搜索网站
……
注,一般都是些大型网站运维。他们的服务器一般都比较多,访问量比较大。特别是电子商务网站有支付接口的,对网站安全的要求也比较高。
2.游戏运维
游戏网站
游戏APP
游戏应用
……
注,特别是一些网页游戏网站与手机游戏APP。现在手机游戏比较火,现在做游戏运维也很不错。
3.大数据运维
虚拟化
云计算
……
注,这个就比较高端了,是最近流行的一个运维方向。大数据与虚拟化方向,有兴趣的博友可以进行关注。
4.开发运维
监控系统
模块开发
……
注,一般对你的开发能力要求相对较高,对系统维护能力相对较少一点。比如你得精通shell编程或精通一门开发语言如,PHP开发或Python开发。主要应用领域是Linux运维自动化,目前我也正在从这个方向发展。
5.数据库运维
DBA
Mysql DBA
Oracle DBA
SQL Server DBA
……
注,数据库运维我们就不多说了,你得对各种数据库非常的精通如,Mysql数据库、Oracle数据库、SQL Server数据库等。
6.总结
有博友会问了,那么多知识我应该怎么学习呢。一句话千里之行,始于足下。我们先从最基本的操作系统学起。下面我们为大家介绍几本书。供大家学习参考!
五、Linux 运维学习必看书籍推荐
1.系统系统
现代操作系统(原书第3版)
深入理解计算机系统(原书第2版)
深度探索Linux操作系统:系统构建和原理解析
鸟哥的Linux私房菜:基础学习篇
鸟哥的Linux私房菜:服务器架设篇
循序渐进Linux基础知识、服务器搭建、系统管理、性能调优、集群应用
深入学习:
30天自制操作系统(附光盘1张)
2.网络方面
TCP/IP详解卷1:协议
TCP/IP详解卷2:实现
3.开发方面
O'Reilly:Shell脚本学习指南
Python基础教程(第2版)
细说PHP(第2版)(含DVD光盘1张)
4.数据库方面
高性能MySQL(第3版)
MySQL性能调优与架构设计
5.运维书籍
高性能Linux服务器构建实战:运维监控、性能调优与集群应用
构建高可用Linux服务器(第2版)
高性能网站构建实战
构建高性能Web站点(修订版)
6.虚拟化
KVM虚拟化技术:实战与原理解析
7.大数据
大数据时代生活.工作与思维的大变革
六、Linux 运维实践内容简介
1.Linux操作系统基础
Linux操作系统及常用命令
Linux文件管理命令
bash特性
Linux用户及权限
Linux用户管理命令
bash与IO重定向
grep及正则表达式
egrep及扩展正则表达式
bash脚本编程
vim编辑器详解
Linux文件查找详解
特殊权限SUID等详解
注,以上内容可以到鸟哥的Linux私房菜:基础学习篇 这本书中查找学习。
2.Linux操作系统管理基础
facl及用户及Linux终端管理
磁盘及文件系统管理
Linux压缩及归档
Raid及mdadm命令
LVM 管理
Linux网络配置
Linux软件管理
Linux进程管理
Linux系统启动流程详解
Linux内核编译及系统裁减
Linux日志系统syslog
sudo详解
注,以上内容可以到鸟哥的Linux私房菜:基础学习篇 这本书中查找学习。
3.Linux常服务管理
ssl协议、openssl及创建私有CA
OpenSSH服务及其相关应用
DNS服务相关概念与配置详解
Bind服务安装配置
DHCP服务
Web服务及http协议
httpd安装与配置
基于openssl的https服务配置
php相关概念及配置
数据库及MySQL
MySQL初步,数据类型及SQL语句
建立LAMP平台
邮件服务系列之基础原理
邮件服务系列之编译安装Postfix
邮件服务系列之Postifx常用配置
ftp服务
iptables系列之基础原理
samba服务
tcp_wraper&xinetd
配置使用vnc服务
注,以上内容可以在 鸟哥的Linux私房菜:服务器架设篇 这本书中查找学习,书没有的内容我的博客中有所补充。
4.Mysql数据库专题
Mysql 数据的安装与配置
Mysql 配置文件的优化
Mysql 授权详解
Mysql 日志管理详解
Mysql 用户管理详解
Mysql 复制详解
Mysql 备份与还原详解
Mysql 集群详解
Mysql 读写分离详解
注,以上内容可以在我博客里查找学习。
Mysql 事务和隔离级别
Mysql 数据库的优化
Mysql 分区
注,以上内容在 高性能MySQL(第3版)与 MySQL性能调优与架构设计这两本书中查找学习。
5.Linux集群和存储专题
Linux 集群的基本概念与LB(负载均衡)集群详解
LVS 集群中持久连接详解(PPC+PCC+PNMPP)
Linux 高可用(HA)集群基本概念详解
Linux 高可用(HA)集群之Heartbeat详解
Heartbeat+httpd+NFS 实现高可用的Web服务器
Linux 高可用(HA)集群之heartbeat基于crm进行资源管理详解
Heartbeat+MySQL+NFS 实现高可用(HA)的MySQL集群
Linux 高可用(HA)集群之Corosync详解
Linux 高可用(HA)集群之Pacemaker详解
Linux 高可用(HA)集群之DRBD详解
Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群
CentOS6.4+cman+rgmanager+iscsi+gfs2+cLVM 实现廉价的可扩展的集群共享存储
Linux 高可用(HA)集群之keepalived详解
注,以上内容可以在我博客中查找学习。另外也可以参考这两本书:
高性能Linux服务器构建实战:运维监控、性能调优与集群应用
构建高可用Linux服务器(第2版)
6.HTTP代理加速及应用服务器专题
IO复用详解及高并发系统设计初步
配置Ngnix作为WebServer详解
Nginx反向代理、负载均衡、缓存、URL重写及读写分离
Memcached安装配置及保存phpsession于memcached中的方法
http反向代理及haproxy
http缓存机制及varnish详解
Tomcat系列之java技术详解
Tomcat系列之组件详解及服务安装配置
Tomcat系列之服务安装配置及Nginx反向代理tomcat服务
Tomcat系列之apache使用mod_jk和mod_proxy反向代理
Tomcat系列之apache负载均衡请求至tomcat及DeltaManager的使用
注,以上内容可以参考我博客学习。
7.Linux系统原理基础及系统调优
计算机及操作系统原理
Linux操作系统原理
CPU负载观察及调优方法
Linux内存子系统原理及调优方法
IO和文件系统优化
Linux网络子系统调优
注,以上内容可以参考这几本书:
深入理解计算机系统(原书第2版)
深度探索Linux操作系统:系统构建和原理解析
高性能Linux服务器构建实战:运维监控、性能调优与集群应用
构建高可用Linux服务器(第2版)
8.云计算、虚拟化专题
虚拟化技术基础原理详解
kvm虚拟化
OpenStack
Hadoop
注,以上内容可以参考这几本书:
KVM虚拟化技术:实战与原理解析
O'Reilly:Hadoop权威指南(第2版)
云计算与OpenStack(虚拟机Nova篇)(这本书我没看过,听群里的人说还不错)
9.系统及服务监控专题
SNMP原理和实战
RRD-tools绘图原理和应用
Cacti原理和安装
Cacti配置和高级用法
Nagios基础和入门配置
Nagios高级应用及插孤城组件开发
Nagios高级应用及飞信报警功能
注,以上内容可以参考我的博客,还有官方文档。
http://www.cacti.net/
http://www.nagios.org/
10.总结
以上内容是我自己学习与经历。大家学习的方法有两种:一种是自学,另一种是参加培训(这种方法时间周期比较短,学习效率高)。若是自学,必须得坚持对自己要求高一点,特别是自觉性,自控能力比较强的博友。若是参加培训推荐“马哥教育”。下面是51博客与官方网站:
http://mageedu.blog.51cto.com/
http://www.magedu.com/