BigAdmin System Administration Portal
Sun Docs
Print-friendly VersionPrint-friendly Version

使用 Solaris Container Manager 合併伺服器與應用程式

Raghuraman Sesharaman, 2007 年 10 月

本文件說明如何使用 Solaris Container Manager 合併伺服器與應用程式。


Solaris Container Manager 簡介

Solaris Container Manager 是 Sun Management Center 4.0 軟體的必要部分,當作 Sun Management Center 的附加產品提供。Solaris Container Manager 在基於瀏覽器的主控台中工作,以管理軟體容器、最大限度地提高資源使用情況與增加資料中心生產力。

Solaris Container Manager 軟體可組織目前在 Solaris 8、Solaris 9 與 Solaris 10 作業系統上執行的資源管理公用程式。

Solaris Container Manager 軟體可控制資源管理,以供每個軟體應用程式使用。對於在資料中心內實作伺服器合併,該控制功能十分有用。伺服器合併計算有下列優點:

  • 最大限度地增加在伺服器上執行的應用程式,防止浪費電腦資源

  • 減少資料中心的伺服器數量,以簡化管理


方案

問題:假設您的資料中心有十個 Solaris SPARC 與十個 Solaris x64 系統。每個系統都執行應用程式。例如,四個系統執行 Web 伺服器,四個系統執行資料庫應用程式,剩餘兩個系統執行獨特應用程式。此設定會導致維護與空間上的問題,以及降低使用 CPU 與記憶體資源的效率。

解決方案:將在這些 SPARC 與 x64 系統上執行的應用程式合併至更少的系統中。


建立區域

評估共用合併系統的應用程式的需求是合併工作的一部分,這個步驟十分重要。Solaris Zones 在系統中提供獨立的環境,將應用程式做不同的邏輯分隔。每個應用程式都會收到專屬的命名空間,可在當中執行,但無法查看、監視與影響在其他區域中執行的應用程式。

可使用 Solaris Container Manager 的區域精靈建立非全域區域。

建立區域

在其中一個 Solaris SPARC 系統上建立非全域區域,並部署 Web Server 應用程式。

開始之前

