本節旨在說明 Solaris 10 3/05 發行版本中的所有系統資源增強功能,哪些部分是新增功能,哪些則是增強 2002 年 5 月所發行之 Solaris 9 作業系統的原有功能。Solaris 10 作業系統包含一個對 Solaris 使用者具有關鍵重要性的功能,即 Solaris Zones 分割技術。
這是 Solaris Express 2/04 發行版本中的新增功能。在 Solaris Express 7/04 發行版本中,已增加適用 Zones 的新增功能。
Solaris Zones 軟體磁碟分割技術是 Solaris Containers 環境的元件,這種技術會虛擬化作業系統服務,並且為執行的應用程式提供獨立安全的環境。區域是在 Solaris 作業系統的單一實例內建立的虛擬化作業系統環境。Zones 基本上提供標準的 Solaris 介面和應用程式環境,但不包括需要建立通訊埠之應用程式的新 ABI 或 API。
每個區域可以提供自訂的一組服務。Zones 對於在單一伺服器上合併數個應用程式的環境而言是理想的工具。資源管理功能可以在區域內使用,加強控制應用程式使用可用系統資源的能力。
區域可以視為一個盒子。一或多個應用程式可以在這個盒子內執行,卻不會影響系統的其他部分。這種隔絕性防止一個區域上執行的程序監看或干擾其他區域上執行的程序。即使在區域內執行的程式具有超級使用者憑證,都無法檢視或影響其他區域中的活動。
Solaris 作業系統的單一實例是全域區域。全域區域是系統的預設區域,也是做為全系統管理控制的區域。在全域區域內工作的管理員可以建立一或多個非全域區域。建立後,這些非全域區域可以由個別區域的管理員加以管理。區域管理員的特權會被限制在非全域區域中。
非全域區域提供的隔絕性幾乎是遍及您所需顆粒性的任何層級。區域不需要專用的 CPU、實體裝置或部分的實體記憶體。這些資源可以跨單一網域或系統內執行的數個區域進行多工作業,或是使用作業系統中提供的資源管理功能,在每個區域上加以配置。甚至小型的單一處理器系統也可以同時支援多個區域的執行。
若要達到程序隔絕的目標,程序僅可看到存在於同區域內的程序或對它們發出訊號。
區域之間的基本通訊是由賦予每個區域至少一個邏輯網路介面而提供的。在相同系統上不同區域中執行的應用程式,可以使用與每個區域相關聯之明確的 IP 位址或使用萬用字元位址,連結到相同的網路通訊埠。在一個區域內執行的應用程式無法觀察另一個區域的網路流量。這種隔絕性會維持不變,儘管透過相同實體介面封包各自傳輸資料流,也是一樣。
對於每個區域都會賦予檔案系統階層的一部分。因為每個區域都被限制在該檔案系統階層的子樹狀結構下,所以特定區域中的工作負荷量無法存取在不同區域中另一個工作負荷量的磁碟資料。
某一區域中之命名服務所用的檔案,擁有根檔案系統檢視。因此,不同區域中的命名服務彼此是隔離的,可以配置為不相同。
如需有關如何在系統上配置與使用區域的資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」。
資源控制項 (rctls) 是 Solaris 9 軟體中的新增功能。其餘的資源控制項是 Software Express 試驗程式,以及 Solaris Express 3/04、8/04 與 10/04 發行版本中的新增功能。
已增加新的以專案及程序為基礎的資源控制項。資源控制項提供的機制可以控制應用程式使用系統資源的方式。
在 Software Express 試驗程式中,已增加了下列的資源控制項。這些資源控制項會影響 System V IPC (程序間通訊) 功能,其包括了共用的記憶體、訊息佇列及旗號。
project.max-shm-ids
project.max-sem-ids
project.max-msg-ids
project.max-shm-memory
process.max-sem-nsems
process.max-sem-ops
process.max-msg-qbytes
請參閱System V IPC 配置,以取得更多資訊。
在 Solaris Express 3/04 發行版本中,已增加下列事件通訊埠資源控制項:
project.max-device-locked-memory
project.max-port-ids
process.max-port-events
在 Solaris Express 8/04 發行版本中,已增加下列新的資源控制項:
project.max-lwps
project.max-tasks
在 Solaris Express 10/04 發行版本中,已增加 project.max-contracts 資源控制項。
在 Solaris Express 11/04 發行版本中,已增加 process.max-crypto-memory 加密資源控制項。
如需有關資源控制項的資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的第 6 章「Resource Controls (Overview)」。本章包含以下主題:
目前可用的資源控制項清單
資源控制項的一般性說明
資源控制項配置資訊
配置資源控制項的資訊也可在「project(4) 線上手冊」中找到。
這是 Solaris Express 7/04 發行版本中的新增功能。
Solaris Express 7/04 發行版本中新加入的專案資料庫及資源控制項指令的增強功能,包括以下幾項:
資源控制值和指令的比例值和單元修飾詞支援
改善過的驗證及更容易控制的專案屬性欄位
請參閱「project(4) 線上手冊」。
prctl 與 projects 指令的新選項及經過修改的輸出格式
請參閱「prctl(1)線上手冊」和「projects(1)線上手冊」。
如需有關所引入變更的資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的以下各章節:
第 2 章「Projects and Tasks (Overview)」
第 3 章「Administering Projects and Tasks」
第 6 章「Resource Controls (Overview)」
第 7 章「Administering Resource Controls (Tasks)」
請注意,利用 useradd 指令、usermod 指令及 passmgmt 指令設定使用者預設專案的資訊,在該指南中已更新。這些指令在「useradd(1M)線上手冊」、「usermod(1M)線上手冊」和「passmgmt(1M)線上手冊」中有說明。
另請參閱以下線上手冊:
「prctl(1) 線上手冊」
「projects(1) 線上手冊」
「projadd(1M) 線上手冊」
「projdel(1M) 線上手冊」
「projmod(1M) 線上手冊」
「rctladm(1M) 線上手冊」
「setrctl(2) 線上手冊」
「rctlblk_set_value(3C) 線上手冊」
「setproject(3PROJECT) 線上手冊」
「project(4) 線上手冊」
這是 Solaris Express 1/04 發行版本中的新增功能。
動態資源區 (DRP) 提供了調整每個集區資源配置,以回應已啟用資源集區之系統上系統事件及應用程式工作負荷量變更的機制。會自動進行調整,以維護由管理員所指定的系統效能目標。所進行的配置變更會記錄下來。
這些功能主要會透過資源控制器 poold (需要動態資源配置時,會處於使用中的系統常駐程式) 啟用。每隔一段時間,poold 會檢查系統上的工作負荷,並決定是否需要介入以啟用系統,維持指定的資源利用率目標。常駐程式在需要時會採取更正動作,或是記錄下情況。
如需進一步資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的以下各章節:
第 12 章「Dynamic Resource Pools (Overview)」
第 13 章「Administering Dynamic Resource Pools (Tasks)」
第 14 章「Resource Management Configuration Example」
另請參閱以下線上手冊:
「pooladm(1M) 線上手冊」
「poolbind(1M) 線上手冊」
「poolcfg(1M) 線上手冊」
「poold(1M) 線上手冊」
「poolstat(1M) 線上手冊」
「libpool(3LIB) 線上手冊」
延伸統計是自 2002 年 5 月 Solaris 9 作業系統首次發行以來的新增功能。Software Express 試驗程式引進流程統計增強功能和 Perl 介面。這些增強功能已納入 Solaris 10 3/05 發行版本中。
對於 Solaris 9 的使用者而言,流量計算增強功能是 Solaris 9 9/02 發行版本中的新增功能。Perl 介面是 Solaris 9 4/03 發行版本中的新增功能。
您可以將延伸統計程序與 IPQoS 的流量計算模組一同使用。如需有關 IPQoS 的資訊,請參閱「System Administration Guide: IP Services」中的第 VII 部分「IP Quality of Service (OPQoS)」。
如需有關延伸統計功能的資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的第 5 章「Administering Extended Accounting (Tasks)」。
Software Express 發行版本提供了 libexacct 的 Perl 介面。此介面可讓您建立 Perl 程序檔,以讀取 exacct 架構產生的計算檔案。您也可以建立寫入 exacct 檔案的 Perl 程序檔。新介面在功能上等同於基礎 C API。
您可以根據作業或程序,使用 Perl 介面來記錄系統資源使用情況。或者,您可以根據 IPQoS flowacct 模組所提供的選擇器來記錄系統資源使用狀況。
如需進一步的資訊,請參閱下列線上手冊:
「Exacct(3PERL) 線上手冊」
「Exacct::Catalog(3PERL) 線上手冊」
「Exacct::File(3PERL) 線上手冊」
「Exacct::Object(3PERL) 線上手冊」
「Exacct::Object::Group(3PERL) 線上手冊」
「Exacct::Object::Item(3PERL) 線上手冊」
「Kstat(3PERL) 線上手冊」
「Project(3PERL) 線上手冊」
「Task(3PERL) 線上手冊」
如需有關如何以本節所述之增強功能來配置及使用延伸統計的資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的第 4 章「Extended Accounting (Overview)」。
這是 Software Express 試驗程式與 Solaris 9 12/03 發行版本中的新增功能。Solaris 10 3/05 發行版本中有此功能。
使用資源限定常駐程式的實體記憶體控制,是一項選擇性的功能。資源限定常駐程式 rcapd 可以限定在已定義資源上限的專案中執行的程序對實體記憶體的使用。關聯公用程式可提供用於管理該常駐程式並報告相關統計資料的機制。
如需其他資訊,請參閱「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」中的第 10 章「Physical Memory Control Using the Resource Capping Daemon (Overview)」。
另請參閱「rcapstat(1)線上手冊」、「rcapadm(1M)線上手冊」、「project(4)線上手冊」和「rcapd(1M)線上手冊」。