这些年来,不少人都在谈自动化运维。但回过头来反思一下,作了几年的自动化运维,是否仍是不能肯定有哪些工做没作,或是怎样更优雅的实施运维自动化,又或者你只是是刚刚踏入自动化运维这扇大门,对不少知识还没理清楚。所以咱们 OSC 第 126 期高手问答带来了 Linux 集群和自动化运维这个主题,并请来了@抚琴煮酒(余洪春)为你们解答关于Linux集群和自动化运维的问题。mysql
这篇文章挑选了部分精彩的问答内容,分享给各位交流、学习。也能够转到原连接继续浏览。linux
Q:想向运维方向发展,平时在测试时写一些自动化脚本,基本上是用Shell写的,也想过用jenkins那些自动发布工具,但感受速度有点慢,还有,好多东西仍是须要手动去建,好比我看如今公司的运维团队操做跟我差很少,大部分仍是要靠手动,如今公司的项目愈来愈多,产品线愈来愈多,运维只是加人力,招的人经验也比较丰富(有好几我的有网易等公司的运维经验),并无作到真正的自动化,您这本书中有好的建设方案么?nginx
A:平时的运维业务能够朝自动化的方向努力,机器少的场景能够靠人力抗,但机器的数量规模真正到了必定级别则必需要推行运维自动化了。不过要想真正的跟公司的业务结合起来,不少好的开源工具或方案,则须要进行二次开发。 git
Q:做为研发的同窗,日常也要作些网络架构、运维评估等工做,是否有必要系统学习下linux 方方面面的知识?redis
A:恩,这个仍是有必要的,熟悉Linux系统方向对工做仍是颇有帮助的,之后能够往架构师的方向转。sql
Q:集群化的云计算运维相比传统运维,所须要掌握的新技术点在哪?tomcat
A:关注点不同,好比拿AWS云平台来讲,像传统运维,面临着安装系统、系统上架,分配机房等问题,但这些基础运维的活云平台都自动作了;若是想往云计算运维方向发展,要努力不断学习新的技术,好比Docker、salt、Ansible等,开发语言也要掌握一门,平时多关注Devops方向服务器
Q:将来运维的发展方向是什么样的呢?,感受传统的基础运维,开始淘汰了,除了大型的IDC或互联网公司,如今也看到不少运维都开始学习一些开发的知识。我的感受运维可能会靠向devops这块发展网络
A:恩,确实是这样,建议学习Python,将来的云计算运维是会向DevOps方向转的。架构
Q:那些状况须要作自动化运维?有什么条件吗?超过20台服务器?如何给领导建议作这块呢?
A:一、机器数量比较多的状况下,好比咱们的平台超过了500台,并且还存在增加趋势; 二、业务和项目愈来愈多的状况下,好比常常须要统一开发环境、线上测试环境和线上环境。 给领导提方案的前提是本身要很是熟悉本身提出的自动化方案的优势和缺点,有些坑要提早提出来,记住:本身不要给本身挖坑,要不很难找人填 。
Q:请问自动化大体包括那几个方面?我想知道书里是否有讲,这两部分:1.如何监控故障?2.监控到故障如何自动化或者半自动化处理?其实我以为如今运维是很大一块,如今各类云平台,各类机器设备,开源方案却是不少,更多的是上线以后的运维!谢谢!
A:咱们的监控好比细致:1,系统和服务监控;2,流量监控;3,业务监控。目前监控到问题之后仍是会手动处理,由于平台很是复杂,若是作成半自动或全自动的意义不大。但像不少业务都作成了自动化的,好比自动起spark/reduce机器,还有爬虫程序,这些能作成自动化处理的所有自动化了。
Q:不少人都不接受“自动化”运维。他们始终认为人来作这些事情时更可靠。固然,这与他们如今维护的机器数有关的。个人问题是:
1. 自动化运维的好处和坏处分别是?
2. 若是好处多于坏处,如何说服这些人使用“自动化”运维
A:自动化运维的好处是能够减轻运维的工做量,统一规划和配置系统头资源;固然了,线上的资源也有可能去现误操做的状况。这个时候就须要一个强大的report系统。其实若是机器到了必定规模,自动化运维就是一个水到渠成的过程,特别是在真正的互联网公司。
Q:请问下mysql的高可用那种方案比较好?若是主从断开,如何不影响业务的状况下,从新作主从?
A:咱们线上用的比较多的方案是DRBD双机,而后再是主从复制。mysql主从复制断开也分好多状况,通常状况下是不须要重作主从的,除非到了万不得已的时候。另外,阿里有很多开源方案,建议可参考。
Q:咱们如今产品开发完成后,还会出现后续新需求开发,如今咱们是用的Jenkins作的自动化,从每次代码提交到自动打包到部署环境上跑测试用例,可是打包过程十分漫长,并且不定时会出错,因此想问一下,与Jenkins自动化运维相比,这种新的运维方式有哪些优点呢?
A:Jenkins是持续集成,跟自动化运维是属于两个不一样的方向吧。
Q:1.分布式网站系统,如何 用集群自动更新代码和同步代码(实现那种秒更新的方案?)
2.更新或者升级网站 代码的 时候, 如何确保 代码执行不会由于(更新代码的时候确定有不一致的服务器代码落后更新)落后更新而形成执行出问题呢?
A:咱们是引入自动化运维,好比用fabric工具同时进行git命令操做,同时是几十台机器一块儿操做。
Q;目前自动化运维,尤为是将系统资源(CPU\MEM\IO\NETWORK)和中间件(nginx\redis\tomcat)等多方面监控的资源开发该关注哪些点?业务层面的每每是运维方面很差解决的,您怎么看?
A:恩,好多业务需求须要开发了,并且开发人员并不能真正的设计与开发出来,这个时候就须要运维人员自行开发了,这也是如今有运维开发的缘由,同时也是Python大热的缘由之一。
Q:你好,我发现这本书,名称是 Linux集群和自动化运维。我想询问下,大家在生产环境中,采用的是什么自动化工具,是saltstack,puppet,仍是ansible,大家,在这些自动化工具中进行了二次开发吗?
A;以前是Puppet,如今主要是Fabric | Ansible,目前不少自动化任务都是二次开发,像ansible也在进一些简单的二次开发以适应业务须要。
Q:咱们一直用puppet,跟chef,ansible用起来确实比puppet方便不少吗,我也上网查了一些资料说ansible方便不少?楼主,请问技术转型到ansible你认为难度大吗?我以为里面应该仍是有不少坑的,呵呵。请赐教经验!谢谢!
A:其实还好,Ansible能够先在测试下部署,等测试得差很少的时候再慢慢的移过来,目前社区和资料挺多的。