
2、系统监控命令:目的是获取系统当前的运行状态,遇到故障等要懂得分析排查。系统调优并懂得原理,知道为什么参数要调整成某个值。
3、网络监控命令:理由和第二点一致,不过侧重于网络。同样需要理解原理及调优,不能照搬前人的经验而不知甚解。运维工程师干些什么
总结两句话
1、 保障业务长期稳定运行(如网站服务器、游戏服务器等等)。
2、 保障数据安全可靠(如用户名密码、游戏数据、博客文章、交易数据等等)。
由这两句话推演运维工程师要学些什么
一、保障业务长期稳定运行
出一点点差错,用户就要投诉了。
1、业务跑在什么上面?
网站服务器一般是apache,nginx,tomcat等。但是真正跑通流程还需要Mysql数据库来存储用户密码及其它。很多程序都要php的解析,所以LNMP、LAMP(即nginx、apache、mysql、php)环境部署是必须掌握的技能。
2、业务出了问题怎么及时知道?
这就需要监控软件来邮件或短信来通知你,常用的有zabbix,nagios等。报警发邮件,也得一个邮件程序呀,sendmail或postfix。
3、在家里收到报警,但服务器是内网IP,怎么也得解决问题吧?
在公司搭建open或pptp或openswan,在家里通过拨入内网,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、 编写一些脚本,监控或完成其他可自动完成功能。
4、 运维架构完善,部署一些用起来更方便更可靠或性能更好的开源工具以及制定运维流程规范。
5、 打杂,如调交换机,装系统,部署新环境等。
一般企业用的linux服务器有以下几个版本:
1、Ubuntu系列产品发行版
Ubuntu版本的命名规则是根据正式版发布的年月命名,Ubuntu 810也就意味着2008年10月发布的Ubuntu,研发人员与用户可从版本号码就知道正式发布的时间。
Ubuntu是基于Debian开发的Linux发布版,Debian的开发代号来自于玩具总动员,不过,Ubuntu各版本的代号却固定是形容词加上动物名称,而且这2个词的英文首字母一定是相同的。
而作为开源技术中另一个流行版,红帽企业版Linux(RHEL)从高呼着"几乎没有Linux公司可以做到"开始,到现在已经成为了追寻数据中心存储架区的主要力量。Linux是全世界大型企业的宠儿,红帽的创新精神和不间断的支持服务为它赢得了用户。
2、SUSE Linux 11企业版
最新的版本,SUSE Linux 11分别有零售版本及自由、开放源代码的版本,叫作SUSE Linux OSS。另外,SUSE Linux也提供了一个企业服务器版本,名为SUSE Linux Enterprise Server可以免费取得,但如果不付款只提供30天的更新服务。
SUSE Linux(来源PCWORLDcom),有别于其他的Linux发布版提供立即为他们的新版本提供免费下载。SUSE首先发布盒装,包含说明手册的个人版(Personal)及专业版(Professional),然后才于几个月后提供FTP网络安装。
3、Mandriva企业版
对于美国和国内的管理和技术人员来说,Mandriva可能会有些陌生,这个结构合理到令人难以置信的Linux发行版本来自法国并受到了欧洲和南美地区的广泛接受,Mandriva的名字和结构来源于Mandrake Linux和Connectiva Linux。
与其他产品类似,Mandriva的版本以发布年份直接命名,Mandriva为用户提供付费的企业版(Enterprise Server)和免费的个人版(One、Free),另外也有付费的个人加强版(Powerpack),现在的最新正式版Mandriva Linux 20102。
4、Xandros服务器版
而谈及开源技术,很难避开微软 *** 作系统,与微软有关的Linux版本,Xandros将是一个不错的选择,Xandros系统是GNU/Linux *** 作系统的一种发行版本,由Xandros公司发行,采用的是商业发行模式。
据悉Xandros的发行版本主要有:桌面专业版、桌面家庭版以及服务器标准版。
5、Slackware Linux发行版
作为开源软件,Slackware与商业版本的关系并不大,但与几家提供付费支持的厂商一直保持的合作关系。作为最早的可用版本之一,Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。
与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则,就是说没有任何配置系统的图形界面工具。
参考资料来源:百度百科—linux服务器
参考资料来源:百度百科—服务器 *** 作系统
我更喜欢用系统管理形容运维项工作运维听起偏执行项工作python系统管理优势与强发能力完整工具链python工程发能力强远强于各种shellperl易读易写兼具面向象函数式风格错元编程能力通系统化各种管理工具结合述各类工具进行二发形统服务器管理系统python类似ruby适合编写系统管理软件相关库工具比python差太
举栗: 某牛精通 bash,python,perl,ruby ,工作写数百单功能脚本(任何语言)进行 *** 作涵盖监控部署网络配置志析安全检测 等等许许面所包所作 *** 作并没系统管理项工作做再脚本 *** 作行做极致写再脚本能转化公司系统管理宝贵资产
让系统易于管理工程像puppet(ruby)saltstack(python) 自化管理工具才能完整描述整系统并且让系统管理面面纳入统体系堆脚本
python服务器管理工具非丰富配置管理(saltstack) 批量执行( fabric, saltstack) 监控(Zenoss, nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (supervisor) 云计算(openstack) 部系统C库都python绑定
于流程确定事情终定纳入系统管理体系写程序系统部复用游离与整体各种脚本
随着云计算代临型公司需要运维型公司没工程发能力运维没竞争力
有很多比如putty、Bitvise SSH Client、MobaXterm等等;
SSH是一个网络协议,允许通过网络连接到Linux和Unix服务器;
SSH使用公钥加密来认证远程的计算机。通常有多种途径使用SSH,自动连接或是使用密码认证登录。
运维是一个广义概念,可以理解为运行和维护,这也和具体的学习以及工作息息相关,要想进行维护,首先要先把服务搭建起来,也就是先运行。这里我们所说的运维是指对服务器和数据库及集成环境的运维。
首先运维要学什么?
如果不喜欢大段文字,请直接看加粗字体:
*** 作系统:linux、windows
常用服务:RAID、vsftpd、samba、ssh
安全知识:iptables、firewalld、selinux、DDOS、CC
服务器:apache、nginx、tomcat、weblogic
数据库:MySQL、oracle、redis、mongodb、memcached
负载均衡:nignx、lvs、f5
高可用:keepalived
监控:zabbix、prometheus、openfalcon、grafana、睿象云告警平台
自动化运维:saltstack、ansible
虚拟化:docker、k8s
云计算:openstack
其他知识:计算机网络
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)