安裝和管理 Solaris Container Manager 1.1

第 1 章 Solaris Container Manager 1.1 簡介

本章簡介 Solaris Container Manager 1.1 (Container Manager)。

本章討論下列主題︰

Container Manager 簡介

Solaris Container Manager 1.1 為 Sun Management Center 3.5 Update 1b 發行版本的附加軟體產品。此產品可幫您合併計算伺服器以控制伺服器和軟體的大型網路之成本。Container Manager 可讓您建立和管理容器、專案、資源儲存池和區域。較佳的硬體資源使用情況和較高的伺服器對管理員比例對您有幫助。

本產品可讓您執行下列作業:

容器對任何公司皆非常有用,其使用者會需要他們自己的虛擬環境,包括 IP 位址、磁碟儲存裝置和應用程式。例如,公司可能會為特定應用程式 (例如郵件伺服器、web 伺服器或資料庫) 設定容器。公司可能也會設定地理區域 (例如:美國、美洲、歐洲和太平洋) 的容器。相同地,公司可能會為各職務部門 (例如:人力資源、研究和發展和業務) 設定容器。

特定行業可使用容器做各種不同的用途。大學可給予大學生具有作業系統實例、系統資源共用和 root 密碼的區域。無線電話公司可設定容器以監視服務,例如:長途電話服務、本地電話服務和語音信箱。有線電視供應商或網際網路服務供應商可為 DSL、纜線數據機或有線電視服務設定容器。金融機構可為需在資料倉儲執行複雜查詢的使用者,以及需要執行線上交易程序的使用者設定不同的容器。獨立的軟體供應商 (ISV) 可為其販售軟體或服務的不同客戶設定容器或區域。

Container Manager 和其他資源管理公用程式

此產品會組織執行在 Solaris 8、Solaris 9 和 Solaris 10 發行版本的現有資源管理公用程式。特別是,此產品提供可簡化 Solaris Resource Manager 1.3 和 Solaris 9 Resource Manager 配置的工具。

如需關於 Solaris 資源管理公用程式的更多資訊,請參閱「Solaris Resource Manager 1.3 系統管理指南」「System Administration Guide: Network Services」

Solaris Container 模型

Solaris Container 為可幫助組織和管理實體系統資源集合的抽象層。容器可建立詳細說明應用程式的資源需求之藍圖。應用程式的資源需求為 Solaris Container 模型的焦點。此模型的焦點集中在服務或工作負荷量。服務是由應用程式傳送,其為系統的工作負荷量。工作負荷量是相關聯的程序組,例如:執行應用程式。

以工作負荷量為基礎的管理之較早格式已實作在 Solaris Resource Manager 1.3 發行版本。在該發行版本中,工作負荷量與 限制節點,即 lnode 相關聯。Container Manager 軟體在早期努力下建立。目前的 容器 模型提供可幫您組織和管理進行中的服務資源傳送之工具。一般的服務範例有:每月薪資、客戶訂單查找和網路服務傳送。

您必須能夠說明應用程式受限於伺服器合併計算的環境。建立此說明可讓您由每個伺服器上執行一個應用程式,改為單一伺服器上執行多個應用程式。容器提供此說明,並為其舉例說明。簡單的容器可說明系統資源,例如:CPU、實體記憶體和頻寬。較複雜的容器還可控制安全性、隔絕名稱空間和應用程式錯誤。

下列 Solaris Container 圖解顯示服務和資源間的關係。

圖 1–1 Solaris Container 範例

圖解說明 Solaris Container 範例。周圍的文字說明其內容。

方塊代表容器。方塊的 x、y 和 z 軸代表三種資源,環繞著服務。在此模型中,CPU、記憶體和頻寬為基礎資源。服務被包圍在方塊內,表示服務是包含在容器內。在此發行版本,Container Manager 控制三個基礎資源:CPU、實體記憶體資源和頻寬。

因為 Container Manager 的焦點集中在工作負荷量,所以不會監視個別主機使用的資源數量。主機為安裝了 Container Manager 代理程式軟體和的系統,並且是 Sun Management Center 伺服器環境的一部分。安裝完成後,會自動探索主機且其名稱會增加到 [主機] 檢視中的瀏覽視窗。軟體會監視服務使用的資源數量。在此模型中,單一服務實例代表至少有一程序執行在個別主機中。資料會被保留以用於可能的系統運作狀態監視和計帳。

