安裝與管理 Solaris Container Manager 3.6.1

第 4 章 管理專案

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

本章討論下列主題︰


備註 –

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


建立專案

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

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

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

若選擇要建立專案,您也可以在程序進行期間建立容器。在結束建立專案之後,容器會儲存到 [容器] 檢視的瀏覽視窗。您可以使用此相同的定義來建立其他與多個主機建立關聯的專案。所有這些專案的定義 (包括名稱和專案類型) 將與每個主機上的相同。您可以變更每個主機的專案資源保留,或者您可以將它們都變得一樣。此彈性的提供可讓您視情況達到資源需求。如需更多資訊,請參閱關於容器特性

「新專案」精靈可引導您進行專案建立的程序。在建立專案時,您應已具備下列資訊以在精靈中快速移至下一個步驟:

此精靈可從 GUI 的三個不同地方存取,但一定是從 [新專案] 按鈕存取。視您在 GUI 的何處存取精靈,您可能不需要提供所有資訊。而且,視您存取的點而定,可能已為您完成特定資訊。

Procedure啟動新專案精靈

「新專案」精靈可以從 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 將程序移到專案中

您可以使用 psgrep 來驗證程序是否已移至容器中。下列範例顯示已個別移動的程序現正位於容器清單中:


% 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 使用者名稱,而專案名稱則位於表單「使用者.使用者名稱」。在 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 是一個整數。

  • [暫停] – 程序暫停或等待中。

  • [執行] – 程序正在執行中。

  • [終止] – 程序已終止。

  • [停止] – 程序已停止。

PRI

程序的優先權。數值越高,表示程序優先權越高。

NICE

在優先權計算中使用的 Nice 值。

時間

程序的累積執行時間。

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 特性表詳細資訊

特性表 

用法 

定位點(B) 

容器  

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

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

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

資源儲存池關聯、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,當容器是被部署在全域區域時,才能使用資源變更工作功能來變更容器的資源分配。



備註 –

對 CPU 保留 (CPU 共用) 所做的變更是即時的。對記憶體容量所做的變更必須寫入才能交換。在調整記憶體容量時,對記憶體容量所做的任何大變動都將影響系統效能。


[資源變更工作] 表包含下列資訊:

資源變更工作名稱

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

主機

與容器建立關聯的主機名稱。

排程

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

狀態

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

下列範例使用專案「Webserver」和「Rollup」來顯示如何使用資源變更工作功能來管理整個企業的系統資源。在此範例中,網路商店從其網頁提供訂單處理。「Webserver」專案是被建立來管理整個北美 Web 伺服器使用的 CPU 和記憶體資源。「Rollup」專案是被建立來管理資料庫所需的資源。在白天和傍晚時刻,Web 伺服器的資源需求較高,因為使用者使用網站來下訂單。但到了晚上,Web 伺服器的需求在午夜過後通常會明顯地下降。在前個晚上,會排程資料庫執行當天銷售的報告。

若要在實體記憶體為 6000 MB 之具有 8 個 CPU 的系統上管理這兩個容器所需的資源,您總共可以建立四個資源變更工作,如下表所示。

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

容器名稱 

資源變更工作名稱 

起始時間 

間隔(I) 

資源變更 

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 

兩個資源變更工作會在每天早上六點執行,以變更「Webserver」和「Rollup」專案的資源。在白天,「Webserver」專案會獲得大部分的 CPU 和實體記憶體資源,因為 Web 伺服器在那時的需求很高。接著到了每天的半夜,第二組資源變更工作開始執行,並重新分配系統的資源以符合改變中的需求。在 Web 伺服器因需求降低而需要較少的資源時,資料庫需要資源來計算每日銷售。

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

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. 按一下 [刪除]。

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