【云计算新的基石,微软Dryad分布式并行计算平台解析】 云计算是并行计算
Dryad:MapReduce之外的新思路 目前各大软件巨头都搭建了自己的分布式平台解决方案,主要包括Dryad,DynamoSDMapReduce等框架。2010年12月21日,微软发布了Dryad的测试版本,成为谷歌MapReduce分布式并行计算平台的竞争对手。Dryad是微软构建云计算基础设施的重要核心技术之一,它可以让开发人员在Windows或者,NET平台上编写大规模的并行应用程序模型,并能够让在单机上编写的程序运行在分布式并行计算平台上。工程师可以利用数据中心的服务器集群对数据进行并行处理,当工程师在操作数千台计算机时,无需关心分布式并行计算系统方面的细节。
DryadgDDryadLINO是微软硅谷研究院创建的研究项目,主要用来提供一个分布式并行计算平台。DryadLINO是分布式计算语言,能够将LINQ编写的程序转变为能够在Dryad上运行的程序,使普通程序员也可以轻易进行大规模的分布式计算。它结合了微软Dryad和LINO两种关键技术,被用于在该平台上构建应用。Dryad构建在Cluster Service(集群服务)和分布式文件系统之上,可以处理任务的创建和管理、资源管理,任务监控和可视化、容错,重新执行和调度等工作。
Dryad同MapReduce样,它不仅仅是种编程模型,同时也是一种高效的任务调度模型。Dryad这种编程模型不仅适用于云计算,在多核和多处理器以及异构机群上同样有良好的性能。在VisualStudio 2010 C++有一套并行计算编程框架,支持常用的协同任务调度和硬件资源(例如CPU和内存等)管理,通过WorkStealing算法可以充分利用细颗粒度并行的优势,来保证空闲的线程依照一定的策略建模,从所有线程队列中“偷取”任务执行,所以能够让任务和数据粒度并行。Dryad与上述并行框架相似,同样可以对计算机和它们的CPU进行调度,不同的是Dryad被设计为伸缩于各种规模的集群计算平台,无论是单台多核计算机还是由多台计算机组成的集群,甚至拥有数千台计算机的数据中心,都能以从任务队列中创建的策略建模来实现分布式并行计算的编程框架。
Dryad系统架构
Dryad系统主要用来构建支持有向无环图(Directed Acycline Graph,DAG)类型数据流的并行程序,然后根据程序的要求进行任务调度,自动完成任务在各个节点上的运行。在Dryad平台上,每个任务或并行计算过程都可以被表示为一个有向无环图,图中的每个节点表示一个要执行的程序,节点之间的边表示数据通道中数据的传输方式,其可能是文件、TCPPipe、共享内存
用Dryad平台时,首先需要在任务管理(JM)节点上建立自己的任务,每一个任务由一些处理过程以及在这些处理过程问的数据传递组成。任务管理器(JM)获取无环图之后,便会在程序的输入通道准备,当有可用机器的时候便对它进行调度。JM从命名服务器(NS)那里获得一个可用的计算机列表,并通过一个维护进程(PD)来调度这个程序。
Dryad的执行过程可以看做是一个二维管道流的处理过程,其中每个节点可以具有多个程序的执行,通过这种算法可以同时处理大规模数据。在每个节点进程(VerticesProcesses)上都有一个处理程序在运行,并且通过数据管道(Channels)的方式在它们之间传送数据。二维的Dryad管道模型定义了一系列的操作,可以用来动态地建立并且改变这个有向无环图。这些操作包括建立新的节点,在节点之间加入边,合并两个图以及对任务的输入和输出进行处理等。
Dryad模型算法应用
DryadLINQ可以根据工程师给出的LINQ查询生成可以在Dryad引擎上执行的分布式策略算法建模(运算规则),并负责任务的自动并行处理及数据传递时所需要的序列化等操作。此外,它还提供了一系列易于使用的高级特性,如强类型数据、Visual Studio集成调试以及丰富的任务优化策略(规则)算法等。这种模型策略开发框架也比较适合采用领域驱动开发设计(DDD)来构建“云”平台应用,并能够较容易地做到自动化分布式计算。
我们经常会遇到网站或系统无法承载大规模用户并发访问的问题,解决该问题的传统方法是使用数据库,通过数据库所提供的访问操作接口来保证处理复杂查询的能力。当访问量增大,单数据库处理不过来时便增加数据库服务器。如果增加了三台服务器,再把用户分成了三类A(学生)、B(老师),C(工程师)。每次访问时先查看用户属于哪一类,然后直接访问存储那类用户数据的数据库,则可将处理能力增加三倍,这时我们已经实现了一个分布式的存储引擎过程。
我们可以通过Dryad分布式平台来解决云存储扩容困难的问题。如果这三台服务器也承载不了更大的数据要求,需要增加到五台服务器,那必须更改分类方法把用户分成五类,然后重新迁移已经存在的数据,这时候就需要非常大的迁移工作,这种方法显然不可取。另外,当群集服务器进行分布式计算时,每个资源节点处理能力可能有所不同(例如采用不同硬件配置的服务器),如果只是简单地把机器直接分布上去,性能高的机器得不到充分利用,性能低的机器处理不过来。
Dryad解决此问题的方法是采用虚节点,把上面的A、B、C三类用户都想象成一个逻辑上的节点。一台真实的物理节点可能会包含一个或者几个虚节点(逻辑节点),看机器的性能而定。我们可以把那任务程序分成Q等份(每一个等份就是一个虚节点),这个Q要远大于我们的资源数。现在假设我们有S个资源,那么每个资源就承担Q/S个等份。当一个资源节点离开系统时,它所负责的等份要重新均分到其他资源节点上;当一个新节点加入时,要从其他的节点1偷取2一定数额的等份。
在这个策略建模算法下,当一个节点离开系统时,虽然需要影响到很多节点,但是迁移的数据总量只是离开那个节点的数据量。同样,~个新节点的加入,迁移的数据总量也只是一个新节点的数据量。之所以有这个效果是因为Q的存在,使得增加和减少节点的时候不需要对已有的数据做重新哈希(D)。这个策略的要求是Q>>s(存储备份上,假设每个数据存储N个备份则要满足Q>>SN)。如果业务快速发展,使得不断地增加主机,从而导致Q不再满足Q>>S,那么这个策略将重新变化。
Dryad算法模型就是一种简化并行计算的编程模型,它向上层用户提供接口,屏蔽了并行计算特别是分布式处理的诸多细节问题,让那些没有多少并行计算经验的开发 人员也可以很方便地开发并行应用,避免了很多重复工作。这也就是Dryad算法模型的价值所在,通过简化编程模型,降低了开发并行应用的入门门槛,并且能大大减轻了工程师在开发大规模数据应用时的负担。
通过上述的论述,我们可以看到Dryad通过一个有向无环图的策略建模算法,提供给用户一个比较清晰的编程框架。在这个编程框架下,用户需要将自己的应用程序表达为有向无环图的形式,节点程序则编写为串行程序的形式,而后用Dryad方法将程序组织起来。用户不需要考虑分布式系统中关于节点的选择,节点与通信的出错处理手段都简单明确,内建在Dryad框架内部,满足了分布式程序的可扩展性、可靠性和对性能的要求。
使用Drvad LINO
通过使用DryadLINQ编程,使工程师编写大型数据并行程序能够轻易地运行在大型计算机集群里。DryadLINO开发的程序是一组顺序的L_NQ代码,它们可以针对数据集做任何无副作用的操作,编译器会自动将其中数据并行的部分翻译成并行执行的计划,并交由底层的Dryad平台完成计算,从而生成每个节点要执行的代码和静态数据,并为所需要传输的数据类型生成序列化代码;
LINQ本身是,NET引入的组编程结构,它用于像操作数据库中的表一样来操作内存中的数据集合。DryadLINQ提供的是一种通用的开发/运行支持,而不包含任何与实际业务,算法相关的逻辑,Dryad和DryadLINQ都提供有API。DryadLINQ使用和LINQ相同的编程模型,并扩展了少量操作符和数据类型以适用于数据并行的分布式计算。并从两方面扩展了以前的计算模型(SQL,MapReduce,Dryad等)它是基于,NET强类型对象的,表达力更强的数据模型和支持通用的命令式和声明式编程(混合编程),从而延续了LINQ代码即数据(treat codeas data)的特性。
DryadLINQ使用动态的代码生成器,将DryadLINQ表达式编译成,NET字节码。这些编译后的字节码会根据调度执行的需要,被传输到执行它的机器上去。字节码中包含两类代码完成某个子表达式计算的代码和完成输入输出序列化的代码。这种表达式并不会被立刻计算,而是等到需要其结果的时候才进行计算。DryadLINQ设计的核心是在分布式执行层采用了一种完全函数式的,声明式的表述,用于表达数据并行计算中的计算。这种设计使得我们可以对计算进行复杂的重写和优化,类似于传统的并行数据库。从而解决了传统分布式数据库SQL语句功能受限与类型系统受限问题,以及MapReduce模型中的计算模型受限和没有系统级的自动优化等问题。
在Dryad编程模式中,应用程序的大规模数据处理被分解为多个步骤,并构成有向无环图形式的任务组织,由执行引擎去执行。这两种模式都提供了简单明了的编程方式,使得工程师能够很好地驾驭云计算处理平台,对大规模数据进行处理。Dryad的编程方式可适应的应用也更加广泛,通过DryadLINQ所提供的高级语言接口,使工程师可以快速进行大规模的分布式计算应用程序的编写。
Dryad技术的应用
云计算最重要的概念之~就是可伸缩性,实现它的关键是虚拟化。通过虚拟化可以在一台共享计算机上聚集多个操作系统和应用程序,以便更好地利用服务器。当一个服务器负载超荷时,可以将其中一个操作系统的一个实例(以及它的应用程序)迁移到一个新的,相对闲置的服务器上。虚拟化(Virtualization)是云计算的基石,企业实现私有云的第一步就是服务器基础架构进行虚拟化。基础设施虚拟化之后。接下来就是要将现有应用迁移到虚拟环境中。
Dryad结合Hyper-V(Windows Server 2008的一个关键组成部分)虚拟化技术。可以实现TB级别数据的在线迁移。中小型企业也可以针对企业内部小型集群服务器进行分布式应用系统编程,以及制定私有云开发与应用解决方案等设计。Windows Azure是微软的公有云解决方案,但是目前要大规模应用还为时过早。使用现有Windows第三方产品实现私有云,花费成本却很大。然而Dryad技术给我们带来了不错的折中选择,当我们基于Windows Server台运行应用系统或者网站时,便可以基于Dryad分布式架构来开发与设计实现。当公有云时机成熟和各种条件完备时,系统可以很轻易地升级到公有云,企业而无需花费太多成本。
写在最后
云计算可以看成是网络计算与虚拟化技术的结合,利用网络的分布式计算能力将各种IT资源筑成一个资源池,然后结合成熟的存储虚拟化和服务虚拟化技术,让用户实时透明地监控和调配资源。Dryad是实现构建微软云计算基础设施的重要核心技术之一,其具有诸多优点,如DryadLINQ具有声明式编程并将操作的对象封装为,NET类数据,方便数据操作,自动并行化、VisualStudio IDE和,NET类库集成,自动序列化和任务图的优化(静态和动态(主要通过DryadAPI实现)),对J0in进行了优化,得到了比BigTable+MapReduee更快的Join速率和更易用的数据操作方式等。
不过,Dryad和DryadLINQ也同样具有局限性。其一,它更适用于批处理任务,而不适用于需要快速响应的任务;这个数据模型更适用于处理流式访问,而不是随机访问。其二,DryadLINQ使用的是,NET的LINO查询语言模型,针对运行Windows HPC Server的计算机集群设计,而目前高性能计算市场被Einux所占领。此外,和MapReduce的应用时间和实践相比,Dryad的可靠性还明显不足,据了解除了微软AdCenter中的数据分析和Trident项目之外,其它应用Dryad的地方还很少。不过总的来看,Dryad平台在将来仍具有很广泛的发展前景,尤其对NET开发人员来说是―次很重要的技术革新机遇。
名词解释
任务管理器(Job Manager,JM):每个Job的执行被一个Job Manager控制,该组件负责实例化这个Job的工作图,在计算机群上调度节点的执行;监控各个节点的执行情况并收集一些信息,通过重新执行来提供容错:根据用户配置的策略动态地调整工作图。
计算机群(Cluster):用于执行工作图中的节点。
命名服务器(Name Server,Ns):负责维护cluster中各个机器的信息。
维护进程(PDaemon,PD):进程监管与调度工作。
微软自己的服务器全是 Windows Server 。但 Windows Server 在大型机和大规模集群上面跑不了。所以估计部分机器只能用 UNIX 类系统。记住了:在可口可乐,如果你拿着一瓶百事,你会被立即开除。
一下内容可能需要你有一定的知识才能看懂。
说什么一个收费一个免费都是胡扯。Linux/GNU 的 Free 是自由,而不是免费。商用要看软件协议,免费不免费也要看软件协议。Linux 的操作系统,有的收费,有的不收费。因为他的软件协议是保护你的自由,而不是保护你的钱包。所以有人说 Windows 比 Linux 便宜完全可能,说 Linux 比 Windows 便宜也绝对没错。因为看你用的是什么,怎么用。Linux 的开源使得大家修改他很容易,而且 GPL 协议使得用户也可以获得改进内容再改进再发布。从而使得很多 GPL 协议的软件,会被发展的很大,Linux 内核也因此兼容很多的硬件。病毒在 Windows 的最大问题其实是 Windows 的权限限制太松,导致病毒可以肆意的传播破坏。UNIX 类系统(包括 MAC )的权限管理延续 UNIX 的多用户多终端的管理理念,从开始就管理的很严格。如果不是这个问题,微软也不会一边挨骂一边加入 UAC 了。
操作系统的安全不是系统的问题,也不是用户的事情,而是管理员。但管理员的层次又很是问题。所以,一个默认就很安全的系统和一个默认就很不安全的系统交给同一个水平的管理员,就能体现出差别。但另一个问题是,合格的 Linux 管理员太少,其实连合格 Windows 管理员都不是很多,所以当只能用 Windows ,而且只能用很烂的管理员管理Windows 时,问题就出现了。完整的生态系统要看是什么系统,你肯定不是高端计算机应用领域的人,所以 Windows 的生态适合你。有的时候,简单是一种负担。
Windows Server 不可能运行在 IBM 的 Power 、ORACLE 的 sparc 等架构上。Windows 只能运行在 x86 的系统上。如果微软用了大型机且非 x86 架构,那么就会出现自己的程序运行不了的情况。
同时 Windows HPC 版好像 CPU 支持不是很多,在超多 CPU 上面,Windows HPC 版就不能用了。bind 这东西完全可以用超大规模的负载均衡实现,不是我说的这两个情况。但 bing 的前端防火墙可能是 Linux 的(但这是机房公司的机器,不是微软的)。
大型机和集群是计算机啊,一般办公机也是计算机啊,你难道认为有了大型机,这个公司就不在需要台式机笔记本了?
听说微软的编译服务器用的是 UNIX 。但这是听说,因为微软的所有对外服务器,都是 Windows 。但并不代表微软内部服务器不用 UNIX 类系统。
微软没必要没义务告诉外人他的计算机是怎么用的。所以大家现在都是猜的。
对于微软的状况来说,现在完全用自己的产品是完全可行的。但可能会有部分地方用自己的东西会导致性能、效果、功能的降低或者欠缺。毕竟 UNIX 系统作出来的时候,微软公司还没成立呢。所以微软用部分非自己产品完全是可能的。当然这种情况肯定会越来越少。超级计算机虽然还是 UNIX 类系统的天下,但至少魔方已经可以跑 Windows HPC (传说现在跑的是 SUSE Linux,只有跑分的时候用的是 Windows HPC 版)。
和其他的虚拟机技术环境中不同的是,Hyper-V不能支持内存过分配技术(memory overcommit )。因此,当创建的虚拟机所占用的内存总数大于主机实际的物理内存时,您将无法启动虚拟机。如果您在分配完可用物理内存之后,尝试去启动另外的虚拟机,即 使只是再多分配一台,结果只有一种可能就是返回错误提示信息。
如果在一台服务器环境中,这不会是一个大问题,因为所有的虚拟机启动过程都是由管理员人工管理的。在带有自动故障切换技术的集群环境中,这点就会变成一个 很大的障碍。因此,搭建一个拥有足够的可用物理内存的Hyper-V集群环境就变得非常重要,只有满足这个条件后主机才可以成功的从发生故障的源节点切换 到集群中的可用目标节点。这也就是说,如果在一个拥有两个节点的集群中,一半的物理内存必须预留出来;假如拥有四个节点,就意味着需要预留四分之一的物理 内存,以此类推。
简单错误三:缺少支持CSV(Cluster Shared Volume,即集群共享卷)技术的备份方式
在Windows Server 2008 R2中,微软发布了一项称为Cluster Shared Volume的新技术。它基于现有NTFS格式文件系统基础上,为Hyper-V虚拟机提供特殊功能支持的技术。您可以把这项技术认为是R2版本的一个属 性,使得分布在集群中的多个虚拟机可以同时访问一个共享的LUN。这项新技术解决了集群中的节点失效时,磁盘子系统也作为其一部分而无法工作的情况。允许 必要情况下,虚拟机可以在一个LUN内无缝地迁移。
CSV技术面临一项潜在的挑战,那就是:很少有基于虚拟主机的备份产品可以支持。今天,甚至于 微软的Windows Server Backup也无法实现支持。即使这样,还是有一些像Data Protection Manager 2010(仍然只有测试版本)这样的产品,可以实现对这种工作方式的支持。
简单错误四:对虚拟CPU的过度分配
今天,用户购买带有两个及更多物理CPU的服务器已经很普遍。拥有更多的CPU意味着多线程应用程序可以在多个CPU之间实现负载均衡。或者当其中一个 CPU被某个单线程应用所占用时,还可以使用剩余的CPU来满足其他应用的需求。这就是为什么现在几乎所有的服务器都有至少两个甚至有时是四个或更多 CPU的原因。现在的数据中心工作负载需要配备额外的处理器资源以满足性能以及可用性方面的需求。
在Hyper-V的虚拟化环境中,对虚拟处理器的分配方式是比较特别的。Hyper-V的虚拟机环境中的最佳做法是:在初期只为一台物理机分配一个单独的虚拟处理器,只有在需要的情况下才去分配额外的处理器资源。
虽然表面看起来增加虚拟处理器数量是一个很好的方式,但实际上这种操作反而会由于调度管理上引起的冲突而降低性能。当多个虚拟处理器被分配给虚拟机后, 这些处理器必须通过调度管理的方式,把它们的使用情况跟实际的物理资源对应起来。假设两个虚拟处理器分配给一台虚拟机,hypervisor的调度程序 (scheduler)必须等待对应的两个物理处理器都可用后再去分配虚拟处理器。当在多个虚拟机竞争处理资源时,每个请求的响应时间会变得比普通情况长 得多。当物理处理器的个数少于所有虚拟机中分配的虚拟处理器之和时,情况甚至还会变得更糟。(关于这种情况为什么会产生,您可以参考文章 Microsoft Developers Network site中的Measuring Processor Performanc部分。)
还有,请时刻谨记,管理程序(hypervisor)分配的虚拟处理器需要横跨服务器上所有可用的物理处理器。这样,虚拟处理器才可以充分利用所有可用的物理处理器资源。
一、集群的基本概念有一种常见的方法可以大幅提高服务器的安全性,这就是集群。Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。一个Cluster包含多台(至少二台)拥有共享数据存储空间的服务器。任何一台服务器运行一个应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。Cluster内各节点服务器通过一内部局域网相互通讯。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上任一故障发生时,客户将能很快连接到新的应用服务上。二、集群的硬件配置镜像服务器双机集群中镜像服务器双机系统是硬件配置最简单和价格最低廉的解决方案,通常镜像服务的硬件配置需要两台服务器,在每台服务器有独立操作系统硬盘和数据存贮硬盘,每台服务器有与客户端相连的网卡,另有一对镜像卡或完成镜像功能的网卡。镜像服务器具有配置简单,使用方便,价格低廉诸多优点,但由于镜像服务器需要采用网络方式镜像数据,通过镜像软件实现数据的同步,因此需要占用网络服务器的CPU及内存资源,镜像服务器的性能比单一服务器的性能要低一些。有一些镜像服务器集群系统采用内存镜像的技术,这个技术的优点是所有的应用程序和网络操作系统在两台服务器上镜像同步,当主机出现故障时,备份机可以在几乎没有感觉的情况下接管所有应用程序。因为两个服务器的内存完全一致,但当系统应用程序带有缺陷从而导致系统宕机时,两台服务器会同步宕机。这也是内存镜像卡或网卡实现数据同步,在大数据量读写过程中两台服务器在某些状态下会产生数据不同步,因此镜像服务器适合那些预算较少、对集群系统要求不高的用户。硬件配置范例:网络服务器 两台服务器操作系统硬盘 两块服务器数据存贮硬盘 视用户需要确定服务器镜像卡(部分软件可使用标准网卡) 两块网络服务网卡 两块三、双机与磁盘阵列柜与镜像服务器双机系统相比,双机与磁盘阵列柜互联结构多出了第三方生产的磁盘阵列柜,目前,豪威公司、精业公司等许多公司都生产有磁盘阵列柜,在磁盘阵列柜中安装有磁盘阵列控制卡,阵列柜可以直接将柜中的硬盘配置成为逻辑盘阵。磁盘阵列柜通过SCSI电缆与服务器上普通SCSI卡相连,系统管理员需直接在磁盘柜上配置磁盘阵列。双机与磁盘阵列柜互联结构不采用内存镜像技术,因此需要有一定的切换时间(通常为60?D?D180秒),它可以有郊的避免由于应用程序自身的缺陷导致系统全部宕机,同时由于所有的数据全部存贮在中置的磁盘阵列柜中,当工作机出现故障时,备份机接替工作机,从磁盘阵列中读取数据,所以不会产生数据不同步的问题,由于这种方案不需要网络镜像同步,因此这种集群方案服务器的性能要比镜像服务器结构高出很多。双机与磁盘阵列柜互联结构的缺点是在系统当中存在单点错的缺陷,所谓单点错是指当系统中某个部件或某个应用程序出现故障时,导致所有系统全部宕机。在这个系统中磁盘阵列柜是会导致单点错,当磁盘阵列柜出现逻辑或物理故障时,所有存贮的数据会全部丢失,因此,在选配这种方案时,需要选用一个品质与售后服务较好的产品。硬件配置范例:网络服务器 两台服务器操作系统硬盘 两块第三方生产的磁盘阵列柜 一台磁盘柜专用SCSI电线 两根磁盘阵列柜数据存贮硬盘 视用户需求确定网络服务网卡 两块除此之外,一些厂商还有更优秀的技术的解决方案,比如 HP四、HP双机双控容错系统HP NetServer为双机双控容错系统提供了高品质和高可靠的硬件基础……HP双机双控容错系统结合了HP服务器产品的安全可靠性与Cluster技术的优点,相互配合二者的优势。硬件配置范例:HP L系统的网络服务器 两台服务器操作系统硬盘 两块HP硬盘存贮柜(SS/6,RS/8,RS/12) 一台磁盘柜专用SCSI集群适配电缆 两根磁盘柜数据存贮硬盘 视用户需求确定HP集群专用阵列卡 两块网络服务网卡 两块五、HP光纤通道双机双控集群系统光纤通道是一种连接标准,可以作为SCSI的一种替代解决方案,光纤技术具有高带宽、抗电磁干扰、传输距离远、质量高、扩展能力强等特性,目前在FC-AL仲裁环路上可接入126个设备。光纤设备提供了多种增强的连接技术,大大方便了用户使用。服务器系统可以通过光缆远程连接,最大可跨越10公里的距离。它允许镜像配置,这样可以改善系统的容错能力。服务器系统的规模将更加灵活多变。SCSI每条通道最多可连接15个设备,而光纤仲裁环路最多可以连接126个设备。光纤集群系统组成:
HP光纤集群系统硬件设备包括有两台HP服务器(需支持光纤卡,目前有LC2000、LH3000、LH4、 LH6000、LT6000、LXr8000、LXR8500)及光纤适配卡,可以使用RS/12FC光纤磁盘阵列柜,需另加一对或两对网卡用于心跳检测和与客户端连接。在配置过程中还需另外选配光纤卡到光纤存贮设备的光纤电缆。硬件配置:HPL系统的网络服务器 两台服务器操作系统硬盘 两块HP光纤阵列存贮柜(RS/12FC) 一台光纤磁盘柜专用光纤电缆 两根光纤磁盘柜数据存贮硬盘 视用户需求确定HP光纤适配卡 两块网络服务网卡 两块六、集群的软件配置基于NT平台的集群软件Microsoft的MSCS,也有许多第三方的专业软件公司开发的集群软件,如豪威的DATAWARE,VIN CA公司的STANDBY SERVER,NSI公司的DOUBLE-TAKEMS WolfPack的特点MS WolfPack是MS Cluster server的别称,是 微软针对Cluster技术研制开发的双机软件。它集成在NT SERVER上,支持由二台机器组成的双机系统,提供一种高可用且易管理的应用环境。主要特点:自动检测和修复服务器或应用程序的错误可实现对服务器中应用程序的切换可通过TCP/IP连接各种客户端,如MS-DOS、WINDOWS 3X/9X/NT,Apple Macintosh、UNIX等生产主机无需人工干涉即可自动恢复数据并接管任务易管理性:可自动审核服务器和应用程序的工作状态可建立高可用性的应用程序、文件共享、打印请求等可灵活设置应用程序和数据的恢复策略简单操作即可进行应用程序的离线,重新再线,服务器间的迁移。目前,WINDOWS 2000 Advanced Server与WINDOWS 2000 DataCenter Server都集成有更先进集群技术。其它的网络操作系统平台上也有许多集群软件,比如:基于novell平台的集群软件有Novell HA Server、Novell SFT III基于sco UNIX平台的集群软件有Sentinel集群软件基于Linux平台的集群软件有TurboCluster七、集群技术的发展趋势集群技术随着服务器硬件系统与网络操作系统的发展将会在可用性、高可靠性、系统冗余等方面逐步提高。未来的集群可以依靠集群文件系统实现对系统中的所有文件、设备和网络资源的全局访问,并且生成一个完整的系统映像。这样,无论应用程序在集群中的哪台服务器上,集群文件系统允许任何用户(远程或本地)都可以对这个软件进行访问。任何应用程序都可以访问这个集群任何文件。甚至在应用程序从一个节点转移到另一个节点的情况下,无需任何改动,应用程序就可以访问系统上的文件。在今天,利用服务器的集群技术,通过周密计划和网络维护,系统破坏的机率是非常小的。所以,企业服务器的稳定必须使用集群技术。
超级计算机!微软集群版 windows compute cluster server 2003
这个,就是最容易实现的方法了,它可以像加个U盘一样的添加计算机节点到你的集群计算机系统中,让你的多个电脑合体成为一台更强悍的电脑,Windwos Server 2003 Compute Cluster Edition 是微软在Windwos Server 2003 x64 的基础上开发的一款基于64硬件的可以辅助用户组建网格计算机的操作系统如果你有一台以上的计算机,就可以尝试组建一台你自己的超级计算机。这款操作系统可以集合两台计算机的计算能力,内存和储存空间,可以使你的计算机不管从哪个方面来看都像一台计算机 想象一下你拥有8G内存的电脑将是什么感觉~~
0条评论