圖 1–2 主機中的容器範例

圖解顯示主機中的容器範例。周圍的文字說明其內容。

個別主機中可同時使用一個以上的容器。若多個容器存在單一主機中,您可以設定容器的界限,如此主機便可擴充和縮小它們。在此情況中,其他容器目前未使用資源,對可使用它們的容器來說是可用的。最後,可在個別主機中使用的容器數量由可用的 CPU 數量和記憶體資源,以及每個容器保留多少這些資源來決定。系統必須符合所有使用中容器的組合資源需求,其大小依應用程式的需要來調整。

如需關於使用 Container Manager 管理容器的更多資訊,請參閱第 4 章, 管理專案

資源管理

一般來說,資源代表可連結程序的作業系統實體。資源更經常代表由提供一些分割格式的核心子系統建構的物件。資源也可被視為可利用計算系統以影響應用程式運作方式的觀念。資源範例包括實體記憶體、CPU 或網路頻寬。

Container Manager 在 Solaris 8、Solaris 9 和 Solaris 10 發行版本中與資源管理公用程式搭配運作。在 Solaris 8 發行版本中,資源管理由 Solaris Resource Manager 1.3 提供。每個服務由 lnode 表示。lnode 是用來記錄資源分配策略和取得的資源使用狀態資料。lnodes 與 UNIX 使用者 ID (UID) 相對應。依據預設,UID 可代表個別使用者和應用程式。如需關於 lnodes 和資源管理的更多資訊,請參閱「Solaris Resource Manager 1.3 系統管理指南」中的「限制節點概述」

在 Solaris 9 和 Solaris 10 發行版本中,資源管理由 Resource Manager 提供。在此發行版本中,專案與 lnode 相似。專案提供為相關工作網路內的管理識別碼。所有執行在具有相同專案識別碼的容器中之程序,亦稱為專案 ID。Solaris 核心透過專案 ID 追蹤資源使用狀態。使用延伸計算 (使用相同的追蹤方法) 可收集之前的資料。在 Container Manager 中,專案代表容器。

圖 1–3 主機中的專案範例

圖解顯示主機中的專案範例。周圍的文字說明其內容。

關於執行在容器的程序資訊可從 Container Manager GUI 取得。當您使用此軟體建立和管理容器時,資料的收集是易懂的。

可使用不同的方法建立容器界限。一個方法是使用資源儲存池分割系統。另一個方法是透過資源控制在專案中建立限制。

資源儲存池

資源儲存池 (或儲存池) 為用來分割主機資源的 Solaris 9 和 Solaris 10 軟體配置機制。資源組為可連結程序的資源。記憶體組和處理器組為資源組範例。目前僅可在 Solaris 9 和 Solaris 10 發行版本中取得處理器組。儲存池會結合可在主機上取得的不同資源組。

一個資源儲存池可容納一個或多個專案。若為一個專案,連結到儲存池的資源專屬於該專案。若為多個專案,連結到儲存池的資源共用專案。

在 Solaris 10 作業系統中,本產品有一稱為動態資源儲存池的功能。動態資源儲存池可藉由回應系統事件和載入變更來調整每個儲存池的資源分配,幫您取得更好效能。此功能在動態資源儲存池中有做說明。

執行在 Solaris 8 作業系統時,一個主機只能有一個資源儲存池。此儲存池稱為 pool_default。因為資源儲存池不存在此作業系統版本中,請手動建立 pool_default。依照慣例,所有在執行 Solaris 8 發行版本的主機中的 CPU 應在單一儲存池中。

如需關於使用 Container Manager 管理資源儲存池的更多資訊,請參閱第 5 章, 管理資源儲存池

資源控制

若有一個以上的專案連結到單一儲存池,您可以在單一專案中設定最低保證或限制。這些限制稱為資源控制。其中一個控制範例為最小 CPU 限制的設定,與使用公平共用排程程式 (FSS) 的例子相同。另一個範例為實體記憶體容量的設定,使用 rcapd 常駐程式的例子相同。設定最小 CPU 保證時,專案中的閒置 CPU 循環可被其他專案中的應用程式使用。

