安裝與管理 Solaris Container Manager 3.6.1

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


備註 –

在 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 的核心會開始強制容器的資源保留。