中国IT实验室LOGO 首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式 | 存储世界服务器 | 华为 | 网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 活动沙龙 | 论坛
中国IT实验室Linux频道
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> Linux集群 >> 正文

“懒惰”Linux:“懒惰”集群管理员的 11 个秘诀

    集群 对于不同的人有不同的含义。在本文的上下文中,集群最好定义为横向扩展(scale-out)—— 横向扩展集群一般包含大量相同类型的组件,比如 Web 场、表示场和高性能计算 (HPC) 系统。管理员会告诉您,对于横向扩展集群,必须百千次地重复修改,无论修改是多么小;最懒惰的管理员精通横向扩展管理技术,因此无论节点的数量有多少,需要的工作量都是相同的。在本文中,作者将泄露世界上最懒惰的 Linux? 管理员的秘诀。
    自从世界上最快的 500 台计算机清单于 1998 年首次发布以来,Linux 集群已经从科学实验项目发展成了当今超级计算领域的主流技术。实际上,在 1998 年的 Top 500 清单中 Linux 集群只占据一席(一个集群,一个 Linux 操作系统),但是在 2008 年的清单中占据了五分之四(400 个集群,458 个 Linux 操作系统)。

    管理 Linux 集群需要很独特的技能,单一系统或小型连网系统的 IT 管理员往往不具备这些技能。管理 Linux 集群要求管理员深入理解连网、操作系统和体系结构中的所有子系统。

    但是,不仅如此:它还要求采取另一种态度。它要求 “懒惰”。它要求管理员听从 Scrooge McDuck 在 Duckburg 中对侄子们的教导:“工作越巧妙,就越轻松” 。

    在本文中,我们讨论最懒惰的 Linux 集群管理员的一些秘诀。尽管它们并不是真正的秘诀,但是由于某种原因,人们要么不了解这些思想,要么低估了它们的作用。为了纠正这个问题,我们在讨论这些秘诀的同时会解释它们的重要性。

    这些秘诀是:

    1不要开发已有的东西。
    2使用开放源码软件。
    3将所有东西自动化。
    4在设计时就考虑到可伸缩性 —— 从一开始就要计划偷懒。
    5在设计时就考虑到硬件的可管理性。
    6使用出色的集群管理软件 —— 工欲善其事,必先利其器。
    7使用开放源码的监视解决方案。
    8用队列系统控制用户。
    9检验付出所得到的回报 —— 执行基准测试
    10管理集群管理员交流。
    不断寻找更懒惰的办法。
    1. 不要开发已有的东西

    懒惰的 Linux 集群管理员不会开发已有的东西;他们主要依靠别人的成果来完成自己的任务。如果已经有免费的得到良好支持的解决方案,那么浪费时间开发应用程序又有什么意义呢?

    世界上最稀少的东西之一是独创的思想或首次出现的问题,在 Linux 集群环境中尤其如此。很少会遇到在 2004 年出现并且没有解决的问题。这是好事情;您应该相信实际上没有什么问题是不能解决的(从技术上说是这样,但是在政治和社会方面就不一定了)。因此,要接受这个现实:大多数问题都已经被发现、诊断和解决了。

    为了少浪费时间,有经验的管理员会在以下方面多花些时间:

    ●研究现有的解决方案并根据自己的需要采用它们。牛顿在评价自己的成就时曾经引用 Bernard of Chartres 的话说,他是站在 “巨人的肩膀上”。如果他没有首先尝试理解欧几里得原理,就不可能建立自己的理论体系,但是这并不会抹杀他的成就。
    ●对开放源码项目做贡献或进行定制,而不是重新发明已经存在的东西 —— 他完全明白,如果自己编写软件,那么在他跳槽时很可能会留下一个烂摊子,因为没有别人了解他写的软件。
    我们并不想扼杀您的创造力 —— 其实正好相反。利用别人已经完成的成果会帮助您进入更高的层次,这会使您的环境比其他组织的 IT 环境更出色更高效。

    2. 使用开放源码软件

    我们认识的最成功的 Linux 集群管理员都非常了解当前的开放源码项目。他们是邮件列表的积极参与者,当在网络上搜索时会发现他们的名字常常与热门的项目联系在一起。他们常常在 http://sourceforge.nethttp://freshmeat.net 上寻找感兴趣的新项目。

    开放源码工具的性质使它们的寿命很长,对于流行的工具尤其如此。例如,尽管 Ganglia、Nagios 和 TORQUE 等工具已经存在很长时间了,但是仍然有不少人在使用它们。它们很出色,能够帮助管理员节省软件成本并避免许可协议的限制。

    最懒惰的集群管理员的另一个特点是,他们对开放源码运动都非常热心,愿意在自己的工作中使用开放源码软件。他们可能在家里建立自己的 Web 服务器,或者在 Linux 笔记本计算机上运行应用程序。您会发现最懒惰的 Linux 管理员除了在工作中负责管理的集群之外,在他们生活中的其他方面也常常运行 Linux,包括 Pidgin 和 Firefox 等各种软件。

    3. 将所有东西自动化

    在命令行上使用脚本和其他快速工具在 Linux 管理员的工作中占很大部分。脚本(只要不是重新发明任何东西)有两个优点:

    ●最显著的优点是,它节省了输入命令的时间,提供可重复执行的命令模式。
    ●第二个优点是,它可以说明本身的用途,便于以后重用。
    我们常常发现,有经验的管理员会在自己的计算机上用专门的目录存储他们编写的脚本。这些脚本的用途五花八门,从检查节点上的防火墙版本到映射 InfiniBand 集群中的 GUID。

    非常适合使用脚本的一种情况是生成操作系统映像(无论是无状态的还是有状态的)。如果管理员有一个 “黄金映像”,需要把它传播到系统中的每个计算节点,那么他应该了解其中包含的内容。创建此映像的脚本就是最好的文档,因为它精确地解释了执行的操作,而且是可重复执行的。如果没有构建映像的脚本,就会发生映像膨胀,导致占用的空间增加和系统速度下降。

    我们常常遇到一些组织有黄金映像,他们自 2000 年以来一直使用这些映像。最大的原因是:他们不知道如何重新构建它。第二个(可能更重要的)原因是:他们的应用程序已经在此映像上测试和 “认证” 过了。认证 是经常会遇到的词,但是它的定义与云计算 一样含糊不清(顺便说一句,“云计算” 这个词汇不是专利,也不是商标词)。

    应该把工作自动化的原因是:避免工作比实际做工作需要更多的脑力。懒惰的 Linux 集群管理员不会做那些让他们的脑子变得迟钝的工作。如果您不得不在集群中的每台计算机上启动 ssh 并运行一个命令,那么您就是不够懒。对节点执行的所有命令都应该通过并行命令或过程自动执行。如果硬件厂商没有提供自动化的 Linux 工具来更新 BIOS 或刷新子系统,那么在考虑成本时要算上这个因素。

    我们的前一篇文章 ““懒惰” Linux 管理员的 10 个关键技巧” 中的技巧 8 和技巧 10 讲解了我们常用的几种命令行脚本编程技术。还有其他许多方法,而且其中一部分可能效率更高,这些技巧只是提供一个思路,促使您思考脚本可以完成哪些工作。

[1] [2] [3] [4] [5] 下一页

【责编:Zenghui】
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·PHP之入门到精通
 ·GNU详细解析
 ·Android平台开发指南
 ·中国Linux内核开发者大会
 ·LDAP服务器运用专题
 ·解密SELinux安全系统设计
 ·lvm-linux逻辑磁盘卷管理专题
 ·从无到有--理解系统引导过程
 ·Fedora中文频道
 ·新手入门:虚拟机上的Linux应用攻略
 今日更新
 认证培训
 频道精选
 Windows频道导航