系统运维工程师都要会什么?

红色标出来的,是必须会的。

总结两句话

  • 保障业务的长期稳定运行(如网站服务器,游戏服务器等)
  • 保障数据安全可靠(如用户名密码,游戏数据,博客文章,交易数据等)

这两句话看似简单,其实要会的东西很多很多。今天我们就推演运维工程师要学些什么

一、保障业务长期稳定运行

1 、业务跑在什么上面?
网站服务器一般是apache,nginx,tomcat等。但是真正跑通流程还需要mysql数据库来存储用户密码和其他。很多程序都要php的解析,所以,LNMP、LAMP环境部署是必须掌握的技能。
2、 业务出了问题怎么及时知道?
这就需要监控软件配合邮件或短信来通知你,常用的监控软件有zabbix,nagiox等,报警发邮件也需要一个程序,sendmail或postfix。
3 、在家收到报警,但服务器是内网IP,再怎么也得解决问题
在公司搭建openvpn或pptp或openswan,在家通过vpn拨入内网,24小时解决问题

二、保障数据安全可靠

1、有时需要手动改数据库内容

所以要会基本的数据库增删改查命令

2、万一数据库服务器的硬件坏了怎么办?

需要有一个备库以备不时之需,所以要需要mysql主从复制

3、数据库还原怎么办?

所以要在crond中定期全备mysql数据,以便还原使用,如果还原到指定的时间点,还需要学会mysql增量备份与恢复。

4、如果是用户上传的图片或文件服务器坏了怎么办?

定时备份还不够,需要使用rsync加inotify来实时备份,一遍任意时刻主服务器坏掉,也能保障所有的图片有备份可以用来恢复。

5、小心黑客,要增加服务器的安全性

ssh轻易不能让外外人访问,那么就设置只允许公司的IP或跳板机IP访问,这些都需要iptables来控制。

三、大性能

1、越来越多的用户来访问我们的网站,一台服务器扛不住怎么办?

那就需要多台web服务器来负担,但多台服务器之间怎么进行负载均衡呢,这就需要nginx反向代理或者LVS+keepalive或haproxy+heartbeat

2、用户注册发表的文章与评论太多,一台数据库扛不住怎么办?

数据库的压力分为读和写,如果写扛不住,需要进行分库分表到多台服务器上,如果是读压力不够了,可以使用mysql-proxy读写分离,来分担读的压力,更简单的方法,把数据库里的内容放到内存上,这就用上memcache或redis了

3、N多用户上传下载文件,磁盘扛不住怎么办?

把多块磁盘做成raid,或者使用分布式存储文件系统如MFA,GlusterFS来提高磁盘的读写能力

4、网上好多图片,总有用户反映网站加载太慢,怎么办?

这时可以把网站上的图片通过squid或varnish缓存到网站前端,尽可能的增加访问速度,当然,最好购买商业的CDN加速

5、运营商是一个大难题,他们之间的宽带好像很小,联通IP访问我电信网站怎么就这么慢呢?

这时可以使用bind自建一个DNS服务器,把网站的DNS记录指向自建DNS服务器上,配置好电信IP解析到电信网站上,体验就会好很多

四、自动化

终极目标:跑死机,闲死人

1、公司购买100台服务器,公司竟然就一个移动光驱,这装系统得到什么时候

使用kickstart或cobbler来网络远程安装

2 、每次装玩机都要优化很多内容,什么文件描述符,端口,软件安装,手动操作得累死

赶紧学会shell,将解放非常多的工作量

3、 系统装完后登陆需要输入密码,这么多台怎么办?

使用expect,自动读取提示来输入密码,并执行命令

4 、要批量把代码发布到线上服务器,怎么办?

使用saltstack或puppet或ansible

五、其他

1 、搭建整套测试环境需要五台服务器,但公司穷的只剩一台怎么办?
学会xen或kvm或docker,虚拟出多台服务器,就能解决资源问题,特别是docker,在以后需要这样的环境时,分分钟就能搞定
2 、研发人员的代码控制,权限控制,总要运维人员管理
svn或git,一定要有

结尾

现在回过头来思考,运维工程师平时都干些啥?

  • 随时解决报警故障
  • 业务程序更新
  • 编写一些脚本,监控完成其他可自动完成功能
  • 运维架构完善,部署一些用起来更方便更可靠或性能更好的开源工具以及制定运维流程规范
  • 打杂,如调交换机,装系统,部署新环境等