您必須擁有一個資源儲存池和可用的 CPU 共用。

  1. 在 Sun Management Center 主視窗的左窗格中,選取 [管理 Solaris 容器]。
  2. 選取主機名稱。
  3. 按一下 [區域] 標籤。
  4. 按一下 [新區域] 按鈕。

    會出現 [新增區域] 精靈。若要顯示關於每個精靈步驟的說明文字,請按一下精靈窗格中的 [說明] 標籤。

  5. 提供基本的區域識別資訊。
    1. 提供區域路徑。

      區域路徑是用作此區域的根路徑的完全合格路徑。如果路徑以不存在的目錄名作為結尾,則系統將為您建立該目錄。如果使用現有目錄,必須將權限設定為 700。

    2. 選取網路介面。

      網路介面下拉式清單僅會顯示在此主機上找到的網路介面。

    3. 如果希望在系統當機時自動重新啟動區域,請選取 [自動重新啟動] 的 [啟用] 方塊。
    4. 從 [區域標記] 下拉式清單中選擇 [native]。

      區域標記決定安裝與啟動區域時執行的程序檔,並在啟動應用程式時識別正確的應用程式類型。

      本機區域包含的作業環境與父系主機相同。

  6. 提供額外的區域識別資訊。
    1. 提供區域主機名稱。

      區域主機名稱是供給區域作 rlogin 和 telnet 之用的名稱。

    2. 提供 IP 位址。

      IP 位址由網路管理員指定。

    3. 提供超級使用者密碼。

      超級使用者密碼最少須有六個字元,最多不可超過八個字元。

    4. 提供時區。

      此時區不必和系統實際所在的時區相同。

    5. 如果選取 DNS 為命名服務,則還必須提供區域要使用的網域名稱與名稱伺服器。
  7. 為此區域選擇一個資源儲存池。

    資源儲存池是用於分配 CPU 資源的物件。根據對 CPU 總數與 CPU 共用的需求來選取可用的資源儲存池。

  8. 提供 CPU 共用屬性。

    [CPU 共用] 欄位的值為正整數,公平共用排程程式 (Fair Share Scheduler, FSS) 使用該值分配資源至與此區域相關之專案。欄位的預設值為 1。

    [專案 CPU 共用] 欄位中的值會建立一個比例,而 FSS 會根據該比例分配系統資源至與此區域相關之專案。欄位的預設值為 1000。

  9. 指定記憶體配置。

    可以將記憶體分成四個區段:

    • 實體記憶體 - 已分配實體記憶體的數量,以 MB 為單位。

    • 最大交換 - 可用於交換空間的記憶體量,以 MB 為單位。

    • 鎖定記憶體 - 鎖定記憶體數量,以 MB 為單位。

    • 共用記憶體 - 共用記憶體數量,以 MB 為單位。

  10. 提供 IPQoS 屬性。

    IP 服務品質 (IP quality-of-service, IPQoS) 功能簡化了對 Solaris 區域頻帶內和頻帶外流量的控制。

  11. 識別任何其他的網路連線。

    要增加網路虛擬介面,請輸入 IP 位址並從下拉式功能表中選取網路介面。每個網路介面可以有多個 IP 位址,但是一個網路介面在同一時間只能使用一個 IP。如需更多資訊,請參閱 zonecfg(1M) 線上手冊。

  12. 指定要在區域中配置的裝置。

    要啟用某個裝置,請在 [裝置目錄] 欄位下鍵入邏輯裝置路徑,例如 /dev/rdsk/c1t3d0s0/dev/sound/*。每個區域均可擁有多個裝置,當區域從 [已安裝] 狀態轉變為 [就緒] 狀態時,應該對這些裝置進行配置。

  13. 要將檔案系統包含於區域中,請提供掛載點、路徑以及檔案系統類型。

    要指定檔案系統,請提供下列資訊:

    • 在 [掛載目錄] 欄位中提供掛載點

    • 在 [特殊裝置目錄] 或 [原始裝置目錄] 欄位中鍵入路徑

    從 [類型] 下拉式功能表中選取檔案系統類型。

    如需更多資訊,請參閱 zonecfg(1M)、mount(1M)、mount(2)、fsck(1M) 與 vfstab(4) 線上手冊。

  14. 如果希望此區域與全域區域共用套裝軟體,請指定被繼承套裝軟體的目錄路徑。

    inherit-pkg-dir 資源所代表的目錄中含有非全域區域與全域區域共用的套裝軟體。要繼承全域區域的套裝軟體,請鍵入將被繼承之套裝軟體的目錄路徑。

    如需更多資訊,請參閱 zonecfg(1M) 線上手冊。

  15. 檢閱依預設指定到新區域的權限。

    根據預設,會將可用權限清單中所列的權限指定至新區域。要變更區域權限的預設設定,請選取要從可用預設區域權限中排除的權限。

  16. 包括任何選擇性的區域權限。
  17. 檢閱區域配置。

    按一下 [完成] 按鈕來根據指定配置建立區域,或按 [上一步] 按鈕來變更區域參數。

接下來的步驟

根據 CPU 與記憶體使用情況檢查系統效能。


複製區域

可在單一系統上建立非全域區域的多個副本,或在多個系統上建立非全域區域的一個副本。複製非全域區域時,其所有特性都會繼承至新區域。

複製區域

如果在 CPU 與記憶體使用情況方面的系統效能令人滿意,則在相同系統上建立區域的三個副本。這三個新區域中都存在自動執行的 Web Server 應用程式。複製非全域區域時,其所有特性都會繼承至新區域。

  1. 在 Sun Management Center 主視窗的左窗格中,選取 [管理 Solaris 容器]。
  2. 按一下 Solaris 10 的主機名稱。
  3. 按一下 [區域] 標籤。
  4. 按一下 [區域複製] 按鈕。

    會出現 [區域複製配置] 精靈。

  5. 選擇是在相同主機上建立區域的多份副本,還是在多重主機上建立區域的一份副本。
    • 要在相同主機上建立區域的多份副本,請選取 [相同主機] 選項,然後按 [下一步] 並遵照提示執行操作。
    • 要在多重主機上建立區域的一份副本,請選取 [多重主機] 選項,然後按 [下一步] 並遵照提示執行操作。
  6. 按照精靈中的步驟進行。

    在相同主機上複製區域時,如果區域主機執行的是 Solaris 10 Update 3 或更新版本,則可以選擇複製 (clone) 區域。複製 (clone) 會建立區域的精確複本,其中包含區域的所有內容。

    在多重主機上複製區域時,如果區域主機執行的是 Solaris 10 Update 3 或更新版本,則可以選擇複製區域內容。

接下來的步驟

如果執行了此程序,即表示已使用區域將四個系統上所執行的四個 Web Server 應用程式合併到單一系統中。

針對四個資料庫應用程式重複執行建立區域複製區域程序。如果執行了這些程序,即表示已將四個系統上所執行的四個資料庫應用程式合併到單一系統中。

針對兩個執行獨特應用程式的系統,可在系統上建立兩個區域,並手動部署應用程式。

這樣便有效地將運行於十個系統上的應用程式合併到了三個系統中。一個系統執行 Web Server 應用程式,第二個系統執行資料庫應用程式,而第三個系統執行獨特的應用程式。


遷移區域

如果您擁有更大的系統,且該系統擁有足夠的 CPU 與記憶體,例如 Sun Fire T2000,則您甚至可使用區域遷移功能將在三個系統上執行的應用程式合併到單一系統中。

可利用區域遷移功能將所選的區域從來源系統遷移到目標系統。

區域遷移是在系統間移動已安裝之非全域區域的程序。手動區域遷移牽涉到許多步驟,例如在來源系統上分離區域,將區域歸檔遷移至目標系統,在目標系統上重新配置區域以及在目標系統上附加區域。

在 Solaris Container Manager 中,單一操作即可完成整個遷移程序。選取要遷移的區域後,按一下 [遷移區域] 按鈕,會出現 [區域遷移] 精靈。可透過此精靈選取需要將區域遷移至的目標系統。此功能簡化了整個遷移程序。

區域遷移需求

以下是將區域從來源系統遷移到目標系統的需求。

  • 目標系統的全域區域與目標系統執行的 Solaris 版本必須相同。

  • 來源系統與目標系統必須有相同的系統架構。

  • 目標系統與來源系統上均需要安裝下列作業系統套裝軟體及修補程式,且其版本必須相同。

    • 檔案儲存在 inherit-pkg-dir 資源下的套裝軟體

    • SUNW_PKG_ALLZONES=true 的套裝軟體

    其他套裝軟體與修補程式 (例如協力廠商產品) 可以不同。

  • 來源系統與目標系統上的標記區域中的標記必須相同。

遷移區域

來源系統與目標系統的架構不同,遷移程序也會有所不同。

如果將來源 Solaris x64 系統上的本機區域與標記區域遷移至目標 Solaris x64 系統,因為來源系統與目標系統的系統架構相同,遷移會成功。可從目標系統開始執行應用程式。

如果將來源 Solaris SPARC 系統上的本機區域遷移至目標 Solaris x64 系統,因為來源系統與目標系統的架構不同,僅會遷移區域的基礎架構 (例如專案設定及 CPU 設定)。需要手動在目標系統上部署應用程式。

  1. 在 Sun Management Center 主視窗的左窗格中,選取 [管理 Solaris 容器]。
  2. 選取主機名稱。
  3. 按一下 [區域] 標籤。
  4. 選取想要遷移的區域。
  5. 按一下 [遷移區域] 按鈕。

    會出現 [區域遷移] 精靈。若要顯示關於每個精靈步驟的說明文字,請按一下精靈窗格中的 [說明] 標籤。

  6. 搜尋主機。
    1. 在 [主機名稱] 文字欄位中輸入主機名稱。
    2. 從下拉式清單中選取作業系統與平台。
    3. 在 [處理器總數] 欄位中輸入最小處理器數量。
    4. 在 [記憶體總量] 欄位中輸入最小記憶體容量。
    5. 在 [時脈速度] 欄位中輸入最小時脈速度,然後按 [下一步]。
  7. 選取要將區域遷移至的主機。
  8. 輸入目標區域路徑,然後按 [下一步]。
  9. 檢閱區域遷移配置,然後按一下 [完成]。

建立標記區域

將 Solaris x64 系統上執行的應用程式合併至更少的系統上時會涉及到類似步驟,僅有的區別是需要建立標記區域而非本機區域。需要指定 1x 做為區域標記而非本機標記。

標記區域 (BrandZ) 架構會擴充 Solaris Zones 基礎架構。可利用標記區域 (BrandZ) 架構建立包含用於執行應用程式之非本機作業環境的非全域區域。會透過目前區域結構的擴充功能來執行所有標記管理。

可使用 Solaris Container Manager 的區域精靈建立標記區域。

建立標記區域

  1. 在 Sun Management Center 主視窗的左窗格中,選取 [管理 Solaris 容器]。
  2. 選取主機名稱。
  3. 按一下 [區域] 標籤。
  4. 按一下 [新區域] 按鈕。

    會出現 [新增區域] 精靈。若要顯示關於每個精靈步驟的說明文字,請按一下精靈窗格中的 [說明] 標籤。

  5. 提供基本的區域識別資訊。
    1. 提供區域路徑。

      區域路徑是用作此區域的根路徑的完全合格路徑。如果路徑以不存在的目錄名作為結尾,則系統將為您建立該目錄。如果使用現有目錄,必須將權限設定為 700。

    2. 選取網路介面。

      網路介面下拉式清單僅會顯示在此主機上找到的網路介面。

    3. 如果希望在系統當機時自動重新啟動區域,請選取 [自動重新啟動] 的 [啟用] 方塊。
    4. 從 [區域標記] 下拉式清單中選擇 [1x]。

      區域標記決定安裝與啟動區域時執行的程序檔,並在啟動應用程式時識別正確的應用程式類型。

      1x 表示無論父系主機的作業環境為何,該區域均包含 Linux 環境。僅在 Solaris 10 8/07 x64 系統上才能使用區域標記的 lx 值。

  6. 指定影像修補程式、安裝引數及系統配置檔。

    需要使用系統配置檔來提供區域管理所需的屬性。

  7. 為此區域選擇一個資源儲存池。

    資源儲存池是用於分配 CPU 資源的物件。您應根據對 CPU 總數與 CPU 共用的需求來選取可用的資源儲存池。

  8. 提供 CPU 共用屬性。

    [CPU 共用] 欄位的值為正整數,公平共用排程程式 (Fair Share Scheduler, FSS) 使用該值分配資源至與此區域相關之專案。欄位的預設值為 1。

    [專案 CPU 共用] 欄位中的值會建立一個比例,而 FSS 會根據該比例分配系統資源至與此區域相關之專案。欄位的預設值為 1000。

  9. 指定記憶體配置。

    可以將記憶體分成四個區段:

    • 實體記憶體 - 已分配實體記憶體的數量,以 MB 為單位。

    • 最大交換 - 可用於交換空間的記憶體量,以 MB 為單位。

    • 鎖定記憶體 - 鎖定記憶體數量,以 MB 為單位。

    • 共用記憶體 - 共用記憶體數量,以 MB 為單位。

  10. 提供 IPQoS 屬性。

    IP 服務品質 (IP quality-of-service, IPQoS) 功能簡化了對 Solaris 區域頻帶內和頻帶外流量的控制。

  11. 識別任何其他的網路連線。

    要增加網路虛擬介面,請輸入 IP 位址並從下拉式功能表中選取網路介面。每個網路介面可以有多個 IP 位址,但是一個網路介面在同一時間只能使用一個 IP。如需更多資訊,請參閱 zonecfg(1M) 線上手冊。

  12. 指定要在區域中配置的裝置。

    要啟用某個裝置,請在 [裝置目錄] 欄位下鍵入邏輯裝置路徑,例如 /dev/rdsk/c1t3d0s0/dev/sound/*。每個區域均可擁有多個裝置,當區域從 [已安裝] 狀態轉變為 [就緒] 狀態時,應該對這些裝置進行配置。

  13. 包括任何使用者定義的屬性。

    可為想在區域重新啟動後仍會保留的項目增加您自己的屬性,或是因為某些使用者定義之目的而增加自己的屬性。例如,可使用此功能來定義標記區域的音效裝置。屬性必須包含名稱、值與類型。

  14. 要將檔案系統包含於區域中,請提供掛載點、路徑以及檔案系統類型。

    要指定檔案系統,請提供下列資訊:

    • 在 [掛載目錄] 欄位中提供掛載點

    • 在 [特殊裝置目錄] 或 [原始裝置目錄] 欄位中鍵入路徑

    從 [類型] 下拉式功能表中選取檔案系統類型。

    如需更多資訊,請參閱 zonecfg(1M)、mount(1M)、mount(2)、fsck(1M) 與 vfstab(4) 線上手冊。

  15. 如果希望此區域與全域區域共用套裝軟體,請指定被繼承套裝軟體的目錄路徑。

    inherit-pkg-dir 資源所代表的目錄中含有非全域區域與全域區域共用的套裝軟體。要繼承全域區域的套裝軟體,請鍵入將被繼承之套裝軟體的目錄路徑。

    如需更多資訊,請參閱 zonecfg(1M) 線上手冊。

  16. 檢閱依預設指定到新區域的權限。

    根據預設,會將可用權限清單中所列的權限指定至新區域。要變更區域權限的預設設定,請選取要從可用預設區域權限中排除的權限。

  17. 包括任何選擇性的區域權限。
  18. 檢閱區域配置。

    按一下 [完成] 按鈕來根據指定配置建立區域,或按 [上一步] 按鈕來變更區域參數。


更多資訊

如需本文中所說明功能的更多資訊,請參閱下列文件:

如需區域的一般資訊,請參閱下列文件:


Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub