如今在IT工业中,虚拟技术的发展已经蓄势待发,但在Linux集群中却难以成功。Beowulf工程的创始人之一Donald Becker说,这是一件令人遗憾的事情,因为该系统仅提供一个没有任何意义的虚拟选项。
Becker 说,Linux集群系统应该更加注重虚拟技术以及高可行性的发展,并在他的采访中说明了理由。同时他对改用Linux集群的对称多处理用户提出了一些建议。
除了他在Beowulf中的角色以外,Becker 还是Scyld软件的创始人以及主要科学家。他还刚刚加入了本站的专家组,并作为一个特邀专家来回答用户的有关Linux集群以及服务器的问题。
*在Linux集群技术中有什么最新的进展吗?
Donald Becker:现在,集群技术中的发展热点是虚拟技术。两个著名的传统虚拟技术系统是VMWare和Xen.VMWare仿效并模拟个人电脑的硬件设备。这使得它可以在自己的OS中运行几乎所有的操作系统。
然而,虚拟技术发展的一个缺点是它经常暗含、依赖一些大的上层技术。结果,VMWare模仿一些上层技术从而没有什么机会来优化系统。Xen是一个同时运行多个操作系统的系统管理程序。它不是全面的模仿,从而减少了对上层技术的依赖。但是,它仍然需要优化它的核心技术。
*Linux集群上的虚拟技术与其他的方法有什么不同?
Becker:VMWare 和 Xen二者都设想,它们可以运行并全面安装多个内核。运行集群就提供了不被虚拟技术所限制的机会,创造一个仅仅运行应用程序必需条件的轻松环境。当系统服务器有一个任务需要主要的网络终端来完成,这时该计算机终端只需要运行该应用程序,这样就可以提高工作效率,这也正式和传统的虚拟系统的不同之处。
*一些IT实业派说,他们用对称多处理(SMP)系统进行高强度的数据计算。这些技术在移植Linux集群时会遇到那些挑战呢?
Becker:这个问题的答案很大程度的取决于你所运行的应用的应用程序。
最早的进入集群的应用程序的类型是用户参数的执行系统。在该模型中,多个相互独立的应用程序是运行在不同的数据处理机上。
如果对称多处理(SMP)系统被应用是基于它对单进程工作的高效率,Beowulf的集群将是一个不错的替代品。然而,如果对称多处理(SMP)系统是基于共用存储器多进程工作,那么可能致使应用程序的结构复杂化。
一个传统的应用SMP的场合是转换型数据库。这是一个精细通讯及锁定在SMP上运行的特殊情况,但在集群上可以取得同样的结果。所以需要作细致的分析以决定SMP移植进集群是否是可行的。
大部分的程序不能兼容于这两个极端。
*Linux集群能够最终取得高可行性(HA),还是只能保持其固有的复杂性?
Becker:可量测性并不排除其高实用性,所以Linux集群能够取得高的实用性(HA)。高实用性(HA)是基于对商务上的应用程序及数据等的稳定的支持上。计算机程序等的正常运行时间的标准应该在99.999%以上,也就是说一天最多只能有一秒钟的停工。
经典的高效集群配置包括两个服务器,能够分别了解对方的状态并共用一个存储子系统。如果任何一个服务器出现故障,则另一个将会承担所有的工作。高效集群取得稳定的可靠性是通过故障排除、负载平衡、赘余处理以及其他的一些方式来将两台或多台服务器连接在一起,从而减少必然的或偶然的储存损耗并且共用存储设备。
由于它们的绝对容量的限制,大的集群很可能频繁的出现问题,所以就需要设计如何处理这些问题的程序。然而,这种设计不会自动发生,现在市场上的很多工具都没有解决这种问题。设计周全的子系统,例如一些具有很好的管理能力的商业评定的系统,能够处理增加的可量测性。这就意味着测量各种各样的参数并避免那些多如牛毛的问题,这些问题经常发生在一个终端占据了大量的存储页面或系统文件数据而导致其他的终端无法工作时。
*在Linux集群系统中取得高效性有哪些途径呢?
Becker: 在集群系统的配置中,多个服务器在同一系统是通过中央控制点来管理的。这代表高效性状态的一个明显优势,因为有很多服务器可以进入的备份资源,这就允许了 24 x 7的可行性,错误维护,对于分散应用程序的中央管理,对大型数据资源的处理能力以及动态网站出版和灾难修复。
选择一种适当的方法来保证停机期以及重新启动期的数据完整性是十分重要的。不幸的是,不是所有的选择都可以提高可靠性以及保持数据完整性。所以,在工作时合理的选择你的执行程序是很重要的。
一些非商业性的集群系统创造了一个局部的单一系统设想,通过一下方式完成:请求网络虚拟内存;或全球同一的文件系统;或进行一个明晰的系统移植。然而,这种设计无法很好的处理错误问题,因为任何一台终端出现问题时,系统必须花费一定的时间去修复或者停止所有和这台及其关联的程序。
一个好的解决方法是保证集群的主要终端持续运行。对于大的安装系统来说,要保证一个主要终端通过常规的设备备份和灾难恢复;或者同时多个主要终端的方法。换一种说法,计算机终端可以加入或离开集群,而不影响基础系统即使是在它之上的应用程序已经停止的情况下。