系统运维工程师都要会什么?相关推荐

  1. 职业生涯规划(系统运维工程师)

    自2010年6月至今, 在一家私企担任系统运维工程师一职位已2年,工作蛮轻松,但薪水不高. 最近内心深处总有些迷茫的感觉. 今年已经25岁,五年之内,如何才能有更好的发展,如何赚大钱?今后的发展方向在 ...

  2. 公开课:如何成为一名高级系统运维工程师(架构师)?

        如何成为一名高级系统运维工程师(架构师)? --老男孩教育赵班长 内容简介: 突破瓶颈,从普通系统运维成长为高级系统工程师.架构师,如何提升,需要掌握哪些技能和知识,公开课上为您解惑. 分享形 ...

  3. Linux系统运维工程师PDF文档精选

    收藏先,O(∩_∩)O~ Linux系统运维工程师PDF文档精选 1.高级Bash脚本编程指南  http://www.unixhot.com/pdf/bash.pdf 2.Linux 策略路由和流量 ...

  4. 运维工程师项目案例_【IT专场】系统运维工程师等岗位在线邀你入职,base上海|深圳|昆山...

    今天的IT招聘专场推送的岗位有系统运维工程师Mainframe Cobol Programmer网络工程师base上海|深圳|昆山含"金"量满满供君挑选感兴趣的快投简历吧~ 系统运 ...

  5. Linux系统运维工程师学习(基础 一)

    Linux系统运维工程师学习(基础 一) 1.1计算机软硬件与操作系统介绍 计算机系统的组成 硬件系统 主机(中央处理器,内部处理器) 外部设备(I/O设备接口,外部存储器,输入输出设备) 软件系统 ...

  6. 月薪过万的运维工程师都要会干什么

    如果你想要进入运维领域这一行,首先你应该了解运维工程师是干什么的,除了对Linux下各种网络服务.应用系统.监控系统等进行自动化脚本开发的工作,并根据项目对系统进行性能优化,运维工程师还应该掌握哪些升 ...

  7. 运维工程师都在做什么

    首先先看图(怎样变成运维人): 看完之后觉得需要掌握的基础真多啊. 下面是运维工程师至少要能做以下的工作: 1,网络工程师的工作 你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网 ...

  8. 运维工程师都在做什么?

    首先先看图: 下面是运维工程师至少要能做以下的工作: 1,网络工程师的工作 你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉. 2,系统工程师的工作 你至少 ...

  9. 浅谈Linux系统运维工程师必备技能

    一.什么是运维工程师 相信读者们必定听说过linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(De ...

  10. 网络安全中的NISP-SO安全运维工程师都需要那些工具?

    网络安全运维工程师的实用工具有那些 1.掌握安全运维所必须的资产梳理工具(Layer.御剑.nmap.dirb.wafw00f) 2.掌握安全运维利器流量抓包工具(Wireshark.burpsuit ...

最新文章

  1. 重载运算符作为成员函数还是非成员函数
  2. leetcode Single Number python
  3. 怎么html中加样式,简明教程 在HTML中添加样式表的方法
  4. 代码审计之CVE-2018-7600-Drupal远程代码执行漏洞-Render API
  5. vivado实现VGA
  6. 产品开发过程问题及解决方案汇总
  7. GitHub 支持上传视频文件啦!
  8. github 公钥 私钥_理解公钥与私钥
  9. phpcms移动端和pc端_移动端调试大法
  10. Apache服务配置
  11. 前端性能优化之重排和重绘
  12. loadrunner:关联操作
  13. java pingfang,PingFang sc字体的使用
  14. 安卓新手入门基础知识
  15. IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈
  16. 2022.4.24腾讯笔试记录
  17. 怎么放大图片不模糊?
  18. 学习方法-学习观(03)费曼技巧
  19. 推荐电影:朴赞郁的《老男孩》
  20. LitJson问题汇总

热门文章

  1. java SE复习笔记55
  2. 如何让cmd一直默认以管理员身份打开
  3. uniapp项目发布成微信小程序的一些坑
  4. 优秀工程师必备的三大思维
  5. 【QGIS】无法定位程序输入点~于动态链接库~上
  6. 基于个性化的电影推荐系统全流程设计
  7. 纯HTML+CSS网页设计期末作业(个人网站)
  8. IOS13以上抓https包,基于win7+Fiddler,操作记录
  9. win7 thinkpad 屏幕旋转 快捷键 与 eclipse冲突
  10. .net core 创建桌面应用程序(极简流程)