安裝和管理 Solaris Container Manager 1.1

第 4 章 管理專案

本章包含建立、使用和管理專案的程序。

本章討論下列主題︰


備註 –

您必須是專案管理員才可管理 (建立、啟動、關閉、修改、刪除) 專案。在設定 Solaris Container Manager 軟體時會指定專案管理員。


建立專案

在安裝和設定軟體後,除了可用的預設容器外,您可以建立自訂專案。組合使用兩種類型的容器可幫助您實作伺服器合併計算的規劃。

使用 [新專案] 精靈以建立自訂專案。您可以選擇僅建立並儲存容器到 [容器] 檢視。或者,您可以完成所有精靈步驟以建立專案。上述兩種情況都使用相同的精靈。

若您選擇僅建立容器,其名稱會儲存在 [容器] 檢視。您可以稍後使用容器建立一個或多個專案。如需關於如何啟動專案的更多資訊,請參閱啟動或關閉專案

若您選擇建立專案,建立容器也為程序的一部分。建立專案完成後,容器會儲存在 [容器] 檢視的瀏覽視窗。您可以使用相同的定義以建立與多個主機關聯的其他專案。每個主機的這些專案 (包括名稱和專案類型) 之定義都會相同。您可以為每個主機設定不同的專案資源保留,或者使其全部相同。由於提供此彈性功能,因此您可視不同情況來調整符合資源需要。如需更多資訊,請參閱關於容器特性

[新專案] 精靈可指導您執行建立專案的程序。在透過精靈執行建立專案時,您應具有下列可用資訊:

可從 GUI 的三個不同位置存取此精靈,不過都要按 [新精靈] 按鈕。視您從 GUI 的什麼位置存取精靈而定,您可能不需要提供所有資訊。再次提醒您,視您的進入點而定,某些資訊可能會自動完成。

Procedure啟動新專案精靈

可從 GUI 的三個位置存取 [新專案] 精靈。視您從 GUI 的什麼位置存取精靈而定,您可能不需要完成所有執行畫面,因為某些資訊會自動完成。

如需新專案精靈的更多範例,請參閱建立以應用程式為基礎的專案

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

  2. 在瀏覽視窗中,判定您想要建立的容器關係。

    • 要自動為特定主機與容器建立關聯,請執行下列步驟:

      1. 從 [主機] 檢視的瀏覽視窗選取主機名稱。

        若有需要,請按主機群組名稱以展開清單。

      2. 選取右窗格中的 [專案] 標籤。

        會出現 [專案] 表。

      使用此方法建立容器程序期間,您需要選取主機。

      [主機] 檢視的螢幕畫面會顯示 [新專案] 按鈕。周圍的文字說明其內容。
    • 要自動將專案連結到特定資源儲存池:

      1. 從 [主機] 檢視的瀏覽視窗中選取資源儲存池名稱。

        若有需要,按一下主機名稱旁的按鍵符號以展開清單。會出現指定到主機的資源儲存池。

      2. 選取右窗格中的 [專案] 標籤。

        會出現 [專案] 表。

      您不需要指定資源儲存池為建立容器程序的一部分。

    顯示 [新專案] 按鈕的 [主機] 檢視 (資源儲存池) 之螢幕畫面。周圍的文字說明其內容。
  3. 在主機專案表或主機資源池表按一下 [新專案] 按鈕。


    備註 –

    出現在右窗格表格的 [新專案] 按鈕永遠為可用的,請忽略您己選取的方法。


    會出現 [新專案] 精靈。出現的第一個畫面為 [簡介] 畫面。

    [新專案] 精靈 [簡介] 畫面的螢幕畫面。周圍的文字說明其內容。

建立以使用者或群組為基礎的專案


備註 –

若您使用 Solaris 8 發行版本,僅可取得以使用者為基礎的容器類型。


若您想要容器可管理由 UNIX 使用者名稱或 UNIX 群組名稱識別的程序, 您應該建立以使用者為基礎或以群組為基礎的容器。在建立程序期間選取的專案類型決定完成的容器是以使用者為基礎或以群組為基礎。

Procedure建立以使用者或群組為基礎的專案

步驟
  1. 啟動新專案精靈所說明啟動 [新專案] 精靈。

    會出現 [簡介] 畫面。

  2. 選取 [使用者] 或 [群組] 為專案類型。

    具有以使用者為基礎的專案類型之容器會使用相同的 UNIX 使用者名稱追蹤程序。

    具有以群組為基礎的專案類型之容器會使用相同的 UNIX 群組名稱追蹤程序。


    備註 –

    在 Solaris 8 作業系統中,只支援以使用者為基礎的容器類型。


  3. 提供符合下列需求的專案類型識別碼:

    (在 Solaris 8 中)

    • 以使用者為基礎的專案 - 您必須在第一個欄位中提供有效的 UNIX 使用者名稱。那些可加入專案的使用者之 UNIX 使用者名稱可增加在第二個欄位。那些可加入專案的群組之 UNIX 群組名稱可增加在第三個欄位。使用逗號分開多個項目。

      請勿提供使用在其他以使用者為基礎的專案或第一個欄位中的預設專案之使用者名稱。

    • 以群組為基礎的專案 - 您必須在第一個欄位中提供有效的 UNIX 群組名稱。那些可加入專案的群組之 UNIX 群組名稱可增加在第二個欄位。那些可加入專案的使用者之 UNIX 使用者名稱可增加在第三個欄位。使用逗號分開多個項目。

      請勿提供使用在其他以群組為基礎的專案或第一個欄位中的預設專案之群組名稱。


    備註 –

    在 Solaris 9 和 Solaris 10,不需要有效的使用者名稱和群組名稱。不過,其他使用者名稱和群組名稱必須出現在系統中。


    如需關於此專案類型的其他資訊,請參閱表 3–2

  4. 若僅藉由選取主機名稱存取 [新專案] 精靈 (未選取儲存池),請指定支援專案的資源需求之資源儲存池。

    在專案中啟動的新程序會連結到相對應的資源儲存池。啟動專案後,專案保留的新程序會連結到其資源儲存池。

    • 指定新資源儲存池:

      1. 選取 [建立新資源儲存池]。

      2. 提供資源儲存池的名稱。

        其名稱必須為字母數字式,且不可包含空格。字元可包括破折號 (-)、底線 (_) 和點 (.)。

      3. 指定 CPU 的數量。

        CPU 數量必須為不可小於 1 的整數,且不可超過主機中可用的 CPU 數量。會顯示主機中的 CPU 總數量及目前可用的數量。

    • 指定現有的儲存池:

      1. 選擇 [使用現有資源儲存池]。

        會出現可用的資源儲存池清單。

      2. 選取清單中儲存池名稱旁的單選按鈕。

        會給定指定到每個資源儲存池的 CPU 總數量,以及每個儲存池中仍可用的未保留 CPU 數量。容器會連結到選取的資源儲存池。

  5. (僅限 Solaris 10) 選取現有的區域。

    從可用的區域按一下按鈕以將在專案和區域之間建立關聯。

  6. 為專案提供資源保留。

    會提供主機中的最大 CPU 數量、未保留 CPU 共用數量和可用的記憶體資源。

    CPU 保留是必要的,且提供的值必須為整數。若沒有程序執行在與同樣主機相關聯的其他容器上,具有零個 CPU 保留的容器僅會收到 CPU 資源。

    可選擇是否提供記憶體容量,且提供的值應以 MB 計。

    共用記憶體為執行在此專案中允許程序使用的共用記憶體總量。您也可選擇是否提供共用記憶體值。預設的共用記憶體值為實體記憶體的四分之一。

  7. 提供容器的名稱。

    名稱必須為唯一且不可超過 32 個字元。此名稱會辨識瀏覽視窗中的容器、狀況表和資源使用情況報告。若輸入重複的名稱,建立容器會失敗。

    在建立程序完成後,不可變更容器名稱。

  8. (選擇性) 提供容器的說明。

  9. 檢閱 [摘要] 畫面中的資訊。

    專案摘要螢幕畫面
  10. 按一下 [完成]。

    已儲存選擇,專案現為使用中。Solaris 核心會開始限制容器的資源保留。

建立以應用程式為基礎的專案


備註 –

在 Solaris 8 作業系統中,只支援以使用者為基礎的容器類型。


使用以應用程式為基礎的專案管理執行在特定軟體應用程式的程序。您可以建立可自動移動程序或手動移動程序之以應用程式為基礎的專案。

若您可提供對應用程式為唯一的符合表示式, 您可增加此表示式到專案。您還必須提供程序將在其下執行的 UNIX 使用者 ID 或 UNIX 群組 ID。也可增加有權在稍後加入專案的其他使用者。要自動移動程序到專案,當相對應的精靈畫面出現時,您必須提供所有必要的識別碼。然後軟體會為所有根據此定義的專案自動移動所有相符的程序。

若應用程式未建立唯一識別碼,則您會想要手動移動程序或在專案中啟動應用程式。若您想要手動移動程序,請建立僅具有 UNIX 使用者 ID 或 UNIX 群組 ID (程序將在其下執行) 的專案。也可增加有權在稍後加入專案的其他使用者。然後使用 newtask -p 指令移動程序。如需更多資訊,請參閱在專案中移動或啟動程式

Procedure決定應用程式的符合表示式

使用此程序以決定正確的符合表示式,來識別對應到您想要管理的應用程式之程序。[新容器] 精靈中所需的此表示式會自動移動程序到容器。

步驟
  1. 從終端機視窗,啟動以應用程式為基礎的容器將管理的應用程式。

  2. 要檢視正在執行中的所有程序清單,請在終端機視窗中輸入:


    % ps -cafe
    
  3. 在 CMD 欄中,找到相對應的程式檔名稱。

    選擇將唯一識別應用程式程序的表示式。


範例 4–1 決定 Mozilla 的符合表示式

下列為 Mozilla 搜尋中 ps - cafe 指令的輸出範例:


% ps -cafe
     UID   PID  PPID  CLS PRI    STIME TTY      TIME CMD
    ...
使用者名稱  8044  7435   IA  50 19:47:09 pts/11   0:00 /bin/ksh -p /usr/sfw/lib/mozilla/mozilla

在此範例中,唯一程式檔名稱為 mozilla。同樣地,正確的符合表示式為 mozilla



範例 4–2 決定 Tomcat 伺服器的符合表示式

若您知道應用程式的名稱,您可以使用 grep 指令結合 ps -cafe 以找出正確的符合表示式。下列為 Tomcat 伺服器搜尋中 ps - cafe | grep tomcat 指令的輸出範例。此範例為壓縮空間,留下不相關的資訊。


% ps -cafe | grep tomcat
  nobody 27307  /usr/j2se/bin/java -classpath //usr/apache/tomcat/bin/bootstrap.jar:/usr/j2se/l
 

在此範例中,程式檔名稱為 java。不過,正確的符合表示式為 tomcat。在此範例中,符合表示式為引數而不是程式檔名稱,因為 java 不會唯一識別 Tomcat 程序。



範例 4–3 驗證 Tomcat 伺服器的符合表示式

下列範例顯示如何使用 pgrep 指令尋找 PID。PID 會驗證您已識別的唯一符合表示式以尋找所要的程序:


% pgrep -f tomcat
27307

Tomcat 伺服器的 PID 為 27307。此數字符合範例 4–2 的 PID。此符合確認符合表示式 tomcat 對應於 Tomcat 伺服器程序。


Procedure建立以應用程式為基礎的專案

步驟
  1. 啟動新專案精靈所說明啟動 [新專案] 精靈。

    會出現 [簡介] 畫面。

  2. 為容器選取應用程式為專案類型。

    以應用程式為基礎的專案容器會追蹤與應用程式相關聯的程序。如需關於此專案類型的更多資訊,請參閱表 3–2

  3. 提供專案名稱。

    名稱必須為唯一且不可超過 32 個字元。此名稱會辨識瀏覽視窗中的專案、狀況表和資源使用情況報告。若輸入重複的名稱,建立專案會失敗。

    在建立程序完成後,不可變更容器名稱。

  4. 提供應用程式將在其下執行的 UNIX 使用者名稱或 UNIX 群組名稱。

    必須供應應用程式將在其下執行的 UNIX 使用者名稱或 UNIX 群組名稱。若未指定這些名稱,直到供應這些名稱,容器下相對應的程序才會移動。使用逗號分開多個項目。

  5. 當容器已啟動或要從指令行手動移動它們,請決定是否要自動移動專案下的應用程式程序。

    • 要指示您想要從指令行手動移動應用程式程序,請選取 [不要使用符合表示式] 核取方塊。

    • 在專案啟動時要自動移動專案下的應用程式程序,請在 [符合表示式] 欄位中提供表示式。

      您可以在 [符合表示式] 欄位中使用萬用字元以識別與應用程式相關聯的程序。使用萬用字元的符合表示式範例為 moz、cat,分別指出與 Mozilla 和 Tomcat 相關聯的程序。

      新專案精靈中的專案應用程式程序識別碼

      必須供應符合表示式以自動移動應用程式的程序到容器。此表示式為大小寫相符的。要決定正確的符合表示式,請參閱決定應用程式的符合表示式

      若此次未提供符合表示式,直到已供應此表示式,才會移動此容器下的應用程式程序。

  6. 若從主機名稱存取 [新專案] 精靈 (未選取儲存池),請指定支援專案的資源需求之資源儲存池。

    在專案中啟動的新程序會連結到相對應的資源儲存池。專案啟動後,保存在容器的新程序會連結到其資源儲存池。

    • 指定新資源儲存池:

      1. 選取 [建立新資源儲存池]。

      2. 提供資源儲存池的名稱。

        其名稱必須為字母數字式,且不可包含空格。字元可包括破折號 (-)、底線 (_) 和點 (.)。

      3. 指定 CPU 的數量。

        CPU 數量必須為不可小於 1 的整數,且不可超過主機中可用的 CPU 數量。會顯示主機中的 CPU 總數量及目前可用的數量。

    • 指定現有的儲存池:

      1. 選擇 [使用現有資源儲存池]。

        會出現可用的資源儲存池清單。

      2. 選取清單中儲存池名稱旁的單選按鈕。

        會給定指定到每個資源儲存池的 CPU 總數量,以及每個儲存池中仍可用的未保留 CPU 數量。專案會連結到已選取的資源儲存池。

  7. (僅限 Solaris 10) 選取現有的區域。

    在其中一個可用的區域上按一下按鈕。

  8. 為專案提供資源保留。

    會提供主機上可用的最大 CPU、未保留 CPU 共用和記憶體資源。

    CPU 保留 (CPU 共用) 是必要的,且提供的值必須為整數。若沒有程序執行在與同樣主機相關聯的其他容器,具有零個 CPU 保留的專案僅會收到 CPU 資源。

    可選擇是否提供記憶體容量,且提供的值應以 MB 計。

    共用記憶體為執行在此專案中允許程序使用的共用記憶體總量。您也可選擇是否提供共用記憶體值。預設的共用記憶體值為實體記憶體的四分之一。

  9. 提供容器的名稱。

    名稱必須為唯一且不可超過 32 個字元。此名稱會辨識瀏覽視窗中容器、狀況表和資源使用情況報告。若輸入重複的名稱,建立容器會失敗。在建立程序完成後,不可變更容器名稱。

  10. (選擇性) 提供容器的說明。

  11. 檢閱 [摘要] 畫面中的資訊。

    應用程式專案摘要螢幕畫面
  12. 按一下 [結束]。

    已儲存選擇, 容器現為使用中。Solaris 核心會開始限制容器的資源保留。

在專案中移動或啟動程式

若受專案管理的應用程式沒有唯一程式檔名稱,則您可能想要手動地將程序移動到專案。此方法可確保您僅會追蹤想要的應用程式之程序。

Procedure個別移動程序到以應用程式為基礎的專案

若您未為以應用程式為基礎的專案提供符合表示式,且想要個別移動應用程式的程序到專案,請使用此程序。

步驟
  1. 建立以應用程式為基礎的專案以管理應用程式。選取 [不要使用符合表示式] 核取方塊。

    如需詳細的步驟,請參閱建立以應用程式為基礎的專案一節。

  2. 輸入下列指令以檢閱 /etc/project 檔案且決定專案名稱:


    % cat /etc/project
    

    您會需要步驟 5 中的此專案名稱。

  3. 若有需要,在終端機視窗中啟動應用程式。

  4. 決定對應到應用程式的程序。

    請參照下列範例:範例 4–1範例 4–2範例 4–3

  5. 移動相對應的程序。

    1. 在 Container Manager GUI,按一下瀏覽視窗中的主機。

    2. 按一下 [專案] 標籤。

      會顯示 [專案] 表。

    3. 在 [專案] 表中,按一下專案名稱。請注意專案名稱有底線,顯示其為一個連結。

      會顯示 [專案特性] 標籤。

    4. 按一下 [程序] 標籤。

      會顯示 [程序] 表。

    5. 選取要移動的程序。

    6. 按一下 [移動] 按鈕。

      會顯示 [移動程序] 對話方塊。

    7. 從專案清單 (容器) 選取程序的新專案 (容器)。

    8. 按一下 [確定]。

  6. 重複步驟 5 直到移動所有程序。


範例 4–4 使用 ps 驗證程序已移動到專案

您可以使用 ps 指令結合 grep 以驗證程序已移動到容器。下列範例顯示已個別移動的程序現已位在容器 payroll 中:


% ps -ae -o pid,project,comm | grep payroll
17773    payroll ora_reco_AcctEZ 
17763    payroll ora_pmon_AcctEZ 
17767    payroll ora_lgwr_AcctEZ 


範例 4–5 使用 prstat 驗證程序已移動到專案

若您知道專案名稱,您可以使用指令 prstat 驗證程序已移動到容器。在此範例中,專案名稱為 payroll。


% prstat -J payroll
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       
 17773 admin     216M  215M cpu2     1    0   0:05:08  29% ora_reco_AcctEZ/1
 17763 admin     834M  782M sleep    1    0   0:35:02   0% ora_pmon_AcctEZ/1
 17767 admin     364M  352M run      1    0   0:22:05  23% ora_lgwr_AcctEZ/1							

Procedure在專案中啟動應用程式

步驟
  1. 建立以應用程式為基礎的專案以管理應用程式。選取 [不要使用符合表示式] 核取方塊。

    如需詳細的步驟,請參閱建立以應用程式為基礎的專案

  2. 從下列作業系統版本中選取其一:

    • 若為 Solaris 8 作業系統,請輸入:


      % srmuser 使用者名稱 newtask -p 專案名稱 應用程式名稱
      

      其中使用者名稱為 UNIX 使用者名稱,而專案名稱的格式為 user.使用者名稱。在 Solaris 8 作業系統中,因為僅支援以使用者為基礎的容器,使用者名稱專案名稱 相同。

    • 若為 Solaris 9 或 Solaris 10 作業系統,請輸入:


      % newtask -p 專案名稱 應用程式名稱
      

      其中專案名稱為與容器相關聯的專案,而應用程式名稱為啟動應用程式的指令,包括任何指令引數。

    會在容器中啟動應用程式。


範例 4–6 在 Solaris 9 或 Solaris 10 作業系統中的容器啟動應用程式

下列範例為在容器 music 中啟動應用程式 tracks


% newtask -p music tracks -z 0 mozart.au

其中 -z 0 mozart.au 為應用程式 tracks 的指令行引數。



範例 4–7 驗證應用程式與專案間的關聯

應用程式啟動後,您可以輸入下列指令驗證應用程式與哪個專案相關聯:


% ps -ae -o pid,project,comm

下列為此指令的輸出範例:


  PID  PROJECT COMMAND
...
17771   default ora_smon_SunMC
16246   system rquotad
26760   group.staff /bin/csh
16266   music	 tracks
17777   default ora_d000_SunMC
17775   default ora_s000_SunMC
17769   default ora_ckpt_SunMC

在此範例中,應用程式 tracks 具有 PID 16266,專案為 music,程式檔為 tracks。此應用程式與在範例 4–6 中啟動的應用程式相同。


啟動或關閉專案

當專案處於已定義或未使用狀態,不會強制專案的資源界限。您必須啟動專案以啟用此強制功能。相反地,若您不想要強制這些限制,必須關閉專案。您可關閉已啟動的專案而不會遺失您已建立的資源界限。如需更多資訊,請參閱專案狀態

可利用 [建立容器與主機關聯] 精靈使用現有的容器建立新的使用中專案。僅使用一個按鈕便可啟動非使用中的專案或關閉使用中的專案。

Procedure啟動專案

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

  2. 在 [容器] 檢視中,選取容器名稱。

    若容器為群組的一部分,請從瀏覽視窗選取群組以在右窗格中顯示容器。

  3. 在右窗格中選取 [主機] 標籤。

    會出現 [與此容器定義相關聯的主機] 表。表中會列出所有目前與已選取的容器相關聯的主機。

  4. 按一下 [建立容器與主機關聯] 按鈕。

    會出現 [建立容器與主機關聯] 精靈。

    與主機建立關聯精靈螢幕畫面
  5. 請按照下列精靈步驟以輸入主機名稱或尋找適當的主機。

Procedure啟動非使用中的專案

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

  2. 在 [主機] 檢視中,選取與 容器相關聯的主機。

  3. 在右畫面中選取 [專案] 標籤。

    會出現與該主機相關聯的所有專案的表。

  4. 要啟用 [啟動] 按鈕,選取要啟動的專案之核取方塊。

  5. (選擇性) 檢視和修改專案的特性。

    1. 按一下表中的 [專案名稱] 欄的專案名稱。

      會出現 [特性] 標籤。

    2. (選擇性) 修改專案的資源保留然後按 [儲存]。

    如需更多資訊,請參閱修改容器和專案

  6. 按一下 [啟動] 按鈕。

    會啟動專案且核心會強制資源界限。

Procedure關閉使用中的專案

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

  2. 在 [主機] 檢視中,選取與專案相關聯的主機。

  3. 在右畫面中選取 [專案] 標籤。

    會出現與該主機相關聯的所有專案的表。

  4. 要啟用 [關閉] 按鈕,選取要啟動的專案之核取方塊。

  5. (選擇性) 檢視和修改專案的特性。

    1. 按一下表中的 [專案名稱] 欄的專案名稱。

      會出現 [特性] 標籤。

    2. (選擇性) 修改專案的資源保留然後按 [儲存]。

    如需更多資訊,請參閱修改容器和專案

  6. 按一下 [關閉] 按鈕。

    會關閉專案且核心不會強制資源界限。

檢視專案程序

可從 [主機] 檢視或 [容器] 檢視表取得執行在使用中專案的程序之資訊。兩個檢視中提供相同的 [程序] 表和相同的資訊。

使用中專案的 [程序] 表螢幕畫面

以下列出程序及其資訊:

PID

程序 ID。

使用者名稱

程序的擁有者 (UNIX 使用者名稱或登入名稱)。

大小

程序的總虛擬記憶體大小 (以 MB 計)。

RSS

程序的常駐組大小 (以 MB 計)。

狀態

程序的狀態。值包括以下類型:

  • cpuN - 執行在 CPU N 的程序,其中 N 為整數。

  • sleep - 程序暫停或等待中。

  • run - 程序執行中。

  • zombie - 程序已終止。

  • stop - 程序已停止。

PRI

程序的優先權。數目愈大,程序優先權愈高。

NICE

Nice 值使用在優先權計算。

Time

程序的累積執行時間。

CPU

程序最近使用的時間百分比。

PROCESS/NLWP

程序名稱,其為已執行檔案的名稱。程序中的簡易程序 (LWPS) 數量。

Procedure在 [主機] 檢視中檢視執行在專案中的程序

若您知道與專案相關聯的主機名稱,請使用此程序。

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

  2. 按瀏覽視窗中的左標籤以選取 [主機] 檢視。

  3. 在瀏覽視窗中,選取與專案相關聯的主機。

  4. 在右窗格中,選取 [專案] 標籤。

    會顯示 [專案] 表並列出所有與主機相關聯的專案。清單包括使用中和非使用中專案。您必須選取使用中專案以檢視關於其程序的資訊。

  5. 按一下專案名稱以選取專案。

    會顯示已選取主機中專案實例的特性頁。

  6. 選取 [程序] 標籤。

    [程序] 表會列出執行在專案中的程序。表上方會顯示專案名稱和與其關聯的主機。

    若未列出程序,您可能選取了非使用中的容器。

Procedure從容器檢視中檢視執行在專案的程序

若您知道專案名稱且想要從與專案相關的主機清單中選取,請使用此程序。

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

  2. 按瀏覽視窗中的右標籤以選取 [容器] 檢視。

  3. 在瀏覽視窗中,選取所要的容器。

    若有需要,按一下展開三角形展開容器。專案名稱出現後,按一下所要的專案名稱。

    右窗格中會出現所有與容器相關聯的主機。

  4. 按一下表中的專案名稱。

    會顯示已選取主機中容器實例的特性頁。

  5. 選取 [程序] 標籤。

    表的標題會顯示專案名稱和與其關聯的主機。[程序] 表會列出執行在專案中的程序。

    若表中未列出程序,您可能選取了非使用中的專案。

修改容器和專案

兩種特性表可用來修改容器或使用中、非使用中容器。下表顯示特性表之間的不同。

表 4–1 特性表詳細資訊

特性表 

用法 

標籤 

容器  

說明、專案類型、專案識別碼 (使用者、群組)、符合表示式的變更 

選取容器後, [容器] 檢視中的 [特性] 標籤 

專案實例 (使用中或非使用中專案) 

資源儲存池關聯、CPU 保留、記憶體容量的變更 

[主機] 檢視或 [容器] 檢視的 [特性] 標籤 

每個專案實例具有與其相關聯的容器。為容器所做的任何變更會套用到所有使用該定義的專案實例。例如,若您變更容器的專案類型,則所有使用相同容器的專案實例之專案類型皆會變更。因此,您可以使用兩種特性表做所需的修改。

每個專案實例還具有用來僅變更其資源儲存池關聯或資源保留的特性表。使用此特性表時,您可以一次變更一個專案。例如,您可增加目前的最小 CPU 保留或目前的記憶容量。在儲存新值後,變更便會變得有效。直到您重新啟動專案後,您在非使用中專案的資源界限所做的修改才會變得有效。

下列範例顯示 sales01 專案實例已完成的特性表。

圖 4–1 範例:變更資源保留和資源儲存池的特性表

專案特性表的螢幕畫面

若您需要為使用在多個主機中的多個專案做資源變更,請使用資源變更工作功能。如需更多資訊,請參閱使用資源變更工作修改專案

從 [容器] 檢視,可取得您可修改容器的不同特性表。您可以一次修改一個容器。您不可以使用資源變更工作功能來為多個容器做變更。

下列範例顯示 sales01 專案實例已完成的特性表變更。

圖 4–2 範例:修改容器的特性表

修改容器的特性表之螢幕畫面

您無法修改預設專案的特性。因此,若已選取預設專案,便無可用的特性表。


備註 –

僅可修改容器或非使用中專案的特性。您必須先關閉每個與專案相關聯的主機之使用中專案,才能修改任何特性。儲存變更後,您可以重新啟動專案。


Procedure使用特性表修改容器

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

  2. 選取 [容器] 檢視。

  3. 選取容器。

    • 若容器目前未被任何使用中專案所使用,從瀏覽視窗中選取 [容器群組]。此方法會顯示右窗格中的 [容器和群組] 表。選取表中的專案。

    • 若目前容器已被使用中專案所使用,請從瀏覽視窗中選取容器。若有需要,請按不同的容器群組以展開個別容器的清單。此方法會顯示您可從其關閉專案實例的 [與此容器定義相關聯的主機] 表。


      備註 –

      必須關閉使用此容器的所有專案實例,才能變更特性。若任何實例顯示的狀況為 [使用中],請在選擇所有主機後使用 [與此容器定義相關聯的主機] 表中的 [關閉] 按鈕,才可繼續。


  4. 從右窗格中選取 [特性] 標籤。

    會出現選取的容器之特性表。您可以在文字欄位中做下列變更:

    • 說明 - 提供容器的說明。

    • 專案類型 - 提供使用者、群組或應用程式。

    • UNIX 使用者名稱 - 變更 UNIX 使用者名稱的現有項目 。

    • 其他使用者 - 變更現有的項目或提供其他有效的 UNIX 使用者名稱。使用逗號分開多個項目。

    • 其他群組 - 變更現有的項目或提供其他有效的 UNIX 群組名稱。使用逗號分開多個項目。


    備註 –

    若 [儲存] 按鈕無法使用且文字欄位為灰色的,表示容器使用在一個或多個容器實例中。驗證所有列在 [與此容器定義相關聯的主機] 表中的主機之狀態為非使用中。若任何主機的狀況為 [使用中],您必須將其關閉。


  5. 按一下 [儲存] 以儲存變更。

    螢幕仍會顯示特性表。

Procedure使用特性表修改專案

使用此程序為單一專案的資源儲存池或資源保留做變更。若您想要為多個專案做相同的變更,請參閱使用資源變更工作修改專案

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

  2. 從下列方法選擇所要的專案實例:

    • 若您知道與專案相關聯的主機名稱,請在 [主機] 檢視的瀏覽視窗中選取主機名稱。然後在右窗格中選取 [專案] 標籤,以存取列出與主機相關聯的所有專案的表。

    • 若您知道專案名稱,請從 [容器] 檢視的瀏覽視窗選取其名稱。右窗格中會出現 [與此容器定義相關聯的主機] 表。


    備註 –

    必須關閉所有專案才能變更特性。若任何專案狀況顯示為 [使用中],使用表中的 [關閉] 按鈕才能繼續。 兩個檢視中的表皆有此按鈕。


  3. 視您在之前的步驟中選取的方法而定,從表中選取專案名稱或主機。

    會顯示專案實例的特性表。

  4. 做想要的變更。


    備註 –

    (在 Solaris 10) 無法變更專案的資源儲存池。


    • 資源儲存池定義。要變更與專案相關聯的儲存池,從下拉式功能表選取。

    • CPU 保留 (CPU 共用)。在文字方塊中提供為整數的新值。

    • 記憶體容量 (MB)。在文字方塊中提供新值。

    • 共用記憶體 (MB)。在文字方塊中提供新值。

  5. 按一下 [儲存]。

    會儲存為資源保留所做的變更。

  6. (選擇性) 要重新啟動專案,請回到您在步驟 3中使用的表,然後按 [啟動]。

使用資源變更工作修改專案

使用資源變更工作功能以變更擴散在多個主機中的多個專案的資源限制。這些專案必須全部使用相同的容器。您可以馬上執行資源變更工作,如此便會同時實作變更,或者您可以排程稍後實作變更。


備註 –

在 Solaris 10,若其部署在全域區域,資源變更工作功能僅會變更容器的資源分配。



備註 –

Changes to CPU reservations (CPU shares) are immediate. 記憶體容量的變更需要寫入到交換區。調整記憶容量時,記憶體容量的重大變更會影響系統效能。


下列資訊可在資源變更工作表中取得:

資源變更工作名稱

工作建立期間提供的工作名稱。

主機

與容器相關聯的主機名稱。

排程

排程要執行工作的時間間隔。選項包括 [一次]、[每小時]、[每日]、[每週]、[每月]。

狀態

工作的狀況。值包括 [已佇列]、[已成功]、[失敗]。

下列範例使用專案「Webserver」和「Rollup」以顯示如何使用資源變更工作功能管理企業的系統資源。在此範例中,線上商店從其網站提供訂購程序。會建立 Webserver 專案以管理在北美 Web 伺服器使用的 CPU 和記憶體資源。會建立 Rollup 專案以管理資料庫所需的資源。白天及傍晚時,web 伺服器的資源需求較高,因為人們多在此時使用網站以訂購物品。而在晚上時刻,過了午夜後 web 伺服器的需求一般來說會急遽地下降。在凌晨時分,資料庫會排程執行白天的銷售報告。

要使用 8 CPU 系統 (具 6000 MB 的實體記憶體) 中的這兩個容器管理所需的資源,您可以建立下表所示的四個資源變更工作表。

表 4–2 資源變更工作排程範例

容器名稱 

資源變更工作名稱 

起始時間 

間隔 

資源變更 

Webserver 

webserver-day 

早上 6:00 

每日 

CPU:6 

記憶體:2500 MB 

Rollup 

rollup-day 

早上 6:00 

每日 

CPU:1 

記憶體:2000 MB 

Webserver 

webserver-night 

午夜 

每日 

CPU:1 

記憶體:2000 MB 

Rollup 

webserver-night 

午夜 

每日 

CPU:6 

記憶體:2500 MB 

每天早上 6 點會執行兩個資源變更工作以變更 Webserver 和 Rollup 專案的資源。白天時,會提供 Webserver 專案多數的 CPU 和實體記憶體資源,因為此時 webserver 需求較高。而在每天的午夜時會執行第二組的資源變更工作,其會重新分配系統的資源以調整所需資源的變更。此時資料庫會需求資源以計算每日的銷售,因為 web 伺服器所需的資源較少。

此功能與 Sun Management Center 中的工作管理功能相似,但其使用 Container Manager GUI 以管理所有 Container Manager 工作。如需有關 Sun Management Center 工作功能的更多資訊,請參閱「Sun Management Center 3.5 使用者指南」中的「工作管理概念」

Procedure使用資源變更工作修改專案

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

  2. 選取 [容器] 檢視。

  3. 在瀏覽窗格中,選取專案名稱。

    專案必須與主機關聯才能繼續進行。

  4. 在右窗格中選取 [工作] 標籤。

    會顯示 [資源變更工作] 表。

    圖 4–3 範例:[資源變更工作] 表

    資源變更工作螢幕畫面

  5. 按一下表中的 [新資源變更工作] 按鈕。

    會出現 [資源變更工作] 精靈。會出現簡介畫面。

  6. 提供資源變更工作的名稱。您可選擇是否要提供說明。

    名稱長度不可超過 32 個字元。可輸入空格、破折號 (-)、底線 (_) 和 (.)。空格會轉換會為底線 (_)。

    會出現 [選取主機] 畫面。可用清單中會出現與選取的容器相關聯的所有主機名稱。您可以從此視窗選取一個或多個主機以變更其資源限制。

  7. 從可用清單中選取每個主機,按 [新增] 以移動每個主機到已選取清單。或按一下 [新增全部] 以移動所有主機。

    主機名稱會移動到已選取欄位。

  8. 提供新的最小 CPU 保留 (CPU 共用)。可選擇是否提供記憶體容量。

    新的資源限制會套用到之前步驟中選取的所有主機。

  9. 提供資源變更工作的起始日期、起始時間和間隔。

    在您請求變更資源限制的同時,其值便為有效的。

  10. 檢閱您在 [摘要] 畫面中的選擇。若要做許多變更,請使用 [上一步] 按鈕。當您完成所有變更,請按 [完成]。

    精靈會結束。此工作會增加到 [工作] 表。當排程要執行此工作,其狀況在到期的時間前會顯示為已佇列。使用此程序以為其狀況在您請求變更資源限制的同時,其值便為有效的。

Procedure編輯擱置資源變更工作

使用此程序以為其狀況仍在 [工作] 表中顯示為已佇列的擱置工作做變更。

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

  2. 在瀏覽視窗中選取 [容器] 檢視。

  3. 在右窗格中選取 [工作] 標籤。

  4. 在 [資源變更工作] 表中,按一下要變更的工作名稱旁的核取方塊以選取該工作。

    方塊中會出現核取標記。

  5. 要啟動 [更新資源變更工作] 精靈,請按一下 [更新資源變更工作] 按鈕。

    如需關於移動面板的步驟之詳細資訊,請參閱使用資源變更工作修改專案

  6. 當您完成所有變更,請按 [完成]。

    精靈會結束。已儲存工作中的編輯。

Procedure檢視資源變更工作記錄

使用此程序以檢視已完成的變更工作之記錄。若此工作包括多個主機的變更,則每個主機的工作狀況位於記錄中。

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

  2. 在瀏覽視窗中選取 [容器] 檢視。

  3. 在右窗格中選取 [工作] 標籤。

  4. 在 [資源變更工作] 表中,選取您要檢視其記錄的已完成工作名稱旁的核取方塊。

    方塊中會出現核取標記。

  5. 按一下 [檢視記錄] 按鈕。

    會出現此 [資源變更工作 ] 的記錄檔。

刪除專案

若不再需要時,您可以刪除專案及其容器。在刪除專案及其容器前,您必須先將專案從與其相關聯的所有主機移除。刪除動作會將容器從資料庫中移除,先前收集的專案資料將不復存在。因此,您無法取得已刪除專案的任何之前資料,因為該專案的所有資料已從資料庫中移除。刪除並不算是一種專案狀態,因為其記錄和所有之前的資料已被移除。

您無法刪除 Solaris 8 作業系統中的專案,除非執行在該專案的所有程序已停止。

刪除專案後,視您使用的 Solaris 版本而定,可能會發生下列情況:

Solaris 8 作業系統

專案刪除後,lnode 也會被刪除。

Solaris 9 作業系統和 Solaris 10 作業系統

執行在該專案的程序會移動到預設專案,且 /etc/project 資料庫中的項目會移除。

Procedure刪除容器

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

  2. 驗證容器中沒有使用中或非使用中的專案。

  3. 在瀏覽視窗中選取 [容器] 檢視。

  4. 選取要刪除的容器。

  5. 按一下 [刪除]。

    容器會從 [容器] 檢視和資料庫中移除。