很多刚学linux运维的朋友,总是搞不懂,运维工程师工作中干些啥?学的这些东西有什么用?今日我特来总结总结,希望能帮助即将跨入该行的人形成一个整体的思路。下面红色字体代表所要掌握的LInux免费开源工具。
运维工程师干些什么
总结两句话
1、 保障业务长期稳定运行(如网站服务器、游戏服务器等等)。
2、 保障数据安全可靠(如用户名密码、游戏数据、博客文章、交易数据等等)。
由这两句话推演运维工程师要学些什么
一、保障业务长期稳定运行
出一点点差错,用户就要投诉了。
1、业务跑在什么上面?
网站服务器一般是apache,nginx,tomcat等。但是真正跑通流程还需要Mysql数据库来存储用户密码及其它。很多程序都要php的解析,所以LNMP、LAMP(即nginx、apache、mysql、php)环境部署是必须掌握的技能。
2、业务出了问题怎么及时知道?
这就需要监控软件来邮件或短信来通知你,常用的有zabbix,nagios等。报警发邮件,也得一个邮件程序呀,sendmail或postfix。
3、在家里收到报警,但服务器是内网IP,怎么也得解决问题吧?
在公司搭建openvpn或pptp或openswan,在家里通过VPN拨入内网,24小时解决问题…唉,半夜爬起来解决问题也没工资。
二、保障数据安全可靠
出一点点差错,领导要找你喝茶了。
1、有时需要手动改数据库内容?
所以要会基本的Mysql数据库增删查改命令。
2、万一数据库服务器硬件坏了怎么办?
需要有个备库以备不时之需,所以需要Mysql主从复制。
3、 数据库要还原怎么办?
所以需要在crond中定期全备Mysql数据,以便还原使用。如果要还原到指定时间点,还要学会Mysql增量备份与恢复。
4、 如果是用户上传的图片或文件服务器坏了怎么办?
定时备份可能还不够,需要使用rsync加inotify来实时备份。以便任一时刻主服务器坏掉,也能保障所有图片有备份可以用来恢复。
5、小心黑客,要增加服务器安全性?
ssh轻易不能让外人访问,那么就设置只允许公司的IP或跳板机IP访问,这些都通过iptables来控制。
三、大性能
小公司总有一天会牛逼起来的,实在牛不起来咱也可以跳到大公司。
1、越来越多的用户来访问我们的网站,一台web服务器抗不住了怎么办?
那就需要多台web服务器来负担,但多台服务器之间怎么进行负载均衡呢,这就需要用到nginx反向代理或LVS+keepalived或haproxy+heartbeat了。
2、用户注册发表的文章与评论太多,一台数据库抗不住了怎么办?
数据库压力分为读和写,如果写抗不住,需要进行分表分库到多个服务器上。如果是读压力不够了,可以使用mysql-proxy读写分离,来分担读的压力。更简单方便的方法,把数据库里的内容放到内存上,这就用上memcache或redis了。
3、N多用户上传下载文件,磁盘抗不住了怎么办?
把多块磁盘做成raid,或者使用分布式存储文件系统如MFS,GlusterFS来提高磁盘的读写能力。
4、网站上好多图片,总有用户反应网站加载太慢,怎么办?
这时可以把网站上的图片通过squid或varnish缓存到网站前端,尽可能的增加访问速度,当然,最好是购买商业的CDN加速。
5、运营商是个大难题,他们之间的带宽好像很小,联通IP访问我电信网站怎么就这么慢呢?
这时可以使用bind自建一个DNS服务器,把网站的DNS记录指向自建DNS服务器上,配置好解析规则,以后联通IP解析到联通网站上,电信IP解析到电信网站上,体验就会好很多啦。
四、自动化
终极目标:跑死机器,闲死人。
1、 公司新买100台服务器,公司竟然就1个移动光驱,这装系统得到什么时候?
使用kickstart或cobbler来网络远程自动安装系统吧。
2、 每次装完机要优化很多内容,什么文件描述符、端口、软件安装啊,手动操作不累死去?
赶紧学会shell,将解放非常多的工作量。
3、系统装完后登陆要输入密码,这么多台啊?
使用expect吧,自动读取提示来输入密码,并执行命令。
4、要批量把新代码发布到线上服务器,怎么办?
使用saltstack或puppet或ansible吧,绝对爽歪歪。
五、其他
1、搭整套测试环境需要5台服务器,但公司穷的只有一台空闲服务器?
学会xen或kvm或docker吧,虚拟出多台服务器,就能解决资源问题了。特别是docker,强烈推荐,以后某个研发人员让你部署一套新环境,分分钟帮他解决。
2、研发人员的代码控制,权限控制,总要运维人员管呀?
svn或git,这个是肯定要有的。
结尾:
现在我们在回过头来思考,运维工程师平时干些啥呢?
1、 随时解决报警故障。
2、 业务程序更新。
3、 编写一些脚本,监?div style="border-bottom:1px solid #aaa;margin-bottom:25px">使用Operations Manager监视Windows Server和SQL Server 阅读原文» 用户名:徐庭 文章数:38 评论数:1 在这个实验章节中通过监控Windows Server、SQL Server、来了解使用Operations Manager监控企业基础架构。这里需要下载 1. System Center Management Pack for Windows Server Operating System管理包 2. System Center Management Pack for SQL Server管理包 http://down.51cto.com/data/1895686 一、 监视Windows Server 1. 登陆Operations Manager服务器,打开Operations Manager管理控制台 2. 点击管理,展开设备管理,右键代理管理,选择导入管理包 3. 选择管理包页面,点击添加,选择从磁盘中添加,点击按安装,等待安装并导入完成 4. 点击监视,展开Microsoft Windows服务器,点击Windows Server Status确定"BJ-GW-01"服务器存在列表当中 5. 展开Health Monitoring.,点击操作系统运行状况,,选择"BJ-GW-01"服务器,查看"BJ-GW-01"服务器的详细信息 6. 点击查看"BJ-GW-01"服务器磁盘运行状况,当前只有一块C盘 7. 点击查看"BJ-GW-01"服务器的网络适配器运行状况,可查看该服务器的设备类型、IP地址以及MAC地址等信息 8. 右键"BJ-GW-01"服务器选择打开,点击运行状况资源管理器 9. 运行状况资源管理器页面将会显示Windows Server所有信息 二、 监视SQL server 1. 下载完SQL Server的管理包之后,依照上述步骤3导入管理包到Operations Manager服务器中 2. 登陆DC服务器,打开服务器管理器,点击工具,选择Active Directory用户和计算机 3. 右键"SCOM",选择新建用户 4. 登陆Operations Manager服务器,打开Operations Manager管理控制台 5. 点击管理,展开运行方式配置,右键账户,选择创建运行方式账户 6. 指定运行方式账户的常规属性页面,键入显示名称SQLMonitoring,点击下一步 7. 指定账户凭据页面,键入用户名和密码,点击下一步 8. 选择分发安全选项页面,选择安全级别较高,点击创建 9. 右键创建的账户,选择属性 10.运行方式账户属性页面,点击分发,点击添加,添加SQL Server服务器,点击确定 11.点击创作,右键组,选择创建新组 12.键入友好名称和描述页面,键入新组名称 13.点击新建,以创建管理包 14.管理包常规属性页面,键入管理包名称,点击下一步
访问量:2505:251:414:3 注册日期:2014-06-03
没有评论:
发表评论