歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

Linux集群的資源管理和系統管理

本文介紹集群系統中的資源管理主要任務和系統管理主要任務,然後列舉並比較了幾種常用的資源管理軟件和系統管理軟件。 1 集群作業管理 從用戶角度看,集群系統就好像一台服務器或者PC。很多用戶可以同時使用這個系統。但是當太多的用戶使用集群系統時,系統  

本文介紹集群系統中的資源管理主要任務和系統管理主要任務,然後列舉並比較了幾種常用的資源管理軟件和系統管理軟件。

1 集群作業管理

從用戶角度看,集群系統就好像一台服務器或者PC。很多用戶可以同時使用這個系統。但是當太多的用戶使用集群系統時,系統性能會變得很差。資源管理就是管理用戶提交的作業,合理給各個作業分配資源從而確保充分利用集群系統計算能力並盡可能快的得到運算結果。簡單的說,集群資源由實現如下幾個部分:

  • 資源管理器:為了確保分配給作業合適的資源,集群資源管理需要維護一個數據庫。這個數據庫記錄了集群系統中各種資源的屬性和狀態、所有用戶提交的請求和正在運行的作業。策略管理器根據這些數據和指定的調度策略生成優先級列表。資源管理器根據這個優先級列表調度作業。資源管理器還應該具有資源預留能力。這樣不僅可以保留強大的資源給需要的作業,而且可以預留一定的冗余資源以應付集群中的結點失效和突發的計算。
  • 作業調度策略管理器:策略管理器根據資源管理器得到各個結點上的資源狀況和系統的作業信息生成一個優先級列表。這個列表告訴資源管理器何時在哪些結點上運行哪個作業。策略管理器不僅要提供一個復雜的參數集合去定義計算環境和作業,而且要為這個定義提供簡捷靈活的表達方式以允許系統管理員實現策略驅動的資源調度。

2 Beowulf集群中的作業管理軟件

有很多種選擇去管理集群系統中的資源。其中PBS資源管理器和Maui作業調度器最適合集群系統。

2.1 PBS

PBS(Portable Batch System)是由NASA開發的靈活的批處理系統。它被用於集群系統、超級計算機和大規模並行系統。PBS主要有如下特征:

  • 易用性:為所有的資源提供統一的接口,易於配置以滿足不同系統的需求,靈活的作業調度器允許不同系統采用自己的調度策略。
  • 移植性:符合POSIX 1003.2標准,可以用於shell和批處理等各種環境。
  • 適配性:可以適配與各種管理策略,並提供可擴展的認證和安全模型。支持廣域網上的負載的動態分發和建立在多個物理位置不同的實體上的虛擬組織。
  • 靈活性:支持交互和批處理作業。

OpenPBS( http://www.OpenPBS.org/)是PBS的Open Source的實現。商業版本的PBS可以參照: http://www.pbspro.com/

2.2 Maui

Maui 是一個高級的作業調度器。它采用積極的調度策略優化資源的利用和減少作業的響應時間。Maui的資源和負載管理允許高級的參數配置:作業優先級(Job Priority)、調度和分配(Scheduling and Allocation)、公平性和公平共享(Fairness and Fairshare)和預留策略(Reservation Policy)。Maui的QoS機制允許資源和服務的直接傳遞、策略解除(Policy Exemption)和指定特征的受限訪問。Maui采用高級的資源預留架構可以保證精確控制資源何時、何地、被誰、怎樣使用。Maui的預留架構完全支持非入侵式的元調度。

Maui的設計得益於世界最大的高性能計算中心的經驗。Maui本身也提供測試工具和模擬器用於估計和調節系統性能。

Maui需要資源管理器與其配合使用。我們可以把Maui想象為PBS中的一個插入部件。

更多Maui的信息可以訪問: http://www.supercluster.org

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工具可以完成基於
Copyright © Linux教程網 All Rights Reserved