(僅限 Solaris 10) 區域

區域提供執行應用程式的隔絕和安全環境。區域提供您在 Solaris 實例中建立虛擬作業系統環境的方法。區域可讓系統中的一個或多個程序彼此隔絕地執行。例如,執行在區域的程序僅可傳送訊息給其他位於相同區域的程序,而不考慮使用者 ID 和其他憑證資訊。若發生錯誤,只會影響執行在區域內的程序。

全域區域

每個 Solaris 10 系統包含一般全域環境,如之前的作業系統版本,稱為全域區域。全域區域有兩個功能:其為系統的預設區域,且為用來控制系統內管理的區域。若無非全域區域,所有程序皆執行在全域區域 (簡稱區域),並由全域管理員建立。

全域區域是可配置、安裝、管理或解除安裝非全域區域的唯一區域。只有全域區域可以從系統硬體中啟動。管理功能如:實體裝置、路徑或動態重新配置 (DR) 僅可在全域區域中執行。執行在全域區域具適當權限的程序或使用者可存取與其他區域相關的物件。

全域區域中未具權限的程序或使用者,可能可以執行非全域區域中具權限的程序或使用者不允許執行的作業。例如,全域區域中的使用者可以檢視系統中每個程序的資訊。在維護整個系統安全性時,區域可讓管理員委託某些管理功能。

非全域區域

非全域區域不需要專屬的 CPU、實體裝置或部分實體記憶體。這些資源可被執行在單一網域或系統中的區域共用。可在不影響系統中其他區域的情況下啟動或重新啟動區域。每個區域可以提供自訂的一組服務。要強制基本程序隔絕,程序便僅能「看見」或傳送訊息給位於相同區域的程序。可藉由給予每個區域至少一個邏輯網路介面以啟用區域間的基本通訊。執行在區域中的應用程式無法看見其他區域的網路流量,即使個別的封包串流經過相同的實體介面。

需要網路連線的區域會被配置一個或多個專屬的 IP 位址。

如需關於區域的更多資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」

資源使用情況報告和延伸統計資料

若您在 Container Manager 安裝有性能報告管理程式附加軟體產品,您可以建立提供每個容器、資源儲存池、區域、專案或主機之前的資源使用情況資料的報告。CPU 資料、記憶體使用情況資料和 CPU 延伸統計資料儲存在性能報告管理程式資料收集服務的資料庫中。從 GUI,您可以請求詳細說明資源使用狀態的圖表報告,或者您可以匯出資料到逗號分隔值 (CSV) 格式的文字檔。例如,後者可用在帳務和會計應用程式。

如需關於性能報告管理程式軟體的更多資訊,請參閱「Sun Management Center 3.5 性能報告管理程式使用者指南」。如需關於可用報告和統計資料的更多資訊,請參閱關於報告

使用 Container Manager 之前

在安裝和使用 Container Manager 軟體前,估計您需要的資源消耗。做為建立容器程序的一部分,您為執行在容器內的程序提供最小 CPU 保留和可選擇的實體記憶體容量。若您已計算過您的需要、設定您的目標和依序規劃資源,建立容器的程序會較簡單。此外,在開始前列出所有相關的硬體規格之主要清單是非常有用的。

伺服器合併計算

成功的伺服器合併之重要因素為列出所有合併候選對象的伺服器、儲存裝置和應用程式的主要清單。在完成合併計算規劃後,您可以使用此清單開始實作您的計劃。

若您想要在資料中心執行伺服器合併計算,您必須執行數個作業才能安裝和使用 Container Manager 軟體。要執行的部分作業清單包括下列項目:

  1. 選擇要合併計算的應用程式。

  2. 識別元件,例如組成應用程式工作負荷量的程序、使用者群組或使用者。

  3. 決定每個已定義的負荷量的效能需求。此作業與目前系統中監視應用程式的即時活動相關,包括 CPU、記憶體、網路和儲存裝置需求和使用狀態。您還需要決定工作負荷量使用的檔案系統類型、共用檔案系統和共用程式庫,以有效率地配置新的系統和共用資源,例如:唯讀檔案系統、程式庫和線上手冊。

  4. 依哪個應用程式需要最多資源以及它們需要的時間來為共用系統資源的工作負荷量分級。您還需要識別位於相同系統中的競爭工作負荷量。

  5. 識別這些工作負荷量的專案。專案會提供在某種程度上,您覺得有用之用於群組相關工作上的管理名稱。例如,您可能有一個網路服務專案和一個資料庫服務專案。


備註 –

雖然 Solaris 作業系統可以有幾千個容器,為了實用目的和最佳效能,我們建議您不要使用超過 200 個主機,而每個主機約有 10 個區域,每個區域有 10 個專案。


如需關於如何規劃和執行伺服器合併計算的更多資訊,您可以閱讀 Sun Blueprints 書籍「Consolidation in the Data Center」,由 David Hornby 和 Ken Pepple 所著。

Container Manager 範例

下列範例說明如何使用 Container Manager。

一個區域具有多個專案 (Oracle)

在此範例中,您可以在區域內具有一個預設資源儲存池。您可以設定具 1 個資源儲存池、2 個區域的容器。第 1 個區域 (zone_ora1) 具有 Oracle 資料庫應用程式,第 2 個區域 (zone_ws01) 具有 web 伺服器應用程式。每個資源儲存池有兩個 CPU。您最多可在容器設定 8 份 CPU 共用,4 份共用給 zone_ora1,3 份共用給 zone_ws01。容器使用公平共用排程程式。

動態資源儲存池範例

在此範例中,設定一個容器具兩個資源儲池。Pool1 已被指定 1 到 3 個 CPU。pool1 的載入目標為大於 20 % 和小於 80 %。Pool2 為郵件伺服器所使用。視郵件伺服器載入的需求而定,其他儲存池為動態的且可為其應用程式使用 1 到 3 個 CPU。

應用程式共用相同的容器

在此範例中,您可以設定一個容器具有兩個區域。第 1 個區域,zone_ora02 有 7 個專案:1 個專案給使用者 ORACLE,1 個專案給群組資料庫管理員所執行的程序,5 個為預設專案:system、user.root、noproject、default 和 group.staff。第 1 個區域中總共有 100 份 CPU 共用。每個預設專案會被指定 1 份共用。第 1 個專案給使用者 ORACLE 被指定 75 份共用,第 2 個專案給群組。dba 被指定 20 份共用。

第 2 個區域 ( zone_ws_02) 給 web 伺服器。

多重系統中的 Oracle 10g 機架

在此範例中,應用程式 Oracle 10g 執行在多重系統中。在具一個儲存池和一個區域的系統 1 建立專案 (用於 Oracle 10g 應用程式)。然後複製專案的區域和儲存池到第 2 個系統,並將第 2 個系統的專案與 Oracle 10g 應用程式建立關聯。

具多個資源儲存池的多重系統

在此範例中,您具有兩個系統,每個系統皆有兩個儲存池。您在系統 1 和系統 2 皆有具 web 伺服器的專案。每個專案有 10 份 CPU 共用(其每個 web 伺服器分配 5 份共用)。其他 5 份共用保留下來以供日後使用。

Solaris Container Manager 1.1 中的新功能和變更

Solaris Container Manager 1.1 從上一產品版本中變更一些基本字詞。

表 1–1 Solaris Container Manager 1.1 中的變更字詞

N1 Grid Console - Container Manager 1.0 字詞 

Solaris Container Manager 1.1 字詞 

容器定義 

容器 

容器、使用中容器或容器實例 

專案 

Solaris Container Manager 1.1 有下列新功能,其視作業系統不同而不同。

表 1–2 Solaris Container Manager 1.1 中的新功能

優點 

功能 

Solaris 10 (SPARC 和 x86) 

Solaris 9 (SPARC 和 x86) 

Solaris 8 (SPARC) 

在隔絕和虛擬的作業系統環境執行程序 

區域管理 

是 

   

設定和取得系統效能目標 

動態資源儲存池 

是 

   

避免網路擁塞 

網際網路通訊協定服務品質 (IPQoS) 

是 

   

較具彈性的程序管理 

跨容器移除程序的能力 

是 

是 

 

支援時間共用排程程式 

支援其他排程程式類別 

是 

是 

是 

較佳的虛擬工具 

圖表增強功能 

是 

是 

是 

具記憶體分配的顧及區域之容器 

容器增強功能 

是 

是 

是 

前五個資源物件的使用情況報告 

圖表增強功能 

是 

是 

是 

區域管理

Container Manager 可讓您建立、刪除、修改、停止和重新啟動非全域區域。Container Manager 還可探索現有的區域、偵測區域變更、監視和歸檔區域的 CPU、記憶體和網路使用情況,以及產生區域啟動/關閉警示。

如需關於區域的更多資訊,請參閱第 6 章, 管理區域

動態資源儲存池

動態資源儲存池可動態地調整每個資源儲存池的資源分配以符合已建立的系統效能目標。動態資源儲存池可簡化並減少系統管理員的工作負擔。會自動執行調整以維持系統管理員指定的系統效能目標。

您可以為 Solaris 10 系統建立、修改和刪除動態資源儲存池。在配置動態資源儲存限制後 (例如最小和最大 CPU、使用情況目標、地區目標和 CPU 共用),Container Manager 代理程式會動態調整儲存池大小為資源可用性和消耗狀態。

資源儲存池配置會儲存在代理程式和服務資料庫。

IPQoS

IP 服務品質功能可幫助您提供一致的服務等級給網路使用者以及管理網路流量。此服務可讓您分級、控制和收集網路統計。

其功能可控制 Solaris 區域的頻帶內和頻帶外的流量。您可指定區域的輸入/輸出網路頻寬之上限。若超出限制,套裝模組將被丟棄。因為 IPQoS 具有相當數量的 CPU 經常性耗用時間,所以您可以選擇是否要使用此功能。

Container Manager 監視和收集工作使用情況資料,並提供之前的網路使用情況圖表。

彈性程序管理

要增加程序管理的彈性,Container Manager 1.1 可讓您在容器間移動程序。在 Solaris 9 系統中,您可以跨容器移動程序。在 Solaris 10 系統中,您僅可以在相同的區域內跨容器移動程序。

時間共用排程程式

公平共用排程程式 (FSS) 僅支援 Container Manager 1.0。建立或修改資源儲存池時,Container Manager 1.1 可讓您選取排程程式類別、公平共用或時間共用。排程程式類別判定程序優先順序,決定下一個要執行的程式。

變更資源儲存池的排程程式類別後,該資源儲存池的任何新程序會變更為資源儲存池的排程程式類別。Container Manager 不會變更執行中程序的排程程式類別。

容器增強功能

Container Manager 1.1 包含下列容器增強功能:

Container Manager 文件

下表列出本產品中可用的文件資源。最新的文件版本可在 http://docs.sun.com/app/docs/coll/810.6 中取得。

表 1–3 說明文件資源

作業 

資源 

安裝和管理容器 

Installing and Administering Solaris Container Manager 1.1 (本文件)

從本產品存取說明 

Solaris Container Manager 1.1 線上說明。要存取此說明,請在 Solaris Container Manager GUI 按 [說明] 連結。

安裝 Sun Management Center 3.5 Update 1 及其附加產品,包括 Container Manager 

「Sun Management Center 3.5 Installation and Configuration Guide」

尋找安裝問題、執行階段問題、 最新消息 (包括支援的硬體) 和文件問題

「Sun Management Center 3.5 Update 1a Release Notes」

取得 Sun Management Center 3.5 Update 1 新增的功能資訊,以及附加產品性能報告管理程式的增強功能 

「Sun Management Center 3.5 Update 1 補充資料」

取得使用在 Container Manager 的性能報告管理程式 (可選擇的附加產品) 的資訊 

「Sun Management Center 3.5 性能報告管理程式使用者指南」

若使用 Solaris 8 作業系統,您應閱讀關於 Solaris Resource Manager 1.3 的文件 

「Solaris Resource Manager 1.3 安裝指南」

「Solaris Resource Manager 1.3 系統管理指南」

「Solaris Resource Manager 1.3 Release Notes」

若使用 Solaris 9 or 10 作業系統,您應閱讀關於 Solaris 資源管理和區域的文件 

「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」

入門

若您已安裝和設定 Solaris Container Manager,下列連結可幫您快速學習使用此產品: