快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

皇马国际app:Linux操作系统高性能集群监控管理之道



监控是集群治理的核心义务。监控数据可用于调整义务、负载平衡、向治理员申报软硬件故障,并广泛地节制系统应用环境。监控信息必须在不影响集群机能的环境下得到。本文将评论争论应用/proc文件系统和Java来得到监控数据的措施。

Java在Linux集群中的利用

Java技巧为集群治理开拓者供给了许多办理问题的法子。Java是动态、机动、可移植的,这些不平常的特性使得它成为了在异构收集及平台上构造集群治理的抱负根基。

Java具有广泛的例程库,很轻易处置惩罚IP协议,如TCP、UDP,并可在multi-homed主机长进行收集法度榜样设计,用它创建收集连接比用C或C++更轻易。经由过程Java本地接口(JNI),运行在Java 虚拟机(JVM)内的Java代码能够与用其它说话编写的利用及库文件互相操作并汇编。

在构造集群监控和治理时,Java早已是一个可选的说话。然而,Java说话平日只被用于系统的前端或集群主机部分,而将用C 说话编写的守护进程安装在集群结点上。只管Java法度榜样设计说话供给了许多优点,然则,对付高机能集群监控,Java能够有效地调换运行在每个结点上的C 说话守护进程吗?这将是本文评论争论的重点。

高机能监控

监控Linux集群对象传统上以秒为丈量频率来供给有限量的数据。而高机能集群监控被定义为“皇马国际app以intrasecond为丈量频率,从结点有效地采集数据的能力”。当涉及较大年夜集群时,监控软件的低效率问题就变得加倍严重,这是由于所运行的利用软件必须相互和谐或共享全局资本。

在一个结点上的阻隔冲突(Interference)能影响其它结点上功课的运行。例如,一个MPI感化必要与所有介入的结点同步。一种办理法子是网络少量的数据,并以小频率传输。然而,假如是高机能监控,这种办理法子是弗成吸收的,由于有较厚使用率的集群应该被频繁持续地监控。本地功课调整器必须能够基于资本应用环境做快速决策。治理员常常盼望收到紧急事故的急速看护,并盼望察看到历史趋势数据,假如集群不能被频繁持续地监控,那么这些要求是弗成能实现的。是以,必须采取一些步伐,如应用更有效的算法、增添传输的并行性、前进传输协议及数据款式的效率、削减冗余等。

在跟踪运行中的资本应用环境时,压缩P皇马国际approfiling利用有助于调试法度榜样或优化法度榜样。对一个给定的利用而言,像存储器、收集、CPU这样动态资本的应用可能快速地改变着,为了能够察看利用是如何应用这些资本的,一种可能的法子是应用高频率的监控。

即应用户对高频率监控没有兴趣,假如算法是有效的,不管监控频率是若干,它也将破费很少的资本。在异构集群中这种效率将更紧张,用户的功课可以被分散到较快的及较慢的结点上,慢的结点必要整个CPU来跟上较快的结点并与之同步。一个监控法度榜样花费在较慢结点上的CPU光阴是功课的关键路径。

监控阶段

集群监控主要耗损CPU周期与收集带宽这两个紧张资本。然而,资本破费问题与这两个资本是根本不合的。CPU使用问题对结点而言是完全本地化的问题,可经由过程创建有效的网络与合并算法来办理。收集带宽是共享资本,是规模问题,可以经由过程最小化收集上传输的数据量来办理。

为了办理这两个问题,我们将集群监控分为三个阶段:网络、合并、传输。网络阶段认真从操作系统装载数据、阐发数据值,并存储数据。合并阶段认真将来自多个数据源的数据合在一路,抉择命据值是否改变并过滤它们。传输阶段认真压缩并传输数据。本文集中评论争论Linux集群监控的网络阶段。

1.网络阶段

Linux有几种措施来进行体体系计,每种措施都各有其优毛病。

◆ 应用现有的对象

标准及非标准对象能履行一个或多个网络、合并及传输阶段,如rstatd或SNMP对象,然而标准的rstat后台法度榜样供给的信息是有限的,速率慢而且效率低。

◆ 内核模块

几个系统监控工程使用内核模块来存取监控数据。一样平常环境下,这是很有效的网络系统数据的措施。然而这种措施存在的问题是,当主内核源内有其它改变时,必须维持代码同等性。一个内核模块可能与用户想应用的其它内核模块相冲突。此外,在应用监控系统之前,用户必须得到或申请模块。

◆ /proc虚拟文件系统

/proc 虚拟文件系统是一个较快的、高效率履行系统监控的措施。应用/proc的主要毛病是必须维持代码阐发与/proc 文件款式改变的同步。事实注解,Linux内核的改变比/proc 文件款式的改变要更频繁,以是,用/proc虚拟文件系统比用内核模块存在的问题要少。

◆ 混杂系统

某些监控系统采纳混杂要领,用内核模块网络数据,用/proc虚拟文件系统作为数据接口。

2.合并阶段

合并阶段的实现可以在结点上、集群治理的主机上,或者散播在两者上。斟酌到效率,我们只采纳在结点上的合并。缘故原由在于结点是监控数据的网络器与供给者。两个或多个同时的数据哀求不会引起两次操皇马国际app作系统调用来网络数据,而是将第一次哀求得到的数据缓存,并可以供给给第二次哀求调用。这种措施削减了操作系统的包袱,前进了监控系统的相应性。合并阶段也可以用于将多个数据源的数据以互相自力的网络速度结合,由于并不是所有的数据都以同样的速率改变,或者必要以同样的速度网络。

应用在结点层上合并的另一个缘故原由是,削减了包括传输在内的信息量。许多/proc文件既包孕动态数据也包孕静态数据。删除近来一次传输后没有改变的值皇马国际app,一个结点发送的数据量可以大年夜大年夜地削减。合并不仅撤除了不常常改变的动态值的传输,也办理了从不改变的静态值的传输。

3.传输阶段

监控数据险些老是按一个层次布局组织起来。传输阶段的义务便是将层次数据进行有效的编码,形成一皇马国际app种能高效传输的数据款式。Java拥有的文件款式是存储层次数据的有效措施,并且用供给的Java APIs很轻易完成。S-Expressions已经被觉得是传输这种数据的另一个有效的措施。

关于传输监控数据普遍评论争论的问题是,数据应该按二进制编码照样按文本款式编码。二进制数据更轻易压缩,是以也能更有效地传输。然则,当采纳/proc文件系统时,监控数据平日以人们易读的款式存储。在传输之前,将数据转换为二进制款式将必要更多的处置惩罚资本与光阴。以文本款式保留网络的数据,结点资本能被用于更多非监控性的相关事情。

采纳文本款式的数据将供给如下额外的益处:

◆ 平台自力性

当监控异构集群时,机械之间数据字节指令的设置设置设备摆设摆设不是永世相同的。文本款式的应用在代码方面办理了这个问题,而且体系布局自力不会影响更多的处置惩罚需求。

◆ 易读的款式

文本数据能以人们易读的款式进行组织。假如必要的话,这种特机能轻易地进行法度榜样调试或容许用户不雅看数据流。

◆ 有效压缩

数值数据的文本表示由来自10个字节集中的字符组成,而不是二进制下的256个字节集。它们孕育发生的数字及模式的相对频率容许有效地应用基于压缩算法的字典及熵(匀称信息量)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: