安裝和管理 Solaris Container Manager 1.1

第 3 章 關於容器和啟動本產品

本章說明容器和專案,以及如何啟動本產品。

本章討論下列主題︰

容器管理簡介

專案為已與主機關聯的容器。專案可幫助組織和管理實體系統資源的收集。當您實作整個伺服器合併計算規劃時,專案是很有用的。專案提供下列功能:

安裝和設定軟體後,馬上便有數種預設專案供您使用。您也可使用會指導您執行程序的精靈來建立您自己的專案。每個專案皆與容器相關聯。可一再使用此容器來建立新專案。專案提供下列優點:

GUI 以瀏覽器為基礎且提供三個管理檢視 (標籤):一個從主機觀點,一個從容器觀點,一個為開啟的警示。您可以藉建立群組和選取群組應包含的元素以進一步組織主機檢視和容器檢視。

此外,軟體可輕易地檢查執行在容器的程序和使用的資源。可取得數種圖表選項以幫助估算每個容器或主機的資源使用情況等級,包括匯出資料到檔案的功能。這些功能可讓您監視和重新估算資源消耗以做適當的調整。

使用軟體的警示功能,當容器的資源使用情況到達您設定的臨界值,將使用電子郵件通知您。可在主機和容器的 GUI 看見警示圖示。

資源變更工作功能可讓您使用一個請求來排程一個或多個容器中目前資源界限的變更。精靈可指導您執行建立或修改資源變更工作時所需的步驟。

關於容器特性

容器具有下列特性:

您指定給容器的名稱為永久性的且無法變更。專案名稱也是永久性的。容器的其他識別資訊是可變更的。

軟體會儲存容器,且可重覆使用容器直到其被刪除。專案為已與主機相關聯的容器。當專案已與主機相關聯,其便為使用中,且其資源保留已設定。

因為可在數個不同的主機中同時使用多個專案 (具有相同的定義和資源保留),容器可方便地管理資料中心之間的專案。儲存容器後,便可隨時使用它以啟動任何適當主機中的專案。因此,可使用容器為範本來建立新專案。

對多個專案來說,容器的功能類似範本。容器將專案的一般特性儲存在中央位置。專案的一般特性為:

其他特性 (例如 CPU 共用和記憶體限制) 是針對專案在其上啟動的主機。在 Solaris Container Manager 1.1,此一般特性設定 (其儲存在中心位置) 稱為容器。若容器在特定主機中啟動,其被創設為 Solaris 專案並儲存在 /etc/project

例如,公司想要設定其電子郵件應用程式的容器。專案的一般特性為:

若容器在特定主機中啟動,公司會創設專案且現在可指定資源儲存池、CPU 共用和記憶體限制。

圖 3–1 容器和專案

容器可像範本般建立多個專案

您可以使用容器以在區域和主機間建立多個專案。例如,若您使用單一容器在三個不同的主機中建立三個使用中專案,您在該容器中有一個容器和三個專案。變更容器中的基本資訊會變更根據該容器的所有專案。

[建立專案] 精靈提供您建立專案的選項,其可完成所有步驟。會同時建立容器且其名稱儲存在 GUI 中。您也可以使用精靈指導您執行程序以選擇建立想要的容器且在稍後啟動專案。

關於容器,您可以使用 GUI 執行下列作業:

關於專案,您可以使用 GUI 執行下列作業:

專案狀態

實際上,專案不會強制限制您為應用程式設定的資源消耗界限。而是在您提供最小 CPU 保留和記憶體容量並啟動專案後,Solaris 核心才開始強制限制這些界限。在使用專案前,您需要多瞭解專案狀態。專案可處於下列三種狀態其中的一種:已定義、使用中和非使用中。

圖 3–2 專案狀態

圖解顯示專案狀態。周圍的文字說明其內容。

專案的生命週期間可在這些狀態中變換。

容器和專案

容器建立在當專案本身還未完全形成的初始階段。每個專案必須具有唯一名稱且可無限期地儲存在資料庫中。

圖 3–2 顯示容器與主機建立關聯後,專案會成為使用中狀態。非使用中專案可在關閉且不再與主機相關聯後,變回已定義狀態。

啟動專案

啟動專案的第一步驟為將其容器與主機建立關聯。第二個步驟為設定資源界限,意即,指定專案的最小 CPU 保留和記憶體容量。專案必須與可支援這些資源界限的主機建立關聯。使用中專案也可指稱為已部署,意指專案已被推出並常駐在主機。

使用新專案精靈建立以應用程式為基礎的專案時,可提供識別與應用程式相關聯的程序之符合表示式 。然後,與符合表示式相對應的所有程序會自動移動到容器下。專案啟動時,/etc/project 資料庫中的項目會建立在與 容器相關聯的主機中。符合的程序會對應地移動容器的專案名稱下。程序移動後,會收集並儲存專案的所有資源使用情況。

非使用中專案

專案關閉時,不會強制限制資源界限。關閉的專案會成為非使用中狀態並從主機的 /etc/project 檔案中刪除。處於非使用中狀態時,專案仍存在軟體的資料庫中,等候未來可能的啟動。非使用中的專案重新啟動後,會再次強制限制容器的資源界限。

所有關於使用中專案的資源使用所收集的資料皆保留在資料庫中。關閉專案後,您仍可以請求非使用中專案最多 30 天的使用情況報告。

Container Manager GUI

Container Manager 軟體不支援 Solaris 軟體資源管理中的標準指令行指令。您應該從 Container Manager 圖形化使用者介面 (GUI) 管理容器。使用瀏覽器從 Java Web Console 啟動 GUI。可支援下列瀏覽器:

Procedure啟動 Container Manager GUI

步驟
  1. 若您的 UNIX 使用者 ID 不在 /var/opt/SUNWsymon/cfg/esusers 檔案中,請建立此項目。

    您必須被指定到 esadmesdomadm 群組。

    如需關於建立項目和指定到群組的更多資訊,請參閱「Sun Management Center 3.5 Installation and Configuration Guide」中的「Setting Up Users」

  2. 啟動瀏覽器。

    如需關於支援的瀏覽器清單的資訊,請參閱Container Manager GUI

  3. 要連線 Container Manager GUI,請輸入:


    https://sunmc-伺服器_機器_名稱:6789/containers
    

    會顯示 Java Web Console 登入頁。

    圖 3–3 Java Web Console 登入頁

    Java Web Console 登入頁有三個欄位:伺服器名稱、使用者名稱和密碼。

    若未顯示登入頁,您可能需要重新啟動 Java Web Console。請參閱重新啟動 Java Web Console 以取得說明。


    提示 –

    若連線到 Console 頁,請按一下系統區段下方的 Solaris Container Manager 1.1 連結以存取 GUI。


  4. 使用您的 UNIX 使用者 ID 和密碼登入 Java Web Console。

    會出現 Container Manager GUI。螢幕包含三個標籤:主機、容器和開啟的警示。

    圖 3–4 Container Manager 主頁

    Container Manager 主頁包含三個標籤:主機、容器和開啟的警示。

Procedure重新啟動 Java Web Console

若您無法存取 Java Web Console,請使用此指令行以將其重新啟動。

步驟

    以超級使用者身分 (su -),鍵入下列指令以重新啟動 Java Web Console:


    # /usr/sbin/smcwebserver restart
    

Container Manager GUI 標籤

下表提供出現在 Container Manager GUI 右窗格中的標籤之資訊。

表 3–1 Container Manager GUI 標籤

標籤 

標籤名稱 

內容 

主機 (檢視) 

內容 

提供已選取主機中資源儲存池的資訊。 

 

特性 

提供關於已選取主機、區域、專案或資源儲存池的特性之資訊。 

 

使用情況 

提供關於主機、區域、專案或儲存池的每日、每週或每月的資源使用情況之資訊。可取得使用中專案的即時使用情況資料。安裝有性能報告管理程式軟體才可看見此標籤。 

 

專案 

提供與主機相關聯的專案之資訊。 

 

區域 

提供與主機相關聯的區域之資訊。 

容器 (檢視) 

內容 

提供專案的資訊。 

 

特性 

提供關於已選取主機、容器、專案或資源儲存池的特性之資訊。 

 

使用情況 

提供關於主機、區域、專案或儲存池的每日、每週或每月的資源使用情況之資訊。可取得使用中專案的即時使用情況資料。安裝有性能報告管理程式軟體才可看見此標籤。 

 

工作 (資源變更工作) 

提供已排程資源變更工作的資訊。您也可以在此標籤建立新的資源變更工作。注意:預設容器無法與資源變更工作建立關聯。 

開啟的警示 

 

提供關於開啟的警示之資訊,包括嚴重性、訊息、管理物件、起始時間和回應。 

資源儲存池 (向下鑽研) 

內容 

提供關於選取的資源儲存池中區域的資訊。 

 

特性 

提供關於選取的資源儲存池中特性的資訊。 

 

使用情況 

提供關於儲存池的每日、每週或每月的資源使用情況之資訊。安裝有性能報告管理程式軟體才可看見此標籤。 

 

專案 

提供與選取的資源儲存池相關聯的專案之資訊。 

區域 (向下鑽研) 

內容 

提供關於選取的區域中專案的資訊。 

 

特性 

提供關於選取的區域中特性的資訊。 

 

使用情況 

提供關於區域的每日、每週或每月的資源使用情況之資訊。安裝有性能報告管理程式軟體才可看見此標籤。 

專案 (向下鑽研) 

特性 

提供關於選取的專案中特性的資訊。 

 

使用情況 

提供關於專案的每日、每週或每月的資源使用情況之資訊。安裝有性能報告管理程式軟體才可看見此標籤。 

 

處理程序 

提供關於選取的專案中特性的資訊。 

 

警示臨界值 

用來設定或移除警示臨界值。 

主機檢視

[主機] 檢視從主機的觀點組織資訊。所有您正在管理的代理程式機器會出現在瀏覽視窗中。當您按一下主機名稱旁的展開三角形,會出現每個主機中可用的資源儲存池。在此檢視中,您還可管理與主機相關聯的容器。

已安裝軟體的所有代理程式主機會自動被探索,並增加到 [主機] 檢視。可從瀏覽視窗中的左標籤存取此檢視。已探索的所有代理程式主機一開始會被放置在標題為 [主機] 的預設群組。您可以建立新群組和移動主機到相關的群組來進一步組織此檢視。


備註 –

僅有為 Sun Management Center 伺服器環境的一部分並且安裝有 Solaris Container Manager 1.1 的代理程式機器才會載入到 [主機] 檢視。如需關於伺服器環境的資訊,請參閱「Sun Management Center 3.5 使用者指南」中的「Sun Management Center 架構」


表 3–1 列出 [主機] 檢視中的可用標籤及其資訊。

[專案] 表中列出與主機相關聯的每個專案實例的資訊。

下圖顯示 [主機] 檢視中與預設儲存池相關聯的 [專案] 表。

圖 3–5 範例:顯示專案表的主機檢視

主機檢視中的專案表之螢幕畫面。周圍的文字說明其內容。

[專案] 表提供每個專案的資訊、每欄中詳細說明專案情況。[專案] 表提供下列資料:

專案名稱

專案的名稱

容器名稱

容器的名稱

狀況

專案的狀態:使用中和非使用中

資源儲存池名稱

與專案連結的資源儲存池

區域名稱

專案常駐的區域之名稱。若為 Solaris 8 和 Solaris 9 主機,區域名稱皆為全域。

CPU 保留 (CPU 共用)

專案的最小 CPU 共用設定

CPU 使用狀態 (CPU)

專案正在使用的 CPU 數量

記憶體容量 (MB)

記憶體容量上限 (以 MB 為單位)

記憶體使用狀態 (MB)

專案已使用的記憶體 (以 MB 為單位)

共用記憶體 (MB)

允許執行在此專案中的程序所使用的記憶體總量 (以 MB 為單位)

[資源儲存池] 表提供關於每個資源儲存池的資訊。[資源儲存池] 表提供下列資料:

資源儲存池名稱

資源儲存區名稱

目前的 CPU

資源儲存池目前的 CPU 數量設定

未保留的 CPU 共用

資源儲存池中未指定到區域或專案的 CPU 共用

排程程式

資源儲存池的排程程式設定:公平共用排程程式的時間共用排程程式

CPU 共用

資源儲存池的 CPU 共用設定

最小 CPU 保留

資源儲存池的最小 CPU 數量設定

最大 CPU 保留

資源儲存池的最大 CPU 數量設定

[區域] 表提供每個區域的資訊。[區域] 表提供下列資料:

區域名稱

區域名稱

區域狀態

區域的狀態:已配置、未完成、已安裝、就緒、執行中、關閉中或當機

區域主機名稱

區域為虛擬主機的唯一名稱

區域路徑

以根 (/) 目錄為開頭的絕對路徑

IP 位址

區域的 IP 位址

專案 CPU 共用

區域中分配到專案的 CPU 共用數量

未保留的 CPU 共用

分配到與此區域相關聯的專案之可用 CPU 共用數量

保留的 CPU 共用

資源儲存池中分配到此區域的 CPU 共用數量

資源儲存池

區域的資源儲存池

容器檢視

[容器] 檢視從容器的觀點組織資訊。所有容器和專案會出現在瀏覽視窗中。由於可重複地使用容器以製作新專案,因此您可輕易地從此檢視存取容器,並執行其他管理作業。

完成安裝和設定後, [容器] 檢視會自動地新增 [容器] 群組為預設。您便可從 [容器] 檢視管理容器。

下圖顯示 [容器] 檢視。

圖 3–6 範例:容器檢視顯示與預設容器相關聯的主機

容器檢視的螢幕畫面。周圍的文字說明其內容。

表 3–1 列出 [容器] 檢視中的可用資訊。

使用群組組織主機和容器

[主機] 檢視包含預設的群組 [主機]。安裝軟體後已探索的所有主機會被放置在此群組中。相同地, [容器] 檢視的預設群組為 [系統],主機的所有預設容器皆放置在此處。您可以在每個檢視建立其他群組以組織主機和容器。

您可以使用群組組織資料中心中的幾十或幾百個系統。例如,您可以將位於同一處的主機放置在一個群組中。您可以將屬於同一客戶 (內部或外部) 或部門的容器放置在一個群組中。相同地,您可以將具有相似應用程式的容器放置在一個群組中。

Procedure建立容器群組或主機群組

步驟
  1. 若 Container Manager GUI 尚未開啟,請如啟動 Container Manager GUI中的說明將其開啟。

  2. 在瀏覽視窗中選取適當的檢視。

    • 若新的容器群組,請選取 [容器] 檢視。[容器] 表會出現在右窗格中。

    • 若為新的主機群組,請選取 [主機] 檢視。[主機和群組] 表會出現在右窗格中。

  3. 按一下 [新群組] 按鈕。

    會出現一個對話方塊。

  4. 輸入群組的名稱,然後按 [確定]。

    名稱不得超過 32 個字元。

    新群組會出現在選取的檢視中。

Procedure移動容器或主機到不同的群組

步驟
  1. 若 Container Manager GUI 尚未開啟,請如啟動 Container Manager GUI中的說明將其開啟。

  2. 在瀏覽視窗中選取適當的檢視。

    • 要移動容器到不同的群組,請選取 [容器] 檢視。[容器] 表會出現在右窗格中。

    • 要移動主機到不同的群組,請選取 [主機] 檢視。[主機和群組] 表會出現在右窗格中。

  3. 要啟用表中的 [移動] 按鈕,請選取要移動的容器或主機的核取方塊。

  4. 在右窗格中,按一下 [移動] 按鈕。

    對話方塊會列出可用的群組。

  5. 選取容器或主機要移動到的群組。

  6. 按一下 [確定]。

    容器或主機會移動到選取的群組。

預設容器

設定軟體後, [容器] 檢視會初始載入 [系統] 群組。此群組在執行 Solaris 9 或 Solaris 10 作業系統 (OS) 的主機中容納有下列五個預設的容器:

上述五個預設的容器皆在 /etc/project 檔案中有相對應的檔案。此五個項目特定地對應到 defaultnoprojectuser.root systemgroup.staff


備註 –

在執行 Solaris 8 發行版本的主機中,具有群組成員的使用者 (group.staff) 容器不存在。除此之外,預設的容器皆相同。


圖 3–7 範例:顯示具容器的系統容器群組

顯示具容器的系統容器群組之螢幕畫面。周圍的文字說明其內容。

每個預設的容器皆在使用中狀態,其界限設定為最小 1 個 CPU 保留 (CPU 共用) 且無記憶體容量。預設的容器永遠與主機的預設資源儲存池 (pool_default ) 連結。若安裝有性能報告管理程式,您便可以監視每個預設容器的資源使用情況和執行報告。

無法關閉、編輯或刪除這些預設的容器。因此每個容器被標示為「唯讀」。

每個 UNIX 使用者會被指定到一個預設的專案,且被指定到相對應的預設容器。一開始,預設容器會保留執行在系統中的所有程序。建立專案時,程序會從相對應的預設容器移動到您建立的專案。

關於建立容器

每個專案皆使用容器啟動。專案有三種類型,視建立期間選取的專案類型而定。專案類型決定如何追蹤程序。

專案類型

建立新容器時,您必須選取專案類型。專案為相關工作的網路內管理識別器 (ID)。執行在容器的所有程序具有相同的專案 ID,且容器會使用此專案 ID 追蹤已使用的資源。容器類型是根據建立容器時所選取的專案類型。

每個容器具有永久性資訊的專案名稱。容器在主機中啟動時,此專案名稱會增加到該主機的 /etc/project 檔案。只要容器在該主機中維持啟動狀態,此項目便會存在。

主機中無法同時有兩個專案具有相同的使用中專案名稱。這是因為執行在容器的程序是使用專案 ID 來追蹤,所以每個主機中的專案名稱必須是唯一的。

建立以使用者為基礎和以群組為基礎的專案時,使用者和群組名稱會成為專案名稱的一部分。若是以使用者為基礎的容器,專案名稱變成 user.使用者名稱。若是以群組為基礎的容器,專案名稱變成 group.群組名稱。因此,建立以使用者為基礎或以群組為基礎的專案時,您無法為預設容器使用與 /etc/project 中的項目重複的使用者名稱或群組名。如需更多資訊,請參閱預設容器

在建立以應用程式為基礎的容器時,需提供您選擇的專案名稱。建立專案精靈可接受不同的以應用程式為基礎的專案具有重複的名稱。但具有相同專案名稱的應用程式為基礎的專案無法同時在主機中啟動。僅在您計劃在不同的主機中啟動這些容器,才可在建立以應用程式為基礎的專案時重複使用專案名稱。若您嘗試在已具有相同專案名稱的專案之主機中啟動第二個專案,啟動將會失敗。

下表提供可用的三種專案類型之詳細資訊,且其根據選擇會發生變更。

表 3–2 專案類型詳細資訊

專案類型 

作業系統版本 

詳細資訊 

以使用者為基礎 

Solaris 8 

Solaris 8 發行版本僅支援此專案類型。 

/etc/project 檔案中的專案名稱會變成 user.使用者名稱。專案會變成使用者的主要預設專案。

 

Solaris 9 和 Solaris 10 

/etc/project 檔案的專案名稱會變成 user.使用者名稱, 並具有可加入此專案的 UNIX 使用者清單。

有效的格式為使用者名稱

以群組為基礎 

Solaris 9 和 Solaris 10 

/etc/project 檔案的專案名稱會變成 group.群組名稱

有效格式為群組名稱

以應用程式為基礎 

Solaris 9 和 Solaris 10 

專案名稱可以是應用程式名稱或任何其他選擇的名稱。您提供的名稱會增加到 /etc/project 檔案。

可提供符合表示式以自動移動符合程式到專案名稱。此表示式為大小寫相符的。 

必須提供目前程序執行在其下之相對應的使用者名稱群組名稱

關於設定資源保留

使用專案管理應用程式的資源前,您必須先知道應用程式的資源趨勢。若記憶體容量不適當,某些應用程式的效能 (例如 ORACLE®) 將大打折扣。每個專案必須設定資源保留:最小 CPU 共用以及可選擇是否設定的最大記憶體保留 (記憶體容量)。在建立應用程式的資源需求後,才可開始使用專案來管理這些保留。


注意 – 注意 –

為專案設定實體記憶體容量時,請勿小於應用程式一般所使用的。由於分頁和交換時應用程式需要使用較多的虛擬記憶體,此動作可能會負面地影響應用程式的效能且可能會導致重大的延遲。


您必須完成伺服器合併計算規劃,才開始使用專案來管理系統資源。有一項重要的相關作業為確認您的合併計算計劃中應用程式的資源消耗趨勢。理想狀況下,您需在測試環境中至少確認一個月內應用程式的資源使用情況的趨勢,才開始在生產環境中實作您的計劃。建立 CPU 和記憶體消耗趨勢後,您應該允許您的需求高於一般記憶體的需求幾個百分點。

設定專案所需的 CPU 共用數量的保留時,請指定 CPU 數量為整數。例如,25、1 和 37 皆為有效的數量。共用字詞是用來定義分配到專案的系統 CPU 資源的比例。若您指定較大的 CPU 共用數量到專案 (相對於其他專案),此專案會從公平共用排程程式得到較多的 CPU 資源。

CPU 共用不等於 CPU 資源的百分比。共用是用來定義關於其他工作負載量之工作負載量的相對重要性。例如,若銷售專案比市場專案重要兩倍,則應指定銷售專案的共用為市場專案的兩倍。而這與您指定的共用數目無關,2 份共用的銷售專案與 1 份共用的市場專案,和 18 份共用的銷售專案與 9 份共用的市場專案是相同的。在這兩個情況中,銷售專案的 CPU 數量皆為市場專案的兩倍。

CPU 共用可分為下列兩種:

在建立儲存池或專案期間指定 CPU 共用

在執行 Solaris 8 的作業系統中,僅可取得一個資源儲存池 (pool_default)。pool_default 具有 100 份 CPU 共用的值。

在執行 Solaris 9 和 Solaris 10 的作業系統中,在您建立新的資源儲存池時,會建立儲存池的 CPU 共用的值。Solaris Container Manager 會提供預設值,但您也可以輸入任何整數值。某些系統管理員會為資源儲存池使用每個 CPU 具有 100 份 CPU 共用的公式。您可以為例如,您可以為具有 1 份CPU 的儲存池指定 100 份 CPU 共用。

假設此儲存池具有三個專案:專案 X、專案 Y 和專案 Z。您可以為最重要的專案 X 指定 50 份 CPU 共用,而專案 Y 有 10 份共用,專案 Z 有 40 份共用。

圖 3–8 專案 CPU 共用

專案的 CPU 共用

在使用新專案精靈建立專案時,您可以為專案指定 CPU 共用。新專案精靈會顯示儲存池的未保留的 CPU 共用,所以您可以判定可用的 CPU 共用並為專案指定適當的數量。

圖 3–9 CPU 共用

為專案指定 CPU 共用

(僅限 Solaris 10) 在建立區域期間指定 CPU 共用

若您的主機執行 Solaris 10 作業系統,您可以建立區域並為各區域指定 CPU 共用總數,且為區域中的專案指定專案 CPU 共用。這些為相關的實體。

您可以在使用新區域精靈建立區域期間指定 CPU 共用和專案 CPU 共用。在新區域精靈的步驟 4,請選取一個資源儲存池。精靈會顯示儲存池的 CPU 共用總數以及可用的 CPU 共用總數。

輸入您想要從資源儲存池分配到此區域的 CPU 共用的值。此整數值必須小於或等於儲存池的可用 CPU 共用總數。

圖 3–10 區域共用

為區域指定 CPU 共用

若儲存池的可用 CPU 共用總數為 100 份。在此範例中,假設我們從資源儲存池指定區域有 20 份 CPU 共用。

在建立區域期間指定專案 CPU 共用

在新區域精靈的步驟 4,您還可輸入專案 CPU 共用。此欄位可指定區域中分配到專案的 CPU 共用數量。建立此值時,便建立了區域的專案 CPU 共用之值。您可輸入任何整數值。您輸入的整數值決定您要到達的明確性。

例如,假設我們指定區域 A 的專案 CPU 共用為 1000 份。在實體層級中,1000 份專案 CPU 共用為 20 份 CPU 共用,其從資源儲存池取得,分為 1000 份共用。下列公式顯示此範例中 1 份專案 CPU 共用和 CPU 共用之間的關係:

1 份專案 CPU 共用 = 20 (分配到區域的 CPU 共用數量)/1000 (專案 CPU 共用數量) = 0.02 份 CPU 共用

建立專案時,例如在區域 A 建立專案 1 ,專案 1 會從區域取得共用,而不是直接從資源儲存池。若指定區域 A 的專案 1 有 300 份共用,則其取得 300 份專案 CPU 共用或 300/1000 x 20/100 = 0.06 份 CPU 共用。

圖 3–11 區域 CPU 共用

區域的 CPU 共用

呼叫新專案精靈時,可為專案指定專案 CPU 共用。在新專案精靈的步驟 7,提供專案的資源保留,在標示為 CPU 保留 (CPU 共用) 的欄位中輸入專案 CPU 共用。若您僅在 Solaris 10 主機的區域中建立專案,才會出現此步驟。

圖 3–12 專案 CPU 共用

為專案指定專案 CPU 共用


備註 –

在 Solaris 8 或 Solaris 9 主機中建立專案時,[未保留的 CPU 共用] 欄位是用來輸入 CPU 共用 (非專案 CPU 共用)。



注意 – 注意 –

請勿使用指令行 (zonecfg 指令) 手動變更 CPU 共用。這將會妨礙 Solaris Container Manager 的計算。


全域區域及其專案

全域區域是唯一未連結到唯一資源儲存池的區域。其可從任何儲存池取得 CPU 資源。全域區域中的專案可從主機中的每個資源儲存池取得 CPU 資源,因為隱藏式全域區域也存在主機中的每個資源儲存池。

例如,資源儲存池 (Pool_default) 具有 4 個 CPU 並在其上部署有 zone_1 和 zone_2。Pool_default 具有 10 份 CPU 共用。Zone_1 具有 5 份 CPU 共用,zone_2 具有 4 份 CPU 共用,而全域區域具有 1 份 CPU 共用。

另一個資源儲存池 (Pool_1) 具有 2 份 CPU 和 10 份 CPU 共用。Pool_1 僅具有一個區域,已部署的 zone_3。Zone_3 具有 9 份 CPU 共用。全域區域具有 1 份 CPU 共用。

全域區域中的專案是從它們部署在其上的儲存池的 1 份 CPU 共用取得其 CPU 資源。

在 Solaris Container Manager 中,全域區域中的專案必須部署在 pool_default。

公平共用排程程式 (FSS)

Container Manager 使用公平共用排程程式 (FSS) 以確認您設定的最小 CPU 共用。公平共用排程程式為預設的排程程式。公平共用程式會藉由使用專案的共用除以使用中專案的共用總數,來計算分配到專案的 CPU 比例。使用中專案為至少具有一個使用 CPU 的程序之專案。閒置專案 (即未具使用中程序的專案) 的共用不會被計算。

例如,三個專案,銷售、市場和資料庫,分別具有兩個、一個和四個已分配共用。所有專案為使用中。資源儲存池的 CPU 保留以下列方式分發:銷售專案取得 2/7、市場專案取得 1/7,而資料庫專案取得 4/7 的 CPU 資源。若銷售專案閒置,市場專案會取得 1/5 而資料庫專案會取得 4/5 的 CPU 資源。

注意:若 CPU 有競爭狀態,則公平共用排程程式僅會限制 CPU 使用狀態。系統上唯一使用中的專案可以使用百分之百的 CPU,不論其擁有的共用數量是多少。不會浪費 CPU 循環。若專案因沒有工作可執行而沒有使用其可用的全部 CPU,剩餘的 CPU 資源就會分配給其他使用中的程序。若專案沒有定義任何 CPU 共用,其會被指定一個共用。具有零 (0) 個共用的專案之程序會以最低的系統優先權執行。只有專案具有共用且未使用 CPU 資源時才會執行這些程序。

時間共用排程程式 (TS)

時間共用排程程式會提供每個程序相對等的存取權以存取可用的 CPU,根據優先權分配 CPU 時間。因為不需要管理 TS,所以其使用方法相當簡單。不過,TS 無法保證特定應用程式的效能。若不需要分配 CPU,您應該使用 TS。

例如,若兩個專案被指定到 FSS 資源儲存池,且它們各有兩個共用,則執行在那些專案的程序數量是不相關的。一個專案僅可存取可用 CPU 的 50%。因此,若 1 個程序執行在銷售專案,99 個程序執行在市場專案,則這 1 個銷售專案可存取 CPU 的 50%。市場專案中的 99 個程序必須共用 50% 的可用 CPU 資源。

TS 資源儲存池中,每個程序會分配 CPU。銷售專案中的 1 個程序僅可存取 1% 的 CPU,而市場專案中的 99 個程序可存取 99% 的可用 CPU 資源。

如需關於公平共用排程程式或時間共用排程程式的更多資訊,請參閱「System Administration Guide: Network Services」

使用 Container Manager 以取得應用程式資源消耗的趨勢

您可以在測試環境中使用 Container Manager 為工具執行下列作業,以取得應用程式資源消耗的趨勢:

  1. 在安裝和設定任何所需的軟體時一起安裝和設定 Container Manager 軟體。

    如需更多資訊,請參閱第 2 章, Container Manager 安裝和設定

  2. 在您想要監視的所有代理程式機器上安裝性能報告管理程式。

    如需更多資訊,請參閱第 2 章, Container Manager 安裝和設定「Sun Management Center 3.5 性能報告管理程式使用者指南」

  3. 建立您想要取得其趨勢的應用程式之以應用程式為基礎的使用中容器。在新建精靈中,僅設定最小 CPU 保留。請勿設定記憶體容量。

    如需更多資訊,請參閱建立以應用程式為基礎的專案建立以應用程式為基礎的專案

  4. 監視幾個禮拜的每日、每週或即時圖表中所使用的資源。執行在個別主機中的容器可取得兩個圖表 (一個為已使用的 CPU 和記憶體資源)。您還可檢視 [程序] 表以監視執行在應用程式中的程序。

    如需更多資訊,請參閱請求使用中專案的資源使用情況報告檢視專案程序

  5. 在建立應用程式的最大實體記憶體需求後,,請修改容器的特性以包含記憶體容量。設定容量時,請勿設定小於應用程式使用的最大記憶體容量。

    如需更多資訊,請參閱使用特性表修改專案

  6. 若使用的記憶體開始超出設定的記憶體容量,請設定警示以提醒您。使用特性表以調整記憶體容量。

    如需更多資訊,請參閱設定警示臨界值使用特性表修改專案

在使用 Container Manager 建立資源使用情況的趨勢後,您可以使用容器在您的生產環境中合併計算伺服器。

如需關於如何規劃和執行伺服器合併計算的更多資訊,您可閱讀 Sun Blueprints 書籍「Consolidation in the Data Center」,由 David Hornby 和 Ken Pepple 所著。如需關於執行 ORACLE 資料庫的系統之伺服器合併計算,您可閱讀 Sun 技術文件「Consolidating Oracle RDBMS Instances Using Solaris Resource Manager Software」