如果最近看到有人手捧《城客》杂志出没于2577创意大院,可能有我一个;卖《城客》的淘宝书报亭在这里:http://shop36708918.taobao.com/
---------------转载分割线------------------
上图名为:“BlogBus惊现山寨版周轶君”,哈哈~
(《城客》山寨版封面,六周年现场,人人都有机会上封面)
连BUS都被吸引住了。地点:我们大院外面的小径。模特:之之
作者:Fenng 发布在 dbanotes.net.
还是继续这个网站运维的话题吧。前面谈了知识管理与积累,这次谈一下运维过程中的自动化管理。
在进行这篇的扯淡之前,让我想起了《太平广记》里的一个《 板桥三娘子》的故事,姓赵的客商窥探到客栈老板娘三娘子在小箱子中取出小孩玩具大小的木头牛,木头人,喷口水,木头人、牛开始犁地耕作,撒一粒荞麦种子,木头小人种下,不一会儿,荞麦长成开花结实,木头人收割,乃至磨成面粉。然后三娘子把木头牛、人收入箱中,用得来的面粉做了数张面饼。多么好的一个自动化场景呀。
自动化管理是网站规模化之后必须要面对的问题。为什么要自动化?肯定不是为了炫技,针对一个发展中的网站来说,自动化的主要目的还是为了节省维护成本,提升运维成熟度能力。另外一个经常被忽略的收益是能让运维工作更有趣味性一些,不那么无聊,不无聊的有益副作用是减少人为出错的可能。
自动化针对的范围大致可以分为安装自动化、部署自动化、软件发布自动化、升级自动化、监控自动化等几个方面。优化自动化? 别,这个稍微"高级"并且不靠谱了一点。
自动化要解决的问题是 N 次循环的过程,如果 N 不具备延续性,那么自动化未必有必要。比如某个过程可能只是短时间内需要临时进行几次,是否有必要将其自动化就有待于商榷。如果计划和开发自动化过程的成本高于非自动化成本就没必要了。
如果看过古龙的小说,他曾经描述过几个有趣的懒人,懒人造了一些木头人和机关来帮自己干一些不愿意做的事情。自动化多少就是"懒人"要做的事情,因为懒嘛,所以才会想办法节省时间和其他成本。一般来说,这个过程的开发者也是使用者,所以没必要一定要按照所谓的项目过程去走,但是开发者必须能够产出一份文档给同团队的伙伴(如果有的话)。
考虑到多数的网站运维可能都是在 Unix like 环境中的,而 Unix 的哲学思想之一就是"Write programs that do one thing and do it well",每个过程只做一件事情就很关键,"功能单一的自动化模块"是有必要的,把不同的模块拼装起来再去完成更复杂的需求。
Unix 相比 Windows 来说,天生具备可自动化能力。如 Shell/BASH(自动化日常操作)、CronTab(自动化任务调度) 、Expect (自动化交互场景) 、rsync(数据远程同步)等 啊都是一些需要注意的技术内容。
自动化过程一般要有个生命周期,定期升级、优化也是有必要的。面对不同的应用场景应该逐渐改进自动化的可用性。
对于批量的 Linux 安装,RedHat 提供有 Kickstart Installations 自动安装解决方案,不过该方案相对比较繁琐,前不久推出的 Cobbler 是让人眼前一亮的好工具(参见 hutuworm 的介绍文章)。我一直怀疑 Cobbler 是中国人命名的项目,因为 PXE 发音为"pixie"(皮鞋),而 Cobbler 的中文意思是"补鞋匠"。
OS 安装完毕之后的软件安装、更新是个麻烦事。在一个 Linux 的环境中,SA 一定不要为软件相互依赖性浪费太多的时间。什么 YUM、APT、YAST 啊,能用就用上。别太迷信自己编译软件所能带来的优化收益,实际上犯错的几率更大。达到某个规模后,本地建立、维护一个软件资料库(repositories)也是有必要的。
Linux 软件安装进化之路:
手工预编译-->RPM-->APT 等工具
已经进化到更好的阶段了,没必要还走着老路在原地折腾。
其他参考:Flickr 运维曾经采用 System Image 来自动化 Linux 相关的的运维工作。或许也可以尝试一下。
在系统配置管理(别混淆到另一个配置管理上去)方面,其实 cfengine 就挺好用的。更多类似工具参考这个比较列表。
标准化,减少后续维护成本是节省人力资源的一大法门。
必须要承认的是,自动化有的时候是容易带来一些风险的,比如"冲掉"原有配置文件信息,不恰当的自动化脚本给系统带来额外负载等,在运维过程中需要不断总结经验。(又落入俗套)
这方面值得推荐的一本书是《UNIX和Linux自动化管理》,借鉴一下其中的思路和方法。
对了,补充一下前面的《板桥三娘子》的故事发展,三娘子的面饼如果被客人吃下,则会变成驴...... 同样,自动化有的时候会把人陷进去的,运维人不要变成自动化的奴隶。
这个话题还需要继续下去么? 我再想想 ...
相关文章|Related Articles
评论数(2)|添加评论 | 最近作者还说了什么? Follow Fenng@Twitter
本文网址:http://www.dbanotes.net/web/web_operations_automatic.html
DBA Notes 理念: 用简约的技术取得最大的收益...
在解决问题之前,我们先了解其它领域发生的事情。
早在80年代, Token-Ring,FDDI,和Ethernet就进行了一场基础网络的战争,最终的胜利者是Ethernet。在网络协议领域,也同样进行着另一场战争,交战的几方是IPX/SPX,TCP/IP和OSI的舞台,结果是TCP/IP站在了最后。
差不多在同一时代,在基础网络之上,还进行着一场应用网络的战争,分别是存储方面的FC,基础网络的Ethernet和服务主机间的高速通讯InfiniBand。这场战争在2007年有了一个清晰的解决,FC推出FCoE (E=Ethernet) 作为下一代的FC技术标准,这也意味着下一代的FC光纤会采用以太网的技术。InfiniBand组织也推出了面向Ethernet的版本。这也就意味着在应用网络领域,大家都会走向统一的以太网,我们称为Unified Fabric。以太网技术再一次赢得每个人的最后掌声!
在IT系统之外,我们也可以从生活中的实际例子看到类似的趋势。
对于中国铁路系统的动车组这样一个概念已经不陌生了,您知道动车组是怎样达到这样高的速度吗?是不是开发了史无前例的强大动力的发动机,并向现在的火车那样,把它装在最前面,以此牵引后面的车箱快速前进呢?恰恰不是如此,动车组使用了更灵活,更智能化的方式,把动力装置分散安装在每节车厢上,使其既具有牵引力,又可以载客,这样的客车车辆便叫做动车。动车组就是几节自带动力的车辆加几节不带动力的车辆编成一组。这多么像我们计算机系统的并行运算的概念啊!
如果说使用并行工作的方式指示解决了性能问题,还有一座大山等待我们去征服,那就是如何自动化操作。像刚才的例子,我们也从生活中的真实案例去寻找灵感。
您还记得在七八十年代的电话系统吧,那个年代没有程控交换机,所有的线路连接都需要人工完成,接线员要熟记一部电话号码本,才能胜任工作。就像SAN 1.0中需要配置各种路径、存储单元、主机绑定那样,需要绝对依赖管理员的操作。自从程控交换技术发明以来,实现了彻底的自动化,既避免了人为错误,也大幅度的提高了速度。
我们再回到IT,参考IDC发布的未来五年虚拟化技术发展趋势的四大阶层路线图。从最初的虚拟化1.0,以实现资源整合为目标,到虚拟化2.0以减少宕机时间为目标,现在进入到虚拟化2.5以提高动态负载均衡和减少意外宕机为目标,未来的虚拟化3.0则是以实现IT基础设施的彻底的自动化为目标。
根据上面的诸多领域的实际案例里,我们可以总结出什么样的技术才是SAN2.0。
首先,必须以Unified Fabric作为存储网络基础;基于对等技术的并行工作机制,采用对等存储结构,网络和存储具有相等的控制权,可相互动态调配多IO引擎;高灵活性,自我学习来提高适应性;导入虚拟化技术来达至自我优化效果。如果我们用一个实物比较SAN 1.0和SAN 2.0,SAN 1.0就像是早期的运载车,非常强调容量,而SAN 2.0相当于最新的跑车,采用了类似于四轮驱动--并行工作,ABS(车轮自动锁盘系统)的自动懂得自我保护数据措施,新车的自动巡航模式--性能懂得如何自我调优,兼顾了容量和自适应的性能,使得系统永远在线和绝对的灵活性。
我们说了这么多有关SAN 2.0的最新趋势,那么产品和方案在哪里呢?
时光进入到2008年,我们看到了这样的曙光,根据最新的Gartner市场调查数据,戴尔成为开放式外置存储的第一名,戴尔已经取得存储市场的领导地位。
在2008年,戴尔在存储市场保持了强大的投资,首先以存储市场的领导地位引领存储进入SAN2.0;以成熟开放的Ethernet技术推进Unified Fabric目标,把SAN2.0作为简化IT战略的重要一环;收购EqualLogic对等存储技术配合SAN2.0理念;除了产品以外,提供全面虚拟化技术为客户提供完整的解决方案。
当我们面对这个海量数据的时代,我们会自信地说,我们准备好了。
There comes a time in every WordPress release when it’s ready for the world , to come out of its cocoon and feel the light of the world on its wings for the first time.
It’s not quite that time yet, but we’re as close as we’ve ever been, hence the immediate availability of 2.7 Release Candidate 2, or RC2 for short.
Of course if you were already testing 2.7, you can just use the built-in core updater (Tools > Upgrade) to download and install RC2 for you (and later upgrade you to the final release when it’s available) but if not you can use the download link above.
We feel this release is pretty much exactly what we’re going to ship as 2.7, barring any final bugs or polish tweaks that you report or we find.
懈怠一段时间后,终于把网摘从365key搬迁到Google Reader,原来的365key已不再添加新的收藏,如有兴趣请访问和订阅我在Google Reader的分享。在这个space的首页上,也能看到这些网摘。
十二月 2008 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 日 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |