Linux操作系统高性能集群监控管理之道
2007-06-06 10:50:05 来源:WEB开发网监控是集群管理的核心任务。监控数据可用于调度任务、负载平衡、向管理员报告软硬件故障,并广泛地控制系统使用情况。监控信息必须在不影响集群性能的情况下获得。本文将讨论使用/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集群工具传统上以秒为测量频率来提供有限量的数据。而高性能集群监控被定义为“以intrasecond为测量频率,从结点有效地采集数据的能力”。当涉及较大集群时,监控软件的低效率问题就变得更加严重,这是因为所运行的应用软件必须互相协调或共享全局资源。
在一个结点上的阻隔冲突(Interference)能影响其它结点上作业的运行。例如,一个MPI作用需要与所有参与的结点同步。一种解决办法是收集少量的数据,并以小频率传输。然而,如果是高性能监控,这种解决办法是不可接受的,因为有较重利用率的集群应该被频繁持续地监控。本地作业调度器必须能够基于资源使用情况做快速决策。管理员经常希望收到紧急事件的立即通知,并希望观察到历史趋势数据,如果集群不能被频繁持续地监控,那么这些要求是不可能实现的。因此,必须采取一些措施,如使用更有效的算法、增加传输的并行性、提高传输协议及数据格式的效率、减少冗余等。
- ››linux下两台服务器文件实时同步方案设计和实现
- ››Linux文件描述符中的close on exec标志位
- ››Linux下管道使用的一些限制
- ››Linux 误删/usr/bin 解决方法
- ››linux 添加新用户并赋予sudo执行权限
- ››linux常用软件安装方法
- ››Linux的分区已经被你从Windows中删除,系统启动后...
- ››linux enable命令大全
- ››Linux实现基于Loopback的NVI(NAT Virtual Interfa...
- ››Linux远程访问windows时,出现"连接被对端重...
- ››linux中使用head命令和tail命令查看文件中的指定行...
- ››linux swap 分区调控(swap分区 lvm管理)
更多精彩
赞助商链接