Solaris Resource Manager 1.3 系統管理指南

Solaris Resource Manager 簡介

其主要組織目標

IT 組織通常被要求要控制成本並且為企業應用保證服務品質。資源管理有助於降低所有權的整體花費,對何人使用系統及其使用方式有較精確的控制,甚至可以同時達成兩個目標。

藉由使用 Solaris Resource Manager 軟體來分類與優先化資源的使用,管理員可以在離峰期間有效地利用保留的功能,減少對額外處理功能的需求。

Solaris Resource Manager 藉由系統來分別工作量,好讓系統管理員執行與管理單一系統之上的各類應用程式,而不是將整個-具有最尖峰功能- 的系統分配給每個應用程式。傳統而言,確保可靠的服務以及回應時間最常見的方式是讓每個系統作為一個功能的主機。這個方法行得通,但是不斷擴張資料中心的系統卻是昂貴又難於管理。

Solaris Resource Manager 可以用來將數種應用程式在單一 UNIX® 伺服器之上整合,以便充分利用所有可用的資源。同時所有的使用者也可以收到與其服務層級和工作重要性成比例的資源。

關鍵性的 Solaris Resource Manager 功能

下表將簡單介紹本手冊即將說明的關鍵性系統資源控制功能。

系統資源Solaris Resource Manager 參數說明
 CPU 配分cpu.shares 配置給一個 lnode 的 CPU 時間總量,在限制資料庫檔案中指定為特定的配分。Solaris Resource Manager 會配置所有可用的系統資源,也就是說一個 lnode 可以在資源可用時,收到較其配置的分量還要多的資源。
 CPU 累積cpu.accrue 群組中所有 lnode 以及目前 lnode累積的 CPU 使用量。
 記憶體限制memory.limit 附加至一個 lnode 的所有處理可得的最大虛擬記憶體使用量。此限制為固定的數值,由限制資料庫檔案所指定。零值表示沒有設定任何的限制。
 處理記憶體限制memory.plimit 每個處理最大的虛擬記憶體限制。此限制為固定的數值,由限制資料庫檔案所指定。零值表示沒有設定任何的限制。
 物理記憶體限制rss.limit(僅限於 Solaris 8) 具備特定單位的物理記憶體運算,應用到連接至 lnode 的處理程序集合。運算必須是正數。
 記憶體累積memory.accrue 在一段時間之內所使用的整體記憶體資源。其數值以每秒位元組數表示。
 處理數目process.limit 限制使用者可以同時執行的處理數目,根據限制資料庫檔案所指定的固定限制。
 每位使用者的登入數目flag.onelogin flag.nologin根據限制資料庫檔案所指定的固定限制來限制每位使用者/或排程群組的登入或限制同時登入作業階段的數目。Solaris Resource Manager 會使用 PAM 辯證記錄及 utmp(4) 項目來追蹤登入計數。計數器會動態遞增或遞減。
 連線時間terminal.limit terminal.usage terminal.accrue Solaris Resource Manager 動態式地追蹤一位使用者的連線時間並且將它與限制資料庫檔案中系統管理員或群組標頭所指定的固定限制做比較。當一位使用者接近連線時間限制時,Solaris Resource Manager 就會送出警告訊息給使用者的終端機。達到限制時,使用者會被通知,然後在短暫的寬限期之後被迫登出。

使用 Solaris Resource Manager 的時機

Solaris Resource Manager 可以提供各種情況之下的有效資源控制,包括伺服器整合,Internet 服務供應商 (ISP) 網路主機,管理擁有大量或多元性的使用者人口的網站,並且建立策略以確保重要的應用程式都能取得所需的回應時間。

伺服器結合

Solaris Resource Manager 最適合於在單一伺服器之上整合多項應用程式的環境。管理數個機器的成本及複雜度讓系統管理員願意考慮將應用程式整合在一個大型、可調整規模的系統之上。有了 Solaris Resource Manager 之後,要達成此經濟規模的目標相形之下就容易得多。

舉例來說,一個單一 Sun 伺服器可以為各種不同的客戶機、傳訊/郵件服務、全球資訊網服務以及以任務為考量的資料庫應用程式提供應用程式、檔案以及列印服務。由於 Sun EnterpriseTM 伺服器包含 1 到 64 個處理機不等,一個伺服器可以設置為供數個部門共用或整個機構來使用。拿其他的伺服器整合方案來說,其發展、協定和生產環境都結合在一個單一的大型機器之上,例如 Sun Enterprise 10000 或是 Sun Enterprise 6500,而不是由三個個別的伺服器來負責。其他整合專案還是與單一機器或是多重資料交易站結合資料庫及應用程式伺服器。無論應用程式類型或設置為何,Solaris Resource Manager 有助於根據既定的策略,確保將系統資源配置給所有的使用者、應用程式及群組。重要的應用程式會受到保護,因為要保證它們取得所需的可得系統資源。

網路主機

過去 ISP 必須為每個客戶機指派一個專屬機器,造成極大的花費和麻煩。同樣地,ISP 也可以利用 Solaris Resource Manager 來在單一機器上主持許多(也許上千個)網路伺服器。Solaris Resource Manager 允許管理員控制與每個網站有關的資源佔用,防止它們每一個因超出使用量而影響到其他的網站。Solaris Resource Manager 也能防止出錯的 CGI 指令集耗盡 CPU 資源,或防止使用者應用程式釋出所有可用的虛擬記憶體。

批次處理

Solaris Resource Manager 可以用來防止批次工作量阻礙目前進行中的商業活動及其他批次工作。

大量或變動的使用者數量

Solaris Resource Manager 有助於管理任何擁有大量多樣化使用者群的系統資源,例如教育機構。(事實上,Solaris Resource Manager 的前身是一種早期的 CPU 資源排程器,由雪梨和新南威爾斯大學所開發)。為了因應工作量各不相同的需求,Solaris Resource Manager 軟體可以設置來符合特定使用者的需要。例如,大型證券經紀公司的交易商會間斷地需要快速存取權,以進行計算操作或提出查詢。不過其他系統使用者的工作量卻比較穩定。如果交易商取得比較大量的處理能力,Solaris Resource Manager 會確保所有的使用者各取所需,擁有適合的回應。

主要功能

Solaris Resource Manager 提供管理系統中各種重要資源佔用情況的功能,例如處理機時間、虛擬記憶體、處理計數、登入計數以及連結時間。Solaris Resource Manager 管理模式又新增了靈活度,可以在一個階層之間授權管理權限,資料中心的員工便不需要參與群組內部的管理交易。此外,Solaris Resource Manager 提供搜集資源使用資料的機制,可被應用於功能規劃或是收費等的目的。

處理資源

操作系統其中一個基本工作就是斷定由哪一個處理來存取系統的資源。預設的 Solaris 時間配分 (TS) 排程器會試著給予每個處理相當公平的系統資源存取權。存取限制被套用至沒有實體記憶體資源卻不被允許執行的處理,以及有被禁止的暫停 I/O 要求的處理。

這種體系是大多數現代作業系統的基礎,比較適合"人人公平存取"的組織策略。然而,其他的策略可能就需要實施更加精密的機制才行。例如製造部門擁有一個大型系統,因為季節性需求的波動爾經常沒有完全利用。同時工程部門幾乎總是需要更多的電腦計算循環。雖然不充分利用大型機器的資源是件非常浪費的事,傳統上來說要與工程部門共用製造系統是非常困難的。簡單的排程策略無法指示作業系統如何分辨製造部門的使用者比相同系統上的工程部門還要來得重要。如果製造有一項需要佔用系統資源的百分之 75 的重要工作,此工作在其他所有工作只要求百分之 25 的系統或更少的情況下就可以順利進行。然而,如果一個工程任務需要百分之 50 的系統,那麼這項重要的製造工作就可能無法取得保持進度所需的資源,因為系統會為了公平而嘗試滿足兩種工作的需求。

假定管理員決定製造部門的普通處理需求可以利用百分之 80 的機器功率來達成。系統管理員可以使用 Solaris Resource Manager 來指定製造部門的使用者,只要提出要求的話,就可以取得多達百分之 85 的系統處理能力;而排程器會將剩餘的資源分配給其他任何使用者。另一種極端但有效的設置可以指定製造部門使用者於必要時取得百分之百的系統,而當製造部門確實需要整個系統的時候完全不讓其他群組的處理執行。

配置資源

Solaris Resource Manager 提供一種新的 CPU 排程類別,取代標準的分時排程器。這個模組稱為 SHR 排程器類別,採行一種稱為公平分享的排程器。「公平」這個字有一點誤導,因為實際上是系統管理員負責決定什麼才是「公平」。在上面一例中,「公平」指的是製造部門可以取得百分之百的系統。SHR 排程器負責根據管理概要檔中的規劃來分配資源。

限制資源

Solaris Resource Manager 維持一個資源使用量及相關限制的資料庫。

SHR 排程器會考慮資源保證的管理規格。它可以管理可更新的(例如 CPU 時間)或固定的(例如登入計數)資源。

其他 Solaris Resource Manager 模組進行各種資源的佔用情況限制。例如連結時間和使用者登入計數是藉由一個可插式辨證模組 (PAM) 來管理。PAM 模組會在每一次有一個使用者嘗試登入時向 Solaris Resource Manager 資料庫求證。一旦系統辨證該使用者(一般是核對其密碼),就會核對使用者的連結時間和目前登入的計數是否符合限制規定。如果超過其中一項限制,登入就會被拒。

與其他 Solaris 資源控制功能的關係

Solaris 作業環境包括數種其他功能,提供對特定種類資源的控制。某些功能,如即時排程、nice(1),配額及處理機組,都是基本 Solaris 系統的部份。

頻寬配置器是不附屬於產品的一種套裝軟體,動態系統領域是 Sun Enterprise 10000 系統平台的功能,而動態重新設置則是 Sun Enterprise 系統平台的一種功能。

所有這些組件都提供各種資源管理,但每一種都與 Solaris Resource Manager 的功能有所不同。

Solaris Resource Manager 與類似產品間的不同之處

Solaris Resource Manager 產品與系統中所含的許多其他軟體組件有關,但它無法取代其中任何一項。