Chinaunix

标题: 分享运维技术人生——专访运维架构师刘鑫(Gray1982) [打印本页]

作者: 无风之谷    时间: 2012-04-17 14:19
标题: 分享运维技术人生——专访运维架构师刘鑫(Gray1982)
采访嘉宾:刘鑫(Gray1982)
04年毕业,主要从事IT培训、技术支持、高性能网站架构等相关技术的研究工作。目前就职于某知名互联网公司主管运维工作,主要是网站架构的相关技术,以及对Hadoop的研究。
本次访谈我们也邀请到 抚琴煮酒 版主参与主持,感谢!
欢迎大家跟帖提问,我们对于跟帖提问的网友给予30积分的奖励。更多访谈请关注ChinaUnix访谈录http://star.chinaunix.net/

抚琴煮酒:
刘总,你目前也是老Linux运维了,你当时是怎么进入这一行的,在你的职业发展过程中,有没有走过弯路?有什么经验和教训跟大家分享下。

Gray1982:

     03年考的MCSE,之后就一直喜欢系统的研究和系统应用软件的使用,做视频、做音频、做动画、做网页、做图片都有过。04年正式开始学习Linux,然后就喜欢上了这个系统。因为有了学习MCSE的经验,所以在学习Linux中也是从基础学起,很系统的学。之后做讲师,做技术,因为身体原因,不方便经常出差,所以选择了运维行业。
     初入这行,不懂的比较多,所以没事去招聘网站看看这职位所需要的技能,也算是了解下“行情”,有个方向来学习,会比盲目的学效率会高一些。
行万里路不如名师指路,如果真没人指导,建议大家没事去来咱们CU论坛走走,加一些技术群。有可能你会看到N多不会的问题,没事,知道别人怎么解决的,你就是有收获的。

抚琴煮酒:
运维在日常的工作中具体从事哪些工作,工作的重难点你认为在哪里?

Gray1982:

      一般运维也分操作和应用运维,比如有的做一些初始化系统脚本(增加通用的配置、监测网卡速度、连通率等等),根据不同的业务对系统用户管理等。对服务器的常规监控,报警处理。业务的更新部署,还需要配合开发诊断程序的错误等。其实这些没什么太多的技术性而言,主要细心一点就可以。
     相对来说的应用运维就需要了解的比较多了,各种负载(LVS,HAProxy),各种页面级缓存(Squid,Varnish),各种KV、分布式缓存(redis,memcache),分布式文件系统(mfs,hadoop)等等。除了要了解这些应用适用于什么样的业务情况,还需要对其进行相当的优化,这样还可以节省一批机器,减少公司的运营成本,也是为公司做出了一些贡献。因为现在很多公司为了求快速的发展,不讲究细节,只要是能用就行,所以会有很多的弊端。不仅浪费了资源,整个架构还不是那么完美,非常的老旧。所以做为运维人员,为了公司的发展,整个架构的健壮性,可扩展性是很重要的。这也是很多公司忽略的。
     如果想“偷懒”,最重要的就是自己写脚本。也许几台机器,你不在意,如果几十台呢,几百台传一批文件呢。一些开源的软件也许能解决一些问题,但这些并不是专门为公司的业务开发的,所以总有些方面不是很合适。这里还是建议要么二次开发这些开源的软件,要么专门为这些业务的写一些工具以满足自己公司的业务需求。这也是运维工作中很重要的能力。

抚琴煮酒:
自动化运维和Linux集群方面有什么跟大家分享的吗?

Gray1982:
      就像我上面说的,一个出色的运维,不仅仅需要了解掌握架构上所需要的技术知识,还需要在实际生产环境中写出的适合业务的工具来提高效率,减轻我们自己的压力。自动化运维除了我们要有自己的写脚本的能力以外,还需要对服务器有一个标准化的部署,比如每台服务器软件放置的位置、脚本的运行等。如果没有这样的标准化,就是一盘散沙,自动化运维很难实施下去。
      Linux集群方面涉及的比较多,因为具体分的话会有高可用性集群(运行于两个或多个节点上,目的是在系统出现某些故障的情况下,仍能继续对外提供相应的服务)、负载均衡集群(提供和节点个数成正比的负载能力,这种集群很适合提供大访问量的Web服务。负载均衡集群往往也同时具有一定的高可用性特点。)、超级计算集群(海量数据的计算)这么三大类。其里面包含的内容是很多的,有兴趣的朋友可以看看我写的网站架构技术方面的书。
     常用的技术如负载均衡器LVS,haproxy、Oracle集群数据库RAC、Mysql+DRBD集群等等。了解掌握软件之间的结合使用,就可以在设计架构上得心应手。

抚琴煮酒:
您现在最关注哪方面的技术?您自己是如何学习并掌握新技术的?

Gray1982:
      在脚本方面主要研究Python,各种编程语言是否顺手是个人的习惯,没有那种语言是不好的。所以学一门自己感兴趣的语言,在个人效率方面是一个不错误的选择。看书的时候介绍几本书一起看,这样可以综合的学习这种语言的某一方面的知识,以免不全、错误的学习。编程语言嘛,就应该多写,写的多了就明白的多了,这样可以很简洁的写出整个程序。同样实现一个功能,用60行实现和用200行实现,写程序的人的功力是不一样的。多练练,功力自然就会上来。
      除了Python的学习,在云计算Hadoop方面也很感兴趣。除了基本配置,在其原理、优化方面是研究的方向。最开始如果没有环境的话,可以自己用VMware搞个,只要能连网,安装什么的根本不是问题。而且,由于VMware配置的虚拟Linux性能不如真实的服务器,所以在调整的时候会有更多的收获。只是可惜本人不懂JAVA,不能对其进程代码级的二次开发··········不过可以用Python去写一些MR,因为用Python开发的效率会比JAVA高出很多。在这方面,一个有技术能力的公司,不会仅仅用一种语言去写自己所需要的工作。
找一个自己感兴趣的学,会长久的学;有计划的学,效率会高一些。脚本就是多写写,多看看,多问问,就可以更高效学习。

抚琴煮酒:
当前大概的架构,以及用到了哪些技术?

Gray1982:
     目前应用涉及的技术比较多,我只是说一个项目吧。根据业务来做的网站页面级缓存架构是lvs-haproxy-nginx(varnish)-app这种形式。LVS不多说了,大家都知道。中间之所以多了个haproxy一是因为整个架构更好的管理(机器比较多,一个网段的IP已经不能满足其扩展),二是可以更好的按规则去分发请求。至于是用专业级的缓存还是用轻量级的缓存看公司的实际情况吧。有的可能是需要二次开发才可以得到公司需要的东西,有的可能考虑以后的扩展以及运营的成本等。了解的更多才会有更多的掌控。

抚琴煮酒:

对目前热门的CDN技术有没什么心得和经验分享下?

Gray1982:

     在CDN方面暂时没什么研究,相对来说其架构方面了解的也不多,就不在这里献丑了。
     技术方面的只是对Squid、Varnish缓存有部分了解,仅限于电商级的。企业中会遇到的问题就是CDN取源时速度的问题,有可能占有90%以上的企业带宽。这点需要CDN厂商注意下,最好有限速度方面的设置。如果我们企业的文件不是经常更新的话,可以让CDN厂商把取源时间调整为半年或者更久,如果有更新且不多的情况下建议手动刷新。

抚琴煮酒:

刘总,听说你Python玩得不错,你在平时的工作中具体是用Python来实现什么工作,能有些具体的实用脚本跟大家分享下吗?

Gray1982:

     考虑到效率以及方便性,自己用Python写了个多线程的批量部署程序。一般公司做批量部署管理都会用的Puppet,不过这些都是需要安装服务器端和客户端,并且是单线程的。在管理少量服务器也许看不出什么,管理到百台以上的机器,效率明显的下降。我自己写的这个多线程的程序暂时还没测试百台(有兴趣的朋友可以到我的博客下载),不需要安装客户端,完全是推送的形式,方便、快捷。完全是批量管理的必备工具(嘿嘿)。因为没测试到多台服务器,所以有问题也希望大家提出来,大家一起研究,共同起步。
     另外一个是根据自己业务来的监控网站的使用性的工具。监控网通不通,访问的网页是不是出现400以上的错误,以及网页的内容是否正常。如果不正常是可以通过邮件报警,有兴趣的朋友也可以一起讨论下。

作者: lovehack2006    时间: 2012-04-17 14:40
支持以上两位大牛。。。。小弟问一下,如果linux下面禁用arp协议 对 系统有影响吗? 比如说还能上网不的?内网其它机子能访问他不的?
作者: yuri2346    时间: 2012-04-17 14:46
外行人   不过技术很厉害啊   
作者: zhaoke0128    时间: 2012-04-17 15:10
回复 1# 无风之谷

恭喜刘总,呵呵
   
作者: chinaciscoccie    时间: 2012-04-17 15:21
刘总经验丰富,业界有名
作者: wlforyou1    时间: 2012-04-17 15:37
虚心好好学习。
作者: hillhorse    时间: 2012-04-17 15:43
恭喜刘总,牛
作者: waker    时间: 2012-04-17 15:44
刘总,听说你们IT人天天玩儿这个不错玩儿那个不错,究竟是怎么个玩儿法?
作者: zhangkewang    时间: 2012-04-17 15:54
牛,这个要顶一下
作者: 一粒星尘    时间: 2012-04-17 15:56
煮酒采访紫雨,不错,支持下
作者: lxjfljmmq    时间: 2012-04-17 16:22
感谢刘总得分享啊。脚本、架构、标准化部署等等,都需要加强啊。谢谢两位
作者: crazyhadoop    时间: 2012-04-17 17:10
久仰大名啊
作者: beyondfly    时间: 2012-04-17 17:10
不错,支持
作者: king_819    时间: 2012-04-17 18:46
支持下刘老大
作者: chenyx    时间: 2012-04-17 18:55
这个方式新颖,支持下!
作者: hpsfpcca    时间: 2012-04-17 19:58
感谢分享经验
作者: 等等致命    时间: 2012-04-17 21:20
刘总,收徒弟不,求指点~
作者: yoyoyu1984    时间: 2012-04-18 09:12
两位都是大牛哇,,要是有图一睹芳容就好了
作者: yuhongchun    时间: 2012-04-18 09:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: spark8103    时间: 2012-04-18 09:36
久仰大名!
作者: atgyvdhdn    时间: 2012-04-18 09:55
支持
作者: Gray1982    时间: 2012-04-18 10:30
回复 2# lovehack2006
一切OK
看看LVS的DR配置就知道了这原理了,嘿嘿


   
作者: Gray1982    时间: 2012-04-18 10:33
回复 8# waker
都是兴趣所在,喜欢啥玩啥,玩明白了就高兴了


   
作者: Gray1982    时间: 2012-04-18 10:34
回复 17# 等等致命
来吧,来吧,相约2012


   
作者: Gray1982    时间: 2012-04-18 10:35
回复 19# yuhongchun

有积分,哈哈哈哈

   
作者: a595700805    时间: 2012-04-18 11:17
谢谢分享。
作者: lansyh    时间: 2012-04-18 11:56
支持刘老师!
作者: shadow2588    时间: 2012-04-18 11:56
刘总  这个必须顶啊lol
作者: 老男孩linux培训    时间: 2012-04-18 13:32
很不错,赞!辛苦了,两位大牛。给大家分享了这么多经验。
作者: chnliyong    时间: 2012-04-18 14:07
赞!
作者: dengbao2001    时间: 2012-04-18 21:22
围观下
作者: jiannma    时间: 2012-04-19 10:10
感谢分享经验
作者: Hongqiyaodao    时间: 2012-04-19 10:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 追忆的风筝    时间: 2012-04-19 12:56
Python运维工程师,飘过!
作者: gilet    时间: 2012-04-19 18:46
学习
作者: yjdwbj    时间: 2012-04-19 19:06
我在局域网内做全10个MOSIX节点,用来做分布运算(EDA仿真).以前用MPI没有成功能过, 不知这方面能不应用 到言互联网上
作者: shoringchow    时间: 2012-04-20 13:03
回复 1# 无风之谷
请教下大侠,你用python写的管理脚本在你地 bolg中?blog链接是什么?向您学习!

   
作者: Gray1982    时间: 2012-04-20 13:12
回复 33# Hongqiyaodao


python的书比较多,简明教程、编程金典、核心编程等,不下20本。
所以建议几本一起看,基础的先以上这3本就行
作者: Gray1982    时间: 2012-04-20 13:12
追忆的风筝 发表于 2012-04-19 12:56
Python运维工程师,飘过!


一起学习,一起进步··········
作者: Gray1982    时间: 2012-04-20 13:14
回复 37# shoringchow

目前的blog还不方便,这个是我在CU上发的多线程批量部署的脚本,可以先一起研究研究
http://bbs.chinaunix.net/thread-3667270-1-1.html
   
作者: platinum    时间: 2012-04-20 15:46
Gray1982 发表于 2012-04-20 13:14
回复 37# shoringchow

目前的blog还不方便,这个是我在CU上发的多线程批量部署的脚本,可以先一起研究研 ...

顶刘鑫!
作者: 610302547    时间: 2012-04-20 21:13
Gray1982他的博客是多少?
作者: Hongqiyaodao    时间: 2012-04-20 22:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: Gray1982    时间: 2012-04-21 19:58
platinum 发表于 2012-04-20 15:46
顶刘鑫!


哈哈,谢谢各位了
作者: wangjun0220    时间: 2012-04-23 16:48
好像真的有很多自己不会的和没有接触到的啊~~~
作者: yjcdoc    时间: 2012-04-25 10:59
有关shell 和Python的关系?
作者: 夜真灰_    时间: 2012-05-04 16:06
都是老前辈呀
作者: SPringYu    时间: 2012-05-09 10:12
不错!学习下!
作者: lovehack2006    时间: 2012-05-18 13:06
支持刘大牛,教了我不少东西。。。
作者: hbsycw    时间: 2012-05-18 16:39
这种专访分享很有价值,谢谢~
作者: hbsycw    时间: 2012-05-18 16:41
“整个架构的健壮性,可扩展性是很重要的”,有共鸣,再支持下~
作者: zh_ch_l    时间: 2012-05-21 16:29
必须支持,太好了。
作者: Gray1982    时间: 2012-05-23 13:32
回复 52# hbsycw


    嘿嘿,一起研究
作者: Gray1982    时间: 2012-05-23 13:32
回复 53# zh_ch_l


    哈哈,感谢支持
作者: Gray1982    时间: 2012-05-23 13:34
回复 42# 610302547


    现在已经有部分在CU上了,直接点我的博客就行
作者: Gray1982    时间: 2012-05-23 13:36
回复 47# yjcdoc


    两种脚本语言,可以都学习下,我博客有几个例子,仅供参考
作者: fanglq04    时间: 2012-05-24 14:13

作者: 破碎星云    时间: 2012-05-28 00:22
刘总的帖子必须顶!
作者: ulovko    时间: 2012-07-26 13:54
支持刘总 ^_^
作者: Gray1982    时间: 2012-07-27 23:17
嘿嘿,感谢支持
作者: action08    时间: 2012-08-15 09:31
眼花,看成刘备了{:3_200:}

支持一下
作者: action08    时间: 2012-08-15 09:50
没事去招聘网站看看这职位所需要的技能,也算是了解下“行情”,有个方向来学习,会比盲目的学效率会高一些。


作者: gushexianzi    时间: 2012-12-28 17:49
两位大牛X,膜拜中!!
作者: bjbs_270    时间: 2013-01-03 23:47
不错,提到的部分之前接触过,近来需要使用回cu逛逛,就看到这样的贴子,给力。
作者: yamoal    时间: 2013-12-29 18:56
网民→LB→LB→缓存→APP

自己的缓存? 没用CDN吗?  

作者: linux_xue    时间: 2014-03-15 15:03
自学linux很辛苦,但自己喜欢这个运维领域。平时工作没有场合实现。多亏有了vm可以模拟实验场景!后期有公司能挖掘自己!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2