




免费预览已结束,剩余116页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件实现Linux 集群文件系统简介关 键 词:Linux阅读提示:通常,集群只是一组作为单一系统运行的服务器(PC 或者工作站)。但是,这个定义的外延不断显著扩大;集群技术现在不但是一个动态领域,而且其各种应用程序正不断吸收新的特性。此外,集群文件系统技术(无论是开放源代码的还是专有的)在其功能方面正在迅速趋同。 集群应用程序简介 集群应用程序具有各种级别的成熟度和功能。它们包括: 高性能 集群也称为并行集群或计算集群,通常用于那些支持大量计算处理的系统。在这些集群中,并行文件系统在节点间分配处理资源,因而允许每个节点通过并发的读写同时访问同一文件。NASA 在二十世纪九十年代初期开发的 Beowulf Linux 集群就是最常见的示例。 高可用性 (HA) 集群专门为容错或冗余而设计。因为这些集群通常使用一个或多个服务器进行处理,所以当一个或多个服务器停机时,这些服务器能够承担其他服务器的处理职责。 负载平衡 或负载均衡 集群在多个服务器(通常是 web 服务器)间尽可能平均地分配负载。 存储 集群用于 SAN 和具有不同操作系统的服务器之间,提供对通用存储介质上的数据块的共享访问。 数据库 集群将 Oracle RAC 作为平台,把许多集群文件系统特性引入到应用程序本身中。这些集群应用程序具有重叠的特性,其中一个或多个特性通常可在单个集群应用程序中找到 尤其是在 HA 和负载均衡集群中。例如,Oracle RAC 可以安装在 HA 集群文件系统上,从而将数据库集群的优点引入 HA 集群应用程序,如: 共享资源 包括数据、存储器、硬盘和元数据 从而使多个节点看上去就像单一文件系统。它们允许集群的所有成员同时读写文件系统。 将存储设备集合到单个磁盘卷中,从而因无需进行数据复制而提高了性能 可伸缩的容量、带宽和连接性 单个系统映像,为所有节点提供相同的数据视图。现在让我们来看一些可以选用的支持 Oracle RAC 并具有集群感知的 Linux 文件系统,以及它们如何完善 Oracle RAC 的功能。 可以运行 Oracle 的集群文件系统 Oracle RAC 技术已经提供了诸如负载均衡、冗余、故障切换、可伸缩性、高速缓存和锁定等特性,因此当 Oracle 数据文件位于安装有传统 Linux 文件系统(如 ext2/ext3)的块设备上时会出现功能的重复。在这种情况下性能降低了,因为 Oracle 和文件系统的高速缓存消耗了内存资源。 到写本文时为止,除了第三方集群文件系统之外,还有四种可选用的运行 Oracle RAC 的文件系统。按 Oracle 的推荐顺序,它们依次为: 1. Oracle 自动存储管理 2. Oracle 集群文件系统 3. 网络文件系统 4. 原始设备。Oracle 自动存储管理 (ASM) Oracle 的一个特点就是,无论它在哪种环境中运行,一旦您获得一个 Oracle API,则所有的外观、体验和操作都相同。Oracle ASM是 Oracle 数据库 10g 的一个特性,它将这种一致的环境扩展到存储管理方面,使用 SQL 语句、Oracle Enterprise Manager 网格控制或数据库配置助手程序来创建和管理存储内容和元数据。将 ASM 用于 Oracle 数据库 10g 数据文件存储被认为是最佳方法。 ASM 中的基本数据结构是磁盘组,它由一个或多个磁盘组成。在该语境中,“磁盘”可以是一个磁盘分区、一个完整的磁盘、一个级联磁盘、一个存储设备的分区或者一个完整的存储设备。 一定要认识到,ASM 并非通用集群文件系统。相反,ASM 是一个具有集群感知的文件系统,专门为处理 Oracle 数据库文件、控制文件和日志文件而设计。ASM 不应与逻辑卷管理器 (LVM) 共用,这是因为后者会使 ASM 无法识别磁盘。 ASM 执行以下功能: 通过磁盘头中的 ASM ID 识别磁盘。 在磁盘组中的所有存储器间动态分配数据,提供可选的冗余保护,并且具有集群感知能力。 允许在 Oracle 数据库处于完全运转状态时进行主要的存储操作 无需停机即可添加、删除、甚至将磁盘组移到新的存储阵列(尽管少见) 当添加或删除磁盘时,进行自动负载均衡和重新均衡 通过使用故障组,提供额外的冗余保护 优化存储资源的使用。 当安装在原始设备或者安装在 Oracle 所推荐的那些使用 ASM 库驱动程序的块设备上时,ASM 自身作为实例来运行,该实例先于数据库实例启动。它使 DBA 能够创建、扩展和缩小磁盘,并将这些变化映射到共享访问这些组的其他节点上的磁盘组。数据库实例能够在集群的多个节点间共享存储器的集群池。 ASM 由 Oracle 通用安装程序安装。如果将 ASM 添加到一个现有的数据库中,则要确保将数据库设置为从属于 ASM 实例,以便在启动时 ASM 实例先于所从属数据库启动。例如: $ srvctl modify instance -d O10G -i O10G1 -s +ASM1 使 o10G1 实例从属于 +ASM1 实例。 ASM 实例与 Oracle 数据库实例的区别表现在以下几方面: 1. 尽管可以使用几个 V$ 视图来获得关于 ASM 实例的信息,但没有数据字典:V$ASM_DISKGROUP、V$ASM_CLIENT、V$ASM_DISK、V$ASM_FILE、V$ ASM_TEMPLATE、V$ASM_ALIAS 和 V$ASM_OPERATION。 2. 您只能以 SYSDBA 或 SYSOPER 连接 ASM 实例。 3. 有五个初始化参数用于 ASM 实例,其中 INSTANCE_TYPE 是必要的,并应该设置如下:INSTANCE_TYPE = ASM。在 ASM 实例中,DBA 可以使用 SQL 语法或 Enterprise Manager 来: 1. 使用一个或多个磁盘为存储池定义一个磁盘组 2. 在磁盘组中添加和删除磁盘 3. 定义一个故障组 来增加数据冗余保护。通常这是磁盘组中一系列需要不间断运行的磁盘,它们共享一种共用资源,如控制器。可以通过 Enterprise Manager 或通过 V$ASM 视图监视 ASM 磁盘组的状态。您还可以在创建数据库结构时在一个数据库实例中引用它们来分配存储器。 当您创建表空间、重做日志、归档日志文件和控制文件时,通过在初始化参数或者在 DDL 中指定磁盘组,您可以从数据库实例中引用 ASM 磁盘组。 有关 ASM 的更多详细信息,请参见 Lannes Morris-Murphy 的 OTN 文章“自动的存储”、Arup Nanda 的“Oracle 数据库 10g:为 DBA 提供的最重要的 20 个特性”中的 ASM 部分以及 Oracle 数据库管理员指南 10g 第 1 版 (10.1) 的第 12 章。 Oracle 集群文件系统 (OCFS) OCFS 专门为支持 Oracle RAC 应用程序的数据和磁盘共享而设计。它在 RAC 集群的服务器节点间提供一致的文件系统映像,充当原始设备的替身。除了简化集群数据库管理外,它还在保持原始设备性能优势的同时克服了原始设备的局限性。 OCFS 第 1 版支持 Oracle 数据文件、spfile、控制文件、仲裁磁盘文件、归档日志、配置文件以及 Oracle 集群注册表 (OCR) 文件(Oracle 数据库 10g 中的新文件)。设计它不是为了使用其他文件系统的文件,甚至不是为了使用那些必须在集群每个节点上安装的 Oracle 软件 除非您使用第三方解决方案。此外,OCFS 不提供诸如 I/O 分配(分割)等 LVM 功能,也不提供冗余功能。 Oracle 支持用于 32 位和 64 位发行版本的 Red Hat Advanced Server 2.1、Red Hat Enterprise Linux 3 和 Novell SUSE (United Linux) 上的 OCFS 第 1 版中的 Oracle 数据库,该数据库需要从可下载的二进制文件进行安装。如果您自己对其进行重新编译,则 Oracle 不提供支持。 有三种不同的 rpm 程序包: OCFS 内核模块,针对 Red Hat 和 United Linux 的分发版本各不相同。请认真验证您的内核版本: $ uname -a Linux linux 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown OCFS 支持程序包 OCFS 工具程序包。当您下载了这些 rpm 程序包后,执行以下安装步骤: 1. 在下载了 rpm 程序包的目录中执行 rpm -Uhv ocfs*.rpm 命令安装这些程序包。 2. 确认已启用引导时自动挂载。 3. 自动使用 ocfstool 在集群中的每个节点上配置 OCFS。还可以使用手动配置方法,详情请见 OCFS 用户指南。这一步骤的最后结果是创建了 /etc/ocfs.conf 文件,用于配置 OCFS。 4. 运行 ocfs load_ocfs,确保在启动时加载 OCFS。 5. 使用 ocfstool 命令和 GUI 环境或 mkfs.ocfs 来格式化 OCFS 分区。 6. 手动挂载 OCFS 分区,或者在 /etc/fstab 中添加一项来实现自动挂载。因为 OCFS 第 1 版没有编写成符合 POSIX 标准,所以诸如 cp、dd、tar 和 textutils 等文件命令需要 coreutils 提供一个 O_DIRECT 开关。该开关使这些命令能够如同预期那样用于 Oracle 数据文件,即使 Oracle 正在对这些相同的文件进行操作(只有当您运行第三方软件进行热备份时才会出现问题)。使用 RMAN 可以完全避免这个问题。如果您仍然需要使用这些功能来完成各种维护任务;可以从 /projects/coreutils/files 下载能够实现这些命令的 OCFS 工具。 相反,OCFS 第 2 版(到 2005 年 3 月时仍为测试版)符合 POSIX 标准,并且支持 Oracle 数据库软件,它可以安装在一个节点上并在集群的其他节点间共享。除了共享的 ORACLE_HOME 外,OCFS 第 2 版的其他新特性还包括改进的元数据数据高速缓存、空间分配和锁定。此外还有改进的日志和节点恢复功能。 网络文件系统 (NFS) 虽然 ASM 和 OCFS 是 Oracle RAC 的首选文件系统,但 Oracle 还支持经过认证的网络文件服务器上的 NFS。NFS 是分布式文件系统,本文不对其作全面讨论。有关更多信息,请访问 NFS 主页。 原始设备 过去有一段时间内,原始设备是运行 Oracle RAC 的唯一选择。原始设备就是一个没有安装文件系统的磁盘驱动器,可以被分成多个原始分区。原始设备允许绕过文件系统缓冲区高速缓存直接访问硬件分区。 要让 Oracle RAC 使用原始设备,必须在安装 Oracle 软件之前通过 Linux raw 命令将一个块设备绑定到该原始设备: # raw /dev/raw/raw1 /dev/sda/dev/raw/raw1:bound to major 8, minor 0# raw /dev/raw/raw2 /dev/sda1/dev/raw/raw2:bound to major 8, minor 1# raw /dev/raw/raw3 /dev/sda2/dev/raw/raw3:bound to major 8, minor 2在绑定后,您可以使用 raw 命令来查询所有原始设备。 # raw -qa/dev/raw/raw1:bound to major 8, minor 0/dev/raw/raw2:bound to major 8, minor 1/dev/raw/raw3:bound to major 8, minor 2major 和 minor 数值确定了该内核的设备位置和驱动程序。major 数值确定了总的设备类型,而 minor 数值确定了属于该设备类型的设备数量。在上述示例中,major 8 是 SCSI 磁盘 /dev/sda 的设备类型。 请注意,设备不需要处于可访问状态即可运行上述命令。当我为了演示而运行上述命令时,我的系统没有连接任何 SCSI 磁盘。这些命令的效果在我下一次重新启动后将会消失,除非我将这些命令放在类似 /etc/init.d/boot.local 或 /etc/init.d/dbora 的引导脚本中,每当我的系统引导时,就会运行这些脚本。 在将块设备映射到原始设备后,您仍然需要确保原始设备属于 oracle 用户和 oinstall 组。 # ls -l /dev/raw/raw1crw-rw- 1 root disk 162, 1 Mar 23 2002 /dev/raw/raw1# chown oracle:oinstall /dev/raw/raw1# ls -l /dev/raw/raw1crw-rw- 1 oracle oinstall 162, 1 Mar 23 2002 /dev/raw/raw1然后您可以在 Oracle 数据文件与原始设备之间使用符号链接,以便使事情更易于管理。 Linux 内核 2.4 版中的原始设备限制中包括每分区一个原始设备的限制和每系统 255 个原始设备的限制。Novell SUSE Enterprise Linux 带有 63 个原始设备文件,但可以使用 mknod 命令(需要有根权限)创建最多 255 个原始设备。 # ls /dev/raw/raw64ls:/dev/raw/raw64:No such file or directory# cd /dev/rawlinux:/dev/raw # mknod raw64 c 162 64# ls /dev/raw/raw64/dev/raw/raw64以上的 mknod 命令需要设备名、设备类型以及 major 和 minor 数值。本示例中的设备名是“raw64”,设备类型是“c”(表示它是一个字符设备)。该新设备的 major 和 minor 数值分别是 162 和 64。另外,Novell SUSE 用户可以通过运行 orarun rpm 来安装这些设备。 使用原始设备的其他缺点包括: 一个磁盘的原始分区数量限制为 14。 不支持 Oracle 管理文件 (OMF)。 无法重新调整原始设备分区的大小,因此如果空间不足,则必须创建另一个分区来添加数据库文件。 原始设备显示为未使用空间,这可能导致其他应用程序将其覆盖。 向原始设备进行写操作的唯一方法是使用低级命令 dd,该命令在设备或文件之间传输原始数据。但是,您需要格外小心,确保恰当协调内存和磁盘上的 I/O 操作。 一个原始分区只能拥有一个数据文件、一个控制文件或一个重做日志等等。如果您不使用 ASM,则您需要为每个与表空间关联的数据文件提供一个独立的原始设备。但是,一个表空间可以在不同的原始设备分区中拥有多个数据文件。结论 Oracle RAC 提供了一个文件系统(集群的或非集群的)所具有的很多功能,最大程度地减轻了文件系统本身的工作。如前所述,所需要的只是一个对 Oracle RAC 现有的、内在的数据库集群功能进行补充的文件系统。尽管 OCFS、NFS 和原始设备也可能是可行的方法,但在大多数情况下,ASM 会最大程度地实现这一目的,从而被视为 Oracle 的最佳实践。还可以将 ASM 用于数据文件,OCFS 用于表决磁盘、OCR 和 Oracle 主目录,以及在 NFS 存储器上使用 ASM。 将来我们还可以期待另一个方法,就是 OCFS 第 2 版能够使用共享的 Oracle 主目录,从而完善 ASM 上的共享存储器。 Linux集群的资源管理和系统管理阅读提示:本文介绍集群系统中的资源管理主要任务和系统管理主要任务,然后列举并比较了几种常用的资源管理软件和系统管理软件。 本文介绍集群系统中的资源管理主要任务和系统管理主要任务,然后列举并比较了几种常用的资源管理软件和系统管理软件。1 集群作业管理从用户角度看,集群系统就好像一台服务器或者PC。很多用户可以同时使用这个系统。但是当太多的用户使用集群系统时,系统性能会变得很差。资源管理就是管理用户提交的作业,合理给各个作业分配资源从而确保充分利用集群系统计算能力并尽可能快的得到运算结果。简单的说,集群资源由实现如下几个部分: 资源管理器:为了确保分配给作业合适的资源,集群资源管理需要维护一个数据库。这个数据库记录了集群系统中各种资源的属性和状态、所有用户提交的请求和正在运行的作业。策略管理器根据这些数据和指定的调度策略生成优先级列表。资源管理器根据这个优先级列表调度作业。资源管理器还应该具有资源预留能力。这样不仅可以保留强大的资源给需要的作业,而且可以预留一定的冗余资源以应付集群中的结点失效和突发的计算。 作业调度策略管理器:策略管理器根据资源管理器得到各个结点上的资源状况和系统的作业信息生成一个优先级列表。这个列表告诉资源管理器何时在哪些结点上运行哪个作业。策略管理器不仅要提供一个复杂的参数集合去定义计算环境和作业,而且要为这个定义提供简捷灵活的表达方式以允许系统管理员实现策略驱动的资源调度。2 Beowulf集群中的作业管理软件有很多种选择去管理集群系统中的资源。其中PBS资源管理器和Maui作业调度器最适合集群系统。2.1 PBSPBS(Portable Batch System)是由NASA开发的灵活的批处理系统。它被用于集群系统、超级计算机和大规模并行系统。PBS主要有如下特征: 易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求,灵活的作业调度器允许不同系统采用自己的调度策略。 移植性:符合POSIX 1003.2标准,可以用于shell和批处理等各种环境。 适配性:可以适配与各种管理策略,并提供可扩展的认证和安全模型。支持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚拟组织。 灵活性:支持交互和批处理作业。OpenPBS( http:/www.OpenPBS.org/)是PBS的Open Source的实现。商业版本的PBS可以参照: /。 2.2 MauiMaui 是一个高级的作业调度器。它采用积极的调度策略优化资源的利用和减少作业的响应时间。Maui的资源和负载管理允许高级的参数配置:作业优先级(Job Priority)、调度和分配(Scheduling and Allocation)、公平性和公平共享(Fairness and Fairshare)和预留策略(Reservation Policy)。Maui的QoS机制允许资源和服务的直接传递、策略解除(Policy Exemption)和指定特征的受限访问。Maui采用高级的资源预留架构可以保证精确控制资源何时、何地、被谁、怎样使用。Maui的预留架构完全支持非入侵式的元调度。Maui的设计得益于世界最大的高性能计算中心的经验。Maui本身也提供测试工具和模拟器用于估计和调节系统性能。Maui需要资源管理器与其配合使用。我们可以把Maui想象为PBS中的一个插入部件。更多Maui的信息可以访问: / 3 集群系统管理从系统组成角度说,集群系统是由多台计算机组成的超级计算机。但是从最终用户看来,集群系统是一台计算机,也就是说,集群系统的构成对用户是透明的。所以集群系统的管理的目的就是让集群系统象一台计算机一样利于管理。归纳起来,集群系统管理一般完成如下任务:3.1 资源管理简单地说,资源管理就是分配系统的资源和监控系统资源的使用状态。这里的资源是个很广泛的概念,各种硬件设备、数据和程序都可以看成资源:如CPU、存储、网卡,甚至系统的事件和log。3.2 事件服务事件(Event)就是系统的状态的一次变化。如CPU的利用率超过90%就可以理解为一次事件。简单的说,事件服务就是事件通知服务,也就是当一次事件发生时,通知对这类事件感兴趣的个体这个事件发生了。事件服务可以分为Push(也称为Subscribe-Publish)和Pull方式。系统管理员还应该能够通过事件服务设置系统对事件的自动响应。3.3 分布式命令和文件分布式命令和文件是指让命令和文件操作同时在整个集群结点或指定的一组结点上并行执行。分布式命令功能通常通过分布式的Shell来提供。这种Shell一般叫做dsh(distributed shell)或 psh ( parallel shell)。你可以通过rsh或ssh来实现分布式Shell。分布式文件主要用于指集群中配置文件的同步。集群系统实际上是由多个结点组成,所以对集群系统的一个配置需要发布到每个结点(或一组结点)。比如,需要配置每个结点上的Apache都支持CGI,就需要把/etc/httpd下的配置文件发布到每个结点的/etc/httpd中。简单地说,集群系统地配置管理就是把一个或多个配置文件发布到指定的结点上。有很多开放源码的工具可以帮助完成集群系统的分布式文件功能,如rdist和cfengine。3.4 监控和诊断对持续运行的集群系统而言,当系统正常运行时,你需要一些工具监控系统各部分的运行状态,如系统进程、CPU利用率和内存利用率等。在普通的Unix系统上,你可以简单的用ps和top实现这些功能。但是在集群系统中,你确实需要一些特殊工具,而且最好系统的监控可以支持多种网络管理协议,如SNMP和 WBEM。当集群系统工作不正常时,你则需要另外一些工具来协助系统诊断。如当系统某个不服务时,你可能需要用ping诊断是不是网络出了问题。而当时多个结点服务时,你则需要并发的ping来诊断是不是网络错误。3.5 硬件控制PC机上很简单的管理功能对于集群系统而言可能会很难做到。比如让一组结点重启,就很难手工完成。所以集群系统需要一些特殊的硬件设备完成这些功能。下面是几个需要硬件支持特殊管理功能: 远程电源管理:主要是远程关闭、打开和重启结点与查询结点电源状态。在IBM eServer Cluster 1300中采用ASM。 远程控制台:当远程结点出现问题或出现一些特殊的软件需要时,需要直接登录到结点上完成操作。KVM Switch可以满足这种需求,但是当结点很多时,KVM Switch就会很复杂。而且KVM Switch需要手工切换,不能通过软件方法使用。Terminal Server克服了KVM Switch的缺点。Terminal Server与结点的串口相连,并把串口虚拟成管理结点上终端设备,当然这需要对结点的操作系统做些相应的配置。3.6 系统安装集群系统的安装主要是指在各个结点上安装操作系统、文件系统、并行程序运行库、作业管理软件和系统管理软件等。它是集群系统投入应用的前提,所以集群系统的安装是一件非常重要的任务。一般集群系统由几十台,甚至上百上千台计算机组成,显然手工安装系统几乎是不可能的。一般集群系统的安装的机制是:1. 网络启动:设置需要的安装的结点网络启动,然后管理结点远程重启需要安装的结点。网络启动的结点启动后从启动服务器获得一个小的操作系统内核。网络启动一般采用Intel的PXE(Pre-Execution Environment)标准。 PXELinux是支持PXE的网络启动服务器。它可以在网络启动的结点启动一个小的Linux核心并运行指定的Init程序。由Init程序负责后续的安装。 2. 网络安装:这个操作系统内核负责从安装服务器(通常是一个文件服务器)上取得安装软件包或系统镜像并在本地实施系统安装。有多种Linux工具可以完成基于网络的系统安装。这些工具中的典型代表是:KickStart、ALICE (Automatic Linux Installation and Configuration Environment)、SIS(System Install Suite)和PartImage。这些工具可以分为如下几类: 1. a. 基于Script的安装:这种安装方式中,安装过程由安装脚本(Script)控制,可以通过修改安装脚本来配置安装过程。这种安装方式中,安装服务器实际上是一个文件服务器,它向结点提供要安装的软件包。除了软件包不是来自本地外,这种安装方法和本地安装并没有太大的区别,本地安装的各个步骤(配置硬件、安装软件包、配置系统等)它都要经过。KickStart属于这中安装方法。基于Script的安装比较灵活,但是它是操作系统依赖型的。象 KickStart只支持Redhat Linux。 2. b. 基于Imaging的安装:和基于Script的安装不同,基于Imaging的安装并不需要经过本地安装的各个步骤。它只需要把存储在文件服务上的需要安装的系统映象(Image)拷贝到本地的硬盘上。这个系统映象来源于一个已经安装和配置好的样机。Imaging的安装方式是独立于操作系统,但是它依赖于网络启动的操作系统内核支持的文件系统。Imaging的很大缺点是很难提供独立于操作系统的配置方法。PartImage属于Imaging安装方法。而SIS是Script和Imaging混合型的安装方式。SIS利用Linux的chroot命令在安装服务器的一个文件目录下安装一个虚拟的操作系统映象。同时SIS支持用户提供Shell脚本完成安装后的配置。 3. c. 基于Cloning的安装:和Imaging安装方式相同的是,Cloning安装也采用系统映象。但是Cloning中的系统映象是样机上硬盘分区的 Clone。因此,Cloning安装不需要识别系统镜像中的文件系统类型。所以它是独立于文件系统的,它只依赖于操作系统内核支持的硬盘设备类型 (IDE或SCSI)。和Imaging一样,Cloning的很大缺点是很难提供独立于操作系统的配置方法。而且相对于Imaging而言, Cloning效率更低。你可以简单的用dd命令实现Clone。下表归纳了几种安装工具的特点:安装工具安装方法支持的系统支持的网络协议KickStartScriptRedhat LinuxNFS、FTPSISScript和Imaging混合Redhat Linux SuSE Linux Turbo Linux rsyncPartImageImagingEXT2、FAT、NTFS、HPFS私有协议3.7 域管理你可以简单的把集群系统的域管理理解为结点管理,它主要包括如下简单的功能: 加入、删除和列举集群系统中的结点 对集群中的结点分组实际上,我们也把作业管理纳入集群系统管理的任务。但是相对于其他系统管理任务而言,作业管理在集群系统中具有更重要的作用,而且通常的集群系统管理软件也不直接实现作业管理功能。所以我们把作业管理作为集群系统一个重要的软件部分,而不是集群系统管理的一项任务。4 几种集群系统管理软件集群系统管理软件和集群系统一样形形色色、多种多样。下面简要介绍几种集群系统管理软件并比较它们实现的功能。4.1 IBM CSMIBM CSM(Cluster Systems Management )是IBM eServer Cluster 1300上的系统管理软件。IBM的Linux集群战略的一部分就是把运行在RS/6000 SP平台上的PSSP软件移植到基于xSeries的Linux集群系统上。CSM大部分功能来源于SP平台,但是它也集成了WebSM 2000、xSeries、开放源码工具和其他技术。CSM是一款功能很全面的管理工具,而且还在不断的发展中。4.2 XCATXCAT是用于IBM eServer Cluster 1300上的系统管理软件。它由Egan Ford开发。它基本上是由shell脚本写成,相当简捷。但是它实现了集群系统管理大部分的内容,是个非常出色的管理软件。4.3 MonMon在Linux平台上开发,但是也以运行在Solaris上而出名。Mon的服务器和客户都是基于perl开发的,所以很容易移植到其他UNIX和类UNIX平台。下表比较了以上三种集群系统管理软件:项目CSMXCATMon支持的集群系统IBM eServer Cluster 1300IBM eServer Cluster 1300不特定于某个集群系统支持的操作系统Redhat、SuSERedhat,结点可以采用Imaging和Cloning安装其他操作系统,甚至于Windows在Linux上开发,但是以运行在Solaris而著名。很容易移植到其他Unix和非Unix操作系统上资源管理提供统一的、可扩展的,全面的资源管理,但是由于强大而使用起来很复杂。基本没有基本没有事件服务提供事件订阅发布机制,并预先定义了很多系统事件和对事件的响应将来会于Mon集成以完成事件服务支持配置管理支持无无监控和诊断支持分布式Shell(dsh)、支持SNMP支持并发Shell(psh)、并发ping(pping)支持SNMP硬件控制远程电源管理(rpower)远程控制台(rconsole)远程电源管理(rpower) 远程控制台(rcon、wcon)无系统安装支持KickStart和SIS 支持PXE支持KickStart、Imaging和Cloning 支持PXE和etherboot无域管理全面基本没有基本没有集成性除了必须的开放源码软件包,不与任何其他软件集成。但是底层资源管理和事件服务提供编程接口,集成很方便。上层可以通过命令调用集成。自动安装PBS、Maui、Myrinet和MPI。将来会支持 SgridEngine Scheduler基本没有,应该可以通过命令行集成易用性提供强大命令行工具和简单的GUI工具命令行工具,将来会和Ganglia集成提供一定的GUI提供命令行和基于Web的工具Linux集群软件LifeKeeper简介作者: 出处:计算机世界()砖()好评论(0 ) 条 进入论坛 更新时间:2005-12-19 12:14关 键 词:Linux阅读提示:SteelEye Technology公司最近为部署Linux服务器集群的企业推出了一款高可用性软件。该公司的LifeKeeper软件使集群中的服务器可以接替发生故障的服务器或应用。硬件部件和应用程序故障通过LAN心跳信号(heartbeats)进行检测。集群中的节点间发送的冗余信号使 LifeKeeper可以确定服务器的状态,然后采取行动。集群的规模可以从2个节点到32个节点。 SteelEyeTechnology公司最近为部署Linux服务器集群的企业推出了一款高可用性软件。该公司的LifeKeeper软件使集群中的服务器可以接替发生故障的服务器或应用。硬件部件和应用程序故障通过LAN心跳信号(heartbeats)进行检测。集群中的节点间发送的冗余信号使 LifeKeeper可以确定服务器的状态,然后采取行动。集群的规模可以从2个节点到32个节点。 SteelEyeLifeKeeper运行在Windows和Linux上。SteelEye公司还特别使该产品增加了对 IBMPower处理器平台和RedHatEnterpriseLinux4的支持。此外,LifeKeeperforLinux5版本包括基于软件的RAID和LifeKeeperExtender。 利用LinuxMultipleDevice驱动程序实现的软件RAID,可以保护同一台服务器中的单个硬盘,也可以保护分布在LAN或存储区域网上的硬盘。 LifeKeeperExtender由工具和样本应用集合构成,这些工具和样本应用使用户可以将LifeKeeper的应用扩展到整个基础设施。 LifeKeeperforWindows运行在WindowsServer2000/Server2003或NT服务器上。LifeKeeperforLinux运行在SuSELinux、RedHat和TurboLinux的操作系统上。 目前市上类似的产品还有Veritas的StorageFoundation、MicrosoftClusterServices和PolyServe的MatrixServer等。 LifeKeeper最初是由AT&T贝尔实验室设计开发的,用于保护其运行在基于Unix的StarSever上的语音网络。当AT&T将LifeKeeper部卖给NCR时,SteelEye收购了这项技术。 LifeKeeper是按服务器定价的,而不是按CPU的数量。 SteelEyeLifeKeeper集群软件 关键特性 LifeKeeper集群软件使集群中的服务器可以接替发生故障的服务器或应用,是一款部署Linux服务器集群的高可用性软件;运行在 Windows和Linux上,并增加了对IBMPower处理器平台和RedHatEnterpriseLinux4的支持。 Linux集群与jetspeed(组图)(1)作者: 出处:ChinaITLab()砖()好评论(0 ) 条 进入论坛 更新时间:2005-12-19 11:52关 键 词:Linux阅读提示:本文目的在于分析Jetspeed支持集群的现状。首先介绍了集群计算的背景知识,然后使用tomcat作为例子配置了一个集群,接着分析了 jetspeed对集群的支持现状,提出了解决这些问题的办法,最后详细解释了jetspeed保存sesson数据的操作,这将对jetspeed的改造有帮助。 本文目的在于分析Jetspeed支持集群的现状。首先介绍了集群计算的背景知识,然后使用tomcat作为例子配置了一个集群,接着分析了 jetspeed对集群的支持现状,提出了解决这些问题的办法,最后详细解释了jetspeed保存sesson数据的操作,这将对jetspeed的改造有帮助。1 、 集群背景介绍1.1 术语定义服务软体是b/s或c/s结构的s部分,是为b或c提供服务的服务性软件系统。服务硬体指提供计算服务的硬件、比如pc机、pc服务器。服务实体通指服务软体和服务硬体。客户端指接受服务实体服务的软件或硬件。1.2 两大关键特性集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:可扩展性集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。高可用性集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。1.3 两大能力为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:负载均衡负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。错误恢复由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。1.4 两大技术实现集群务必要有以下两大技术:集群地址集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。内部通信为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。2 集群配置从上图可知,由服务实体1、服务实体2和负载均衡器组成了一个集群。服务实体1和服务实体2参与对客户端的服务支持工作,均衡负载器为客户端维护集群的单一影像。集群实体间通过内部的通信网交流信息,这种交流机制一般采用组播协议。负载均衡器通过内部通信网探测各服务实体的心跳信息,服务实体间通过内部通信网完成任务资源的传播。可以看出,配置集群主要由配置服务实体和配置负载均衡器两部分组成。本文使用tomcat 4.12、apache 2.0.43配置集群环境,相关软件的部署图如下:服务实体1/2,负载均衡器可以部署在不同的机器上,也可以在同一机器上,本文环境为同一机器。2.1 准备软件tomcat是开源servlet jsp服务器,下载地点/ ;apache 2.0.43 是开源的www服务器,下载地点/dist/httpd/binaries/ ;JavaGroups是一个实现集群服务实体间通信的通信协议,下载地址:/ ;Tomcat 会话复制库,基于JavaGroups通信协议,完成集群服务实体间任务执行上下文的复制,下载地址: /tomcat/tomcat-javagroups.jarjk2模块,jk 是mod_jserv的替代者,它是Tomcat-Apache插件,处理Tomcat和Apache之间的通信,在集群配置中充当负载均衡器的作用。 JK2是符合apache 2.x系列的新品,下载地址:/builds/jakarta-tomcat- connectors/jk2/release/v2.0.2/bin/ 。2.2 配置负载均衡器在apache下配置负载均衡器分为三步,注意每次修改httpd.conf和perties时不要忘了重新启动apache。第一步,安装和调试apache负载均衡器jk2模块是apache www 服务的插件,所以配置负载均衡器就得先安装apache。本文下载的是windows版本 2.0.43,执行setup.exe并回答一些简单问题就可完成apache的任务。值得注意的是,安装并启动apache后如果apache对 http:/localhost/ 地址没反应,你得修改apache安装路径下htdocs目录下的index.html.xx文件,比如把index.html.en改成 index.html。第二步,安装jk2把下载到的mod_jk2-2.0.43.dll 改成mod_jk2.dll 放到apache的modules目录下,修改apache的httpd.conf,即在LoadModule foo_module modules/mod_foo.so 行下插入mod_jk2模块的装载信息:# Example:# LoadModule foo_module modules/mod_foo.so#LoadModule jk2_module modules/mod_jk2.dll第三步,配置jk2jk2的配置全在一个配置文件中,文件名为perties,和apache 的httpd.conf放在同一个目录下。以下是这个文件的内容:#+# only at beginnin. In production uncomment it outlogger.apache2level=DEBUG#shm必须配sh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit3Keepfit.SectionA(1a-1d)Pronunciation(1-2)教学设计人教版七年级英语下册
- 新解读《GB-T 35817-2018室内用树脂改性木材通 用技术要求》
- 物业会计面试题目及答案
- 新解读《GB-T 36163 - 2018核电站用合金钢钢板》
- 新解读《GB-T 35987-2018海洋工程结构物称重作业规范》
- 台州社工面试题目及答案
- 洛阳市中招考试数学试卷
- 青岛版四上数学试卷
- 六中最后一卷数学试卷
- 社区招聘面试题目及答案
- 《绿色建筑与可持续发展》课件
- 昆明市禄劝彝族苗族自治县2025届小升初复习数学模拟试卷含解析
- 麻醉专业知识理论培训试题题库及答案
- 2025届浙江省杭州二中高考英语一模试卷含答案
- 2025-2030中国器官移植行业市场深度调研及前景趋势与投资研究报告
- 从数据到智慧AI在中小学心理健康教育中的应用研究
- 瓷泥购销合同协议
- 电缆管理制度
- 蒸汽管道改造工程施工组织设计方案
- 外贸英语教学大纲
- 货架仓库 喷淋施工方案
评论
0/150
提交评论