操作系统原理 教学课件 作者 周苏 教学课件 第16章 分布式处理、客户 服务器和集群系统.pptVIP

操作系统原理 教学课件 作者 周苏 教学课件 第16章 分布式处理、客户 服务器和集群系统.ppt

  1. 1、本文档共124页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
表16-2 集群方法:优点和缺陷 16.5.1 集群的配置 一种较早的通用方法是被动等待,它非常简单,让一台计算机进行所有的负载处理,而其他计算机则处于非活跃状态,等待主机出现故障时来接管。为了协调所有机器,活跃系统(或主系统)周期性地向等待机器发送“心自跳”消息。当这些消息不再到达时,等待机器就锁定主服务器已发生故障,并启动自身的操作。这种方法增加了可用性,但并未提高性能。而且,如果在两系统之间交换的仅有信息是一个“心跳”消息,且如果两系统并不共享公共的磁盘,则等待机器提供了一个功能的备份,却没有对由主机管理的数据库进行访问。被动等待模式一般不认为是集群。 16.5.1 集群的配置 集群是指多台互联的计算机,所有计算机都处在处理状态,对外部世界保持一个单一系统映像。活跃从机就指这种配置。可以定义三种集群方法:独立服务器、不共享和共享存储器。 16.5.1 集群的配置 作为集群的一种方法,每台计算机都是一台独立服务器,具有自己的磁盘,但系统之间没有共享的磁盘,见图16-15 a)。这种安排方式提供了高性能和高可用性,它需要某种类型的管理或调度软件来将客户请求分派给服务器,以达到负载平衡和获得较高利用率的目的。这种方法非常需要故障转移能力,即当某台计算机在执行一个应用程序时发生了故障,集群中的另一台机器可以接替该计算机片完成该应用。为了达到这一目的,数据必须经常地在系统之间进行复制,这样,每个系统访问的才是其他系统的当前数据。由于数据交换产生了一些开销,从而以性能的降低为代价保障了系统的高可用性。 16.5.1 集群的配置 为了减少通信开销,现在的很多集群都是由连接到公共磁盘的服务器组成的,见图16-15 b)。这种方法带来的变化简单地称为不共享。公共磁盘被分成若干卷,每个卷由一台计算机占用,如果一台计算机发生故障,则集群必须重新配置,使其他计算机拥有对发生故障的计算机的卷的所有权。 让多台计算机同时共享相同的磁盘也是可以的,称为共享磁盘方式,这样,每台计算机具有对所有磁盘上的所有卷的访问权。这种方法需要使用某种类型的上锁机制,以确保数据在某一时刻只能被一台计算机访问。 16.5.2 操作系统的设计问题 完全开发集群硬件配置需要增强单系统操作系统的某些功能。 故障管理 集群怎样管理故障取决于所使用的集群方法。总的来说,有两种方法可以用于处理故障:高度可用的集群和容错集群。一个高度可用的集群能以较高的概率使所有资源用于服务。如果真的发生故障,例如某一系统停机或丢失了一个磁盘卷,则正在进行的询问将丢失。如果执行重试操作,那么任何丢失的询问将由集群中的另一台计算机来服务。然而,集群操作系统并不保证事务的部分执行状态。这将需要在应用级进行处理。 16.5.2 操作系统的设计问题 容错集群保证所有资源总是可用的。这可以通过使用冗余共享磁盘和取消未完成事务及接受已完成事务的机制来完成。 将应用程序和数据资源从发生故障的系统交换到集群中另一系统上的功能称为故障转移。相关的一个功能是,一旦原系统已被修复,则将应用程序和数据资源恢复到原来的系统,这称为故障恢复。故障恢复可以自动进行,但只有在问题真的被修复且不会再发生时,才是真正的故障修复。否则,自动故障恢复可能导致后续发生故障的资源在计算机之间来回反弹,从而导致性能和恢复问题。 16.5.2 操作系统的设计问题 负载平衡 集群需要在可用的计算机之间平衡负载的有效能力,当集群规模扩大时也要求执行负载平衡。当一台新的计算机加入集群时,负载平衡机制应能够自动地在应用调度时包括这台计算机。中间件机制需要识别出可以出现在集群中的不同成员上的服务,并且可以将服务从集群中的一个成员转移到另一个成员上。 16.5.2 操作系统的设计问题 并行计算 在某些情况下,对集群的有效使用要求并行地执行一个单一应用的软件。有三种解决该问题的常用方法: 并行编译器:并行编译器在编译时决定了应用程序的哪一部分可以并行地执行。这些部分然后被分开,分派到集群中的不同计算机上。性能取决于问题本身及编译器设计的好坏。 并行应用:在这种方法中,程序员在编写应用程序时,从开始到运行的过程中都要考虑在需要的时候,使用消息传递机制,将数据在集群的不同节点上移动。这将给程序员带来很重的负担,但这也许是针对某些应用程序开发集群的最好方法。 16.5.2 操作系统的设计问题 参数计算:在这种方法中,应用程序基本上是一个必须执行多次的算法或程序,而每次都有不同的条件或参数。仿真模型是一个很好的例子,它将运行大量不同的场景并开发结果的统计摘要。为了使这种方法更加有效,需要参数处理工具来按照顺序组织、运行和管理作业。 16.5.3 集群计算机的体系结构 图16-16给出了一个典型的集群体系结构。独立的计算机通过某种高速局域网或

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档