SFCB CIMOM 組態

SFCB 是 CIM 伺服器的輕量化實作,但設定的自由度很高。有多個選項可控制其行為。控制 SFCB 伺服器的方法主要有三種︰

環境變數

有多個環境變數會直接影響 SFCB 的行為。您需要透過 rcsfcb restart 重新啟動 SFCB 精靈,才能讓上述變更生效。

SFCB_PAUSE_PROVIDER

指定提供者名稱。SFCB 伺服器會在首次載入提供者後暫停。此時,您可以將執行時期除錯程式附加至提供者的程序,以進行除錯。

SFCB_PAUSE_CODEC

指定 SFCB 轉碼器的名稱。SFCB 伺服器會在首次載入轉碼器後暫停。此時,您可以將執行時期除錯程式附加至程序。

SFCB_TRACE

為 SFCB 指定除錯訊息的等級。有效值為 0 (無除錯訊息),或 1 (重要除錯訊息) 至 4 (所有除錯訊息)。預設值為 1。

SFCB_TRACE_FILE

SFCB 預設會將其除錯訊息輸出至標準錯誤輸出 (STDERR)。若要將除錯訊息改寫到指定的檔案,可以設定此變數。

SBLIM_TRACE

為 SBLIM 提供者指定除錯訊息的等級。有效值為 0 (無除錯訊息),或 1 (重要除錯訊息) 至 4 (所有除錯訊息)。

SBLIM_TRACE_FILE

SBLIM 提供者預設會將其追蹤訊息輸出至 STDERR。若要將追蹤訊息改寫到指定的檔案,可以設定此變數。

指令行選項

SFCB 精靈 sfcbd 具有多個指令行選項,可開啟或關閉特定的執行時期功能。請在 SFCB 精靈啟動時輸入這些選項。

-c、--config-file=檔案

SFCB 精靈啟動時,預設會從 /etc/sfcb/sfcb.cfg 中讀取組態。借助此選項,可以指定替代的組態檔案。

-d、--daemon

強制 sfcbd 及其子程序在背景執行。

-s、--collect-stats

開啟執行時期的統計資料收集。各種 sfcbd 執行時期統計資料將被寫入到目前工作目錄下的 sfcbStat 檔案。預設情況下,不會收集任何統計資料。

-l、--syslog-level=記錄層級

指定 syslog 的詳細層級。記錄層級可以是 LOG_INFO、LOG_DEBUG 或 LOG_ERR,預設為 LOG_ERR。

-t、--trace-components=數字

啟動元件層級的訊息追蹤,其中數字為使用 OR 指定的位元遮罩整數,用於定義要追蹤的元件。如果 -t ?,會列出所有元件及其關聯的整數位元 遮罩︰

tux@mercury:~> sfcbd -t ?
---   Traceable Components:     Int       Hex
--- 	       providerMgr:          1	0x0000001
--- 	       providerDrv:          2	0x0000002
--- 	        cimxmlProc:          4	0x0000004
--- 	        httpDaemon:          8	0x0000008
--- 	           upCalls:         16	0x0000010
--- 	          encCalls:         32	0x0000020
--- 	   ProviderInstMgr:         64	0x0000040
--- 	  providerAssocMgr:        128	0x0000080
--- 	         providers:        256	0x0000100
--- 	       indProvider:        512	0x0000200
--- 	  internalProvider:       1024	0x0000400
--- 	        objectImpl:       2048	0x0000800
--- 	             xmlIn:       4096	0x0001000
--- 	            xmlOut:       8192	0x0002000
--- 	           sockets:      16384	0x0004000
--- 	         memoryMgr:      32768	0x0008000
--- 	          msgQueue:      65536	0x0010000
--- 	        xmlParsing:     131072	0x0020000
--- 	    responseTiming:     262144	0x0040000
--- 	         dbpdaemon:     524288	0x0080000
--- 	               slp:    1048576	0x0100000

-t 2019 會顯示 sfcbd 的內部函數,但不會產生過多訊息,因此很有用。

SFCB 組態檔案

SFCB 會在啟動後從組態檔案 /etc/sfcb/sfcb.cfg 讀取其執行時期組態。若想覆寫啟動時的這一行為,可以使用 -c 選項。

組態檔案包含多組 option : ,每行一組。變更此檔案時,可以使用以所用環境原生格式儲存檔案的任何文字編輯器。

如果設定中包含以數字符號 (#) 設為備註的選項,則該設定會使用預設設定。

可以辨識的選項包括︰

httpPort

目的、用途

指定 sfcbd 監聽來自 CIM 用戶端之 HTTP (不安全) 請求的本地連接埠值。預設值為 5988

語法

httpPort: 埠號

enableHttp

目的、用途

指定 SFCB 是否應接受 HTTP 用戶端連線。預設值為 false

語法

enableHttp: 選項

選項

描述

true

啟用 HTTP 連線。

false

停用 HTTP 連線。

httpProcs

目的、用途

指定可同時建立之 HTTP 用戶端連線的最大數目。達到該數目後,所有新的內送 HTTP 請求都將遭到阻擋。預設值為 8

語法

httpProcs: 最大連線數

httpsPort

目的、用途

指定 sfcbd 監聽來自 CIM 用戶端之 HTTPS 請求的本地連接埠值。預設值為 5989

語法

httpsPort: 埠號

enableHttps

目的、用途

指定 SFCB 是否接受 HTTPS 用戶端連線。預設值為 true

語法

enableHttps: 選項

選項

描述

true

啟用 HTTPS 連線。

false

停用 HTTPS 連線。

httpsProcs

目的、用途

指定可同時建立之 HTTPS 用戶端連線的最大數目。達到該數目後,所有新的內送 HTTPS 請求都將遭到阻擋。預設值為 8

語法

httpsProcs: 最大連線數

enableInterOp

目的、用途

指定 SFCB 是否提供 interop 名稱空間,用於指示支援。預設值為 true

語法

enableInterOp: 選項

選項

描述

true

啟用 interop 名稱空間。

false

停用 interop 名稱空間。

provProcs

目的、用途

指定可同時執行之提供者程序的最大數目。達到該數目之後,如果有新的內送請求要求載入新提供者,則會先自動卸載某個現有的提供者。預設值為 32

語法

provProcs: 最大程序數

doBasicAuth

目的、用途

接受請求之前,依據用戶端使用者識別碼開啟或關閉基本驗證。預設值為 true,表示執行用戶端驗證。

語法

doBasicAuth: 選項

選項

描述

true

啟用基本驗證。

false

停用基本驗證。

basicAuthLib

目的、用途

指定本地程式庫名稱。SFCB 伺服器會載入程式庫,以驗證用戶端使用者識別碼。預設值為 sfcBasicPAMAuthentication

語法

provProcs: 最大程序數

useChunking

目的、用途

此選項可啟用或停用 HTTP/HTTPS 區塊化功能。如果啟用,伺服器會將大量回應資料以較小的區塊傳回到用戶端,而不是採用緩衝資料,然後以一個區塊全部送回的方式。預設值為 true

語法

useChunking: 選項

選項

描述

true

啟用 HTTP/HTTPS 資料區塊化功能。

false

停用 HTTP/HTTPS 資料區塊化功能。

keepaliveTimeout

目的、用途

指定 SFCB HTTP 程序在同一個連線上兩次請求間的最長等待時間 (秒)。達到此時間後,程序將終止。如果將其設定為 0,則會停用 HTTP 保持連線功能。預設值為 0

語法

keepaliveTimeout: 秒數

keepaliveMaxRequest

目的、用途

指定一個連線上連續請求的最大數目。如果將其設定為 0,則會停用 HTTP 保持連線功能。預設值為 10

語法

keepaliveMaxRequest: 連線數

registrationDir

目的、用途

指定註冊目錄,其中包含提供者註冊資料、階段區域和靜態儲存庫。預設值為 /var/lib/sfcb/registration

語法

registrationDir: 目錄

providerDirs

目的、用途

指定 SFCB 從中搜尋提供者程式庫的目錄清單,以空格分隔。預設值為 /usr/lib64 /usr/lib64 /usr/lib64/cmpi

語法

providerDirs: 目錄

providerSampleInterval

目的、用途

指定提供者管理員檢查閒置提供者的間隔 (秒)。預設值為 30

語法

providerSampleInterval: 秒數

providerTimeoutInterval

目的、用途

指定提供者在閒置多少時間 (秒) 後由提供者管理員卸載。預設值為 60

語法

providerTimeoutInterval: 秒數

providerAutoGroup

目的、用途

如果提供者註冊檔案未指定其他任何群組,並且該選項設定為 true,則同一個共享程式庫中的所有提供者都會在同一個程序中執行。

語法

providerAutoGroup: 選項

選項

描述

true

啟用提供者分組。

false

停用提供者分組。

sslCertificateFilePath

目的、用途

指定包含伺服器證書的檔案名稱。檔案必須為 PEM (隱私增強郵件,採用 RFC 1421 與 RFC 1424 標準) 格式。不過,此檔案僅在 enableHttps 設定為 true 時才要求使用。預設值為 /etc/sfcb/server.pem

語法

sslCertificateFilePath: 路徑

sslKeyFilePath

目的、用途

指定包含伺服器證書之私密金鑰的檔案名稱。該檔案必須為 PEM 格式,可以不含密碼片語保護。不過,此檔案僅在 enableHttps 設定為 true 時才要求使用。預設值為 /etc/sfcb/file.pem

語法

sslKeyFilePath: 路徑

sslClientTrustStore

目的、用途

指定包含 CA 或自行簽署之客戶端證書的檔案名稱。此檔必須為 PEM 格式,不過僅在 sslClientCertificate 設定為 acceptrequire 時才要求使用。預設值為 /etc/sfcb/client.pem

語法

sslClientTrustStore: 路徑

sslClientCertificate

目的、用途

指定 SFCB 處理用戶端證書驗證的方式。如果設定為 ignore,則不會要求用戶端提供證書。如果設定為 accept,則會要求用戶端提供證書,不過即使用戶端不提供,操作也不會失敗。如果設定為 require,則會在客戶端不提供證書時拒絕客戶端連線。預設值為 ignore

語法

sslClientCertificate: 選項

選項

描述

ignore

停用用戶端證書的請求。

accept

停用用戶端證書的請求。

即使不提供證書,也不會失敗。

require

如果沒有有效的證書,便拒絕用戶端連線。

certificateAuthLib

目的、用途

指定本地程式庫的名稱,以便請求基於用戶端證書的使用者驗證。僅當 sslClientCertificate 未設定為 ignore 時才需要指定。預設值為 sfcCertificateAuthentication

語法

certificateAuthLib: 檔案

traceLevel

目的、用途

指定 SFCB 的追蹤層級。您可以透過設定環境變數 SFCB_TRACE_LEVEL 的方式對其進行覆寫。預設值為 0

語法

traceLevel: 層級數

traceMask

目的、用途

指定 SFCB 的追蹤遮罩。您可以透過指令行選項 --trace-components 對其進行覆寫。預設值為 0

語法

traceMask: 遮罩

traceFile

目的、用途

指定 SFCB 的追蹤檔案。您可以透過設定環境變數 SFCB_TRACE_FILE 的方式對其進行覆寫。預設值為 stderr (標準錯誤輸出)。

語法

traceFile: 輸出