目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / SUSE Linux Enterprise Serverマニュアル / 管理ガイド / サービス / SFCBを使用したWebベースの企業管理
適用項目 SUSE Linux Enterprise Server 15 SP5

45 SFCBを使用したWebベースの企業管理

45.1 概要および基本概念

SUSE® Linux Enterprise Server (SLES)は、異種コンピューティングシステムおよび環境を統合管理するためのオープンスタンダードベースのツールのコレクションを提供しています。弊社の企業ソリューションでは、Distributed Management Task Forceが提案する標準を実装しています。ここでは、基本コンポーネントについて説明します。

Distributed Management Task Force, Inc (DMTF)は、企業およびインターネットの環境に対する管理標準の開発を推進する業界団体です。DMTFは、管理の標準とイニシアチブを統合し、管理ソリューションを、より高い統合性とコスト効果を持つ、より相互運用可能なものにすることを目的としています。DMTF標準は、制御および通信のための共通システム管理コンポーネントを提供します。こうしたソリューションは、プラットフォームや技術に依存しません。「Webベースの企業管理」および「共通情報モデル」は2つの重要な技術です。

Webベースの企業管理(WBEM)は、管理およびインターネット標準技術群です。WBEMは、企業のコンピューティング環境の管理を統合するために開発されました。Webテクノロジを使用した統一管理ツールコレクションを作成する機能を業界に提供するものです。WBEMは、次の標準で構成されます。

  • データモデル: CIM(Common Information Model)標準

  • 符号化規格: CIM-XML符号化規格

  • 伝送メカニズム: CIM operations over HTTP

共通情報モデルは、システム管理について記述した概念的な情報モデルです。特別な実装は必要なく、管理システム、ネットワーク、サービス、およびアプリケーション間で管理情報を交換できます。CIMには、2つのパート(CIM仕様とCIMスキーマ)があります。

  • CIM仕様は、言語、ネーミング、およびメタスキーマを記述します。メタスキーマは、モデルの公式な定義です。メタスキーマは、モデルの内容、使用方法、および意味の説明に使う用語を定義します。メタスキーマの要素は、クラスプロパティ、およびメソッドです。また、メタスキーマは、指示関連付けクラスのタイプとして、参照プロパティとしてサポートします。

  • CIMスキーマは、実際のモデルを記述します。このスキーマは、管理対象環境について利用可能な情報を編成できる汎用の概念的なフレームを提供する、プロパティと関連を持つ一連の名前が付けられたクラスです。

Common Information Model Object Manager (CIMOM)は、CIM標準に基づいてオブジェクトを管理するアプリケーションです(CIM Object Manager)。CIMOMは、CIMOMプロバイダと、管理者がシステムを管理するCIMクライアントの間の通信を管理します。

CIMOMプロバイダは、クライアントアプリケーションから要求された特定のタスクをCIMOM内で実行するソフトウェアです。各プロバイダは、CIMOMのスキーマの1つまたは複数の機能や役割を果たします。これらのプロバイダは、ハードウェアを直接操作します。

SBLIM (Standards Based Linux Instrumentation for Manageability)は、Webベースの企業管理(WBEM)をサポートするために設計されたツールのコレクションです。SUSE® Linux Enterprise Serverは、Small Footprint CIM Brokerと呼ばれるSBLIMプロジェクトのオープンソースCIMOM (またはCIMサーバ)を使用します。

コンパクトなフットプリントのCIMブローカは、リソースに制限のある環境または埋め込み環境での使用を対象としたCIMサーバです。このサーバは、モジュール性と軽量性を同時に備えた設計になっています。このサーバはオープンスタンダードをベースとし、CMPIプロバイダ、CIM-XMLエンコーディング、および管理オブジェクトフォーマット(MOF)をサポートします。これは高度に設定可能なサーバであり、プロバイダがクラッシュしても動作は安定しています。また、HTTP、HTTPS、Unixドメインソケット、サービスロケーションプロトコル(SLP)、Javaデータベース接続(JDBC)など、複数のトランスポートプロトコルがサポートされるために、簡単にアクセスできます。

45.2 SFCBの設定

SFCB (Small Footprint CIM Broker)環境を設定するには、SUSE Linux Enterprise Serverのインストール時にYaSTのWebベースの企業管理パターンが選択されていることを確認します。また、すでに実行中のサーバにインストールするコンポーネントとしてこれを選択します。次のパッケージがシステムにインストールされていることを確認します。

cim-schema、CIM (Common Information Model)スキーマ

共通情報モデル(CIM)が含まれます。CIMは、ネットワーク/企業環境内の総合的な管理情報を記述するモデルです。CIMは仕様とスキーマで構成されます。仕様は、他の管理モデルとの統合に関する詳細を定義しています。スキーマは、実際のモデルを記述しています。

python2-pywbem

管理対象オブジェクトをクエリおよび更新するために、WBEMプロトコルを使用してCIM操作呼び出しを行うためのPythonモジュールが含まれます。

cmpi-provider-register、CIMOM中立プロバイダ登録ユーティリティ

システム上に存在するすべてのCIMOMをCMPIプロバイダパッケージに登録できるユーティリティが含まれます。

sblim-sfcb、コンパクトなフットプリントのCIMブローカ

コンパクトなフットプリントのCIMブローカが含まれます。これは、CIM Operations over HTTPプロトコルに準拠するCIMサーバです。堅牢でリソース消費が抑制されているために、埋め込み環境およびリソースが制約された環境に特に適しています。SFCBでは、Common Manageability Programming Interface (CMPI)に対して記述されたプロバイダがサポートされます。

sblim-sfcc

コンパクトなフットプリントのCIMクライアントライブラリのランタイムライブラリが含まれます。

sblim-wbemcli

WBEMコマンドラインインタフェースが含まれます。これは、特に基本的なシステム管理タスクに適したスタンドアロンコマンドラインWBEMクライアントです。

45.2.1 SFCBの起動、終了、およびステータスの確認

CIMサーバのsfcbdデーモンは、Webベースの企業管理ソフトウェアとともにインストールされ、システム起動時にデフォルトで開始されます。次の表で、sfcbdの起動、停止、および状態の確認を説明します。

表 45.1: sfcbdの管理用コマンド

タスク

Linuxコマンド

sfcbdの起動

コマンドラインでrootとして「systemctl start sblim-sfcb.service」と入力します。

sfcbdの停止

コマンドラインでrootとして「systemctl stop sblim-sfcb.service」と入力します。

sfcbdの状態の確認

コマンドラインでrootとして「systemctl status sblim-sfcb.service」と入力します。

45.2.2 セキュアアクセスの確保

SFCBのデフォルトのセットアップは、比較的安全(セキュア)です。ただし、SFCBコンポーネントに対するアクセスが組織で必要とされる安全性を満たしていることを確認します。

45.2.2.1 証明書

安全にSSL (Secure Socket Layers)通信を行うには、証明書が必要になります。SFCBがインストールされている場合、自己署名付き証明書が生成されています。

/etc/sfcb/sfcb.cfgsslCertificateFilePath: PATH_FILENAME 設定を変更することで、デフォルトの証明書のパスを商用証明書または自己署名付きの証明書のパスに置き換えることができます。ファイルは、PEMフォーマットであることが必要です。

デフォルトでは、SFCBは次の場所にサーバ証明書を想定しています。

/etc/sfcb/server.pem

新しい証明書を生成するには、次のコマンドを実行します。

> sudo sh /usr/share/sfcb/genSslCert.sh
Generating SSL certificates in .
Generating a 2048 bit RSA private key
...................................................................+++
.+++
writing new private key to '/var/tmp/sfcb.0Bjt69/key.pem'
-----

デフォルトでは、このスクリプトにより現在の作業ディレクトリに証明書client.pemfile.pemおよびserver.pemが生成されます。スクリプトにより/etc/sfcbディレクトリに証明書を生成する場合は、コマンドにこのパスを追加する必要があります。これらのファイルがすでに存在する場合、警告メッセージが表示されます。古い証明書は上書きされません。

> sudo sh /usr/share/sfcb/genSslCert.sh /etc/sfcb
Generating SSL certificates in .
WARNING: server.pem SSL Certificate file already exists.
         old file will be kept intact.
WARNING: client.pem SSL Certificate trust store already exists.
         old file will be kept intact.

ファイルシステムから古い証明書を削除し、このコマンドを再実行する必要があります。

SFCBが証明書を使用する方法を変更するには、45.2.2.3項 「認証」を参照してください。

45.2.2.2 ポート

デフォルトでは、SFCBはセキュアなポート5989を使用するすべての通信を受け入れるように設定されます。ここでは、通信ポートのセットアップと推奨される設定について説明します。

ポート5989(セキュア)

SFCB通信がHTTPSサービスを介して使用するセキュアなポート。デフォルトの設定です。この設定で、CIMOMとクライアントアプリケーション間のすべての通信は、サーバとワークステーション間でインターネットを通じて送信されるときに暗号化されます。ユーザは、SFCBサーバにアクセスするためにクライアントアプリケーションで認証を受ける必要があります。この設定を記録しておくことをお勧めします。ルータやファイアウォールルールがクライアントアプリケーションとモニタリングされるノードとの間に存在する場合に、SFCB CIMOMが必要なアプリケーションと通信できるようにするには、このポートを開いておく必要があります。

ポート5988(非セキュア)

SFCB通信がHTTPSサービスを介して使用する非セキュアなポート。デフォルトでは、この設定は無効にされています。この設定では、CIMOMとクライアントアプリケーション間のすべての通信は、サーバとワークステーション間でインターネットを通じて送信されるときに、だれでも認証なしで開き、レビューできます。この設定は、CIMOMの問題をデバッグするときのみに使用することをお勧めします。問題が解決されたら、セキュアでないポートオプションを無効にしてください。SFCB CIMOMがセキュアでないアクセスを要求する必要なアプリケーションと通信できるようにするには、クライアントアプリケーションとモニタリングされるノードとの間に存在するルータやファイアウォールルールでこのポートを開いておく必要があります。

デフォルトのポートの割り当てを変更するには、45.2.2.2項 「ポート」を参照してください。

45.2.2.3 認証

SFCBでは、HTTP基本認証、およびクライアント証明書に基づく認証がサポートされます(HTTP over SSL接続)。基本HTTP認証は、SFCB環境設定ファイル(デフォルトでは/etc/sfcb/sfcb.cfg)で、doBasicAuth=trueを指定することにより有効になります。SFCBのSUSE® Linux Enterprise Serverインストールでは、プラグ可能認証モジュール(PAM)アプローチがサポートされます。したがって、ローカルルートユーザは、ローカルルートユーザの資格情報によりSFCB CIMOMに対して認証を行うことができます。

sslClientCertificate設定プロパティがacceptまたはrequireに設定されている場合、SFCB HTTPアダプタは、HTTP over SSL (HTTPS)で接続したときにクライアントに証明書を要求します。requireが指定された場合、(sslClientTrustStoreを介して指定されたクライアント信頼ストアに従って)クライアントは有効な証明書を提供する必要があります。クライアントが証明書を提供しない場合、接続はCIMサーバにより拒否されます。

sslClientCertificate=acceptという設定は、明確でないことがあります。基本認証およびクライアント証明書認証が両方許可されている場合に、この設定は役立ちます。クライアントが有効な証明書を提供できれば、HTTPS接続が確立され、基本認証手順は実行されません。この機能で証明書を検証できない場合、HTTP基本認証が代わりに実行されます。

45.3 SFCB CIMOM設定

SFCBは、CIMサーバの軽量な実装ですが、高度に設定可能です。複数のオプションによりその動作を制御できます。SFCBサーバは次の3つの方法で制御できます。

  • 適切な環境変数を設定する

  • コマンドラインオプションを使用する

  • 環境設定ファイルを変更する

45.3.1 環境変数

いくつかの環境変数は、SFCBの動作に直接影響します。これらの環境変数の変更を有効にするには、systemctl restart sfcbでSFCBデーモンを再起動する必要があります。

PATH

sfcbdデーモンおよびユーティリティへのパスを指定します。

LD_LIBRARY_PATH

sfcbランタイムライブラリへのパスを指定します。また、このパスをシステムワイドの動的ローダ設定ファイル/etc/ld.so.confに追加できます。

SFCB_PAUSE_PROVIDER

プロバイダ名を指定します。SFCBサーバは、プロバイダが最初にロードされた後に一時停止します。その後、デバッグの目的でプロバイダのプロセスにランタイムデバッガを接続できます。

SFCB_PAUSE_CODEC

SFCBコーデックの名前を指定します(現在、httpのみサポートしています)。SFCBサーバは、コーデックが最初にロードされた後に一時停止します。その後、プロセスにランタイムデバッガを接続できます。

SFCB_TRACE

SFCBのデバッグメッセージレベルを指定します。有効な値は、0(デバッグメッセージなし)、または1(重要なデバッグメッセージ)~4(すべてのデバッグメッセージ)です。デフォルトは1です。

SFCB_TRACE_FILE

有効な値は、0 (デバッグメッセージなし)または1 (主要なデバッグメッセージ)~4 (すべてのデバッグメッセージ)です。この変数を設定すると、指定のファイルにデバッグメッセージが代わりに書き込まれます。

SBLIM_TRACE

SBLIMプロバイダのデバッグメッセージレベルを指定します。有効な値は、0(デバッグメッセージなし)、または1(重要なデバッグメッセージ)~4(すべてのデバッグメッセージ)です。

SBLIM_TRACE_FILE

デフォルトでは、SBLIMプロバイダはトレースメッセージをSTDERRに出力します。この変数を設定すると、指定のファイルにトレースメッセージが代わりに書き込まれます。

45.3.2 コマンドラインオプション

SFCBデーモンsfcbdには、特定のランタイム機能をオン/オフするためのコマンドラインオプションがあります。SFCBデーモンの開始時に、これらのオプションを入力します。

-c, --config-file=FILE

SFCBデーモンの開始時に、デフォルトで/etc/sfcb/sfcb.cfgから設定が読み込まれます。このオプションでは、代替の環境設定ファイルを指定できます。

-d, --daemon

バックグラウンドで実行するようにsfcbdとその子プロセスを強制します。

-s, --collect-stats

ランタイム統計情報の収集をオンにします。現在の作業ディレクトリのsfcbStatファイルに、さまざまなsfcbdランタイム統計情報が書き込まれます。デフォルトでは、統計情報は収集されません。

-l, --syslog-level=LOGLEVEL

システムログ機能の冗長性レベルを指定します。LOGLEVELは、LOG_INFO、LOG_DEBUG、またはLOG_ERR (デフォルト)のいずれかになります。

-k, --color-trace=LOGLEVEL

プロセスごとに異なる色でトレース出力を印刷して、デバッグを容易にします。

-t, --trace-components=NUM

NUMがトレースするコンポーネントを定義するORビットマスク整数である場合に、コンポーネントレベルのトレースメッセージをアクティブにします。-t ?を指定した後すべてのコンポーネントおよび関連する整数ビットマスクが表示されます。

> 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

sfcbdの内部機能を表示し、メッセージを生成しすぎない有用な値は-t 2019です。

45.3.3 SFCB環境設定ファイル

SFCBは、起動後に環境設定ファイル/etc/sfcb/sfcb.cfgからランタイム設定を読み込みます。この動作は、起動時に-cオプションを使用して上書きできます。

環境設定ファイルには、option : VALUEのペアが1行に1つずつ含まれています。このファイルに変更を加える場合は、使用している環境にネイティブな形式でファイルを保存するどのテキストエディタでも使用できます。

オプションがシャープ記号(#)でコメントアウトされている設定では、デフォルト設定が使用されます。

次のオプションリストは、完全でない可能性があります。全リストについては、/etc/sfcb/sfcb.cfgおよび/usr/share/doc/packages/sblim-sfcb/READMEの内容を参照してください。

45.3.3.1 httpPort

目的

CIMクライアントからのHTTP(非セキュア)要求を受信するためにsfcbdがリスンするローカルポート値を指定します。デフォルトは5988です。

構文

httpPort: PORT_NUMBER

45.3.3.2 enableHttp

目的

SFCBがHTTPクライアント接続を受け入れるかどうかを指定します。デフォルトはfalseです。

構文

enableHttp: OPTION

オプション

説明

true

HTTP接続を有効にします。

false

HTTP接続を無効にします。

45.3.3.3 httpProcs

目的

新しい着信HTTP要求を拒否するまでの同時HTTPクライアント接続の最大数を指定します。デフォルトは8です。

構文

httpProcs: MAX_NUMBER_OF_CONNECTIONS

45.3.3.4 httpUserSFCB、httpUser

目的

これらのオプションは、HTTPサーバを実行するユーザを管理します。httpUserSFCBtrueの場合、HTTPは、SFCBメインプロセスと同じユーザで実行されます。falseの場合は、httpUserで指定されたユーザ名が使用されます。この設定は、HTTPとHTTPSの両方のサーバに使用されます。httpUserSFCBfalseに設定する場合は、httpUser を指定する必要があります。デフォルトはtrueです。

構文

httpUserSFCB: true

45.3.3.5 httpLocalOnly

目的

HTTP要求をローカルホストだけに制限するかどうか指定します。デフォルトはfalseです。

構文

httpLocalOnly: false

45.3.3.6 httpsPort

目的

sfcbdがCIMクライアントからのHTTPS要求をリスンするローカルポート値を指定します。デフォルトは5989です。

構文

httpsPort: port_number

45.3.3.7 enableHttps

目的

SFCBがHTTPSクライアント接続を受け入れるかどうかを指定します。デフォルトはtrueです。

構文

enableHttps: option

オプション

説明

true

HTTPS接続を有効にします。

false

HTTPS接続を無効にします。

45.3.3.8 httpsProcs

目的

新しい着信HTTPS要求を拒否するまでの同時HTTPSクライアント接続の最大数を指定します。デフォルトは8です。

構文

httpsProcs: MAX_NUMBER_OF_CONNECTIONS

45.3.3.9 enableInterOp

目的

SFCBで表示サポートにinterop名前空間を提供するかどうかを指定します。デフォルトはtrueです。

構文

enableInterOp: OPTION

オプション

説明

true

interop名前空間を有効にします。

false

interop名前空間を無効にします。

45.3.3.10 provProcs

目的

同時プロバイダプロセスの最大数を指定します。この時点以降、新しい着信要求により新しいプロバイダのロードが必要になった場合は、既存のプロバイダのいずれかが最初に自動的にアンロードされます。デフォルトは32です。

構文

provProcs: MAX_NUMBER_OF_PROCS

45.3.3.11 doBasicAuth

目的

要求を受け入れる前に、クライアントユーザIDに基づいて基本認証のオンまたはオフを切り替えます。デフォルト値はtrueで、基本的なクライアント認証が実行されます。

構文

doBasicAuth: OPTION

オプション

説明

true

基本認証を有効にします。

false

基本認証を無効にします。

45.3.3.12 basicAuthLib

目的

ローカルライブラリ名を指定します。SFCBサーバは、クライアントユーザIDを認証するためにライブラリをロードします。デフォルトはsfcBasicPAMAuthenticationです。

構文

provProcs: MAX_NUMBER_OF_PROCS

45.3.3.13 useChunking

目的

このオプションは、HTTP/HTTPSのチャンク使用のオンまたはオフを切り替えます。オンに切り替えた場合、サーバは大量の応答データを、バッファして1つのチャンクですべてを返信するのではなく、小さなチャンクでクライアントに返信します。デフォルトはtrueです。

構文

useChunking: OPTION

オプション

説明

true

HTTP/HTTPSデータチャンクを有効にします。

false

HTTP/HTTPSデータチャンクを無効にします。

45.3.3.14 keepaliveTimeout

目的

1つの接続で、2つの要求の間、要求がなされてから接続を閉じるまでSFCB HTTPプロセスが待機する最大時間を秒数で指定します。0に設定すると、HTTP keep-aliveが無効になります。デフォルトは0です。

構文

keepaliveTimeout: SECS

45.3.3.15 keepaliveMaxRequest

目的

1つの接続で連続して受け付ける要求の最大数を指定します。0に設定すると、HTTP keep-aliveが無効になります。デフォルト値は10です。

構文

keepaliveMaxRequest: NUMBER_OF_CONNECTIONS

45.3.3.16 registrationDir

目的

プロバイダの登録データ、ステージング領域、および静的リポジトリを含む登録ディレクトリを指定します。デフォルトは/var/lib/sfcb/registrationです。

構文

registrationDir: DIR

45.3.3.17 providerDirs

目的

SFCBがプロバイダライブラリを検索するディレクトリのリストをスペースで区切って指定します。デフォルトは/usr/lib64 /usr/lib64 /usr/lib64/cmpiです。

構文

providerDirs: DIR

45.3.3.18 providerSampleInterval

目的

プロバイダマネージャが待機中のプロバイダをチェックする間隔を秒で指定します。デフォルトは30です。

構文

providerSampleInterval: SECS

45.3.3.19 providerTimeoutInterval

目的

待機中のプロバイダがプロバイダマネージャによりアンロードされるまでの間隔を秒で指定します。デフォルトは60です。

構文

providerTimeoutInterval: SECS

45.3.3.20 providerAutoGroup

目的

プロバイダ登録ファイルで他のグループを指定しておらず、このオプションをtrueに設定されている場合、同じ共有ライブラリのすべてのプロバイダが同じプロセス内で実行されます。

構文

providerAutoGroup: OPTION

オプション

説明

true

プロバイダのグループを有効にします。

false

プロバイダのグループを無効にします。

45.3.3.21 sslCertificateFilePath

目的

サーバ証明書を含むファイルの名前を指定します。ファイルは、PEM (Privacy Enhanced Mail、RFC 1421、およびRFC 1424)フォーマットであることが必要です。このファイルは、enableHttpstrueに設定されている場合にのみ必要です。デフォルトは/etc/sfcb/server.pemです。

構文

sslCertificateFilePath: PATH

45.3.3.22 sslKeyFilePath

目的

サーバ証明書の秘密鍵が含まれるファイルの名前を指定します。このファイルはPEMフォーマットであることが必要であり、パスフレーズによって保護できない場合があります。このファイルは、enableHttpstrueに設定されている場合にのみ必要です。デフォルトは/etc/sfcb/file.pemです。

構文

sslKeyFilePath: PATH

45.3.3.23 sslClientTrustStore

目的

CAまたはクライアントの自己署名付きの証明書のいずれかを含むファイルの名前を指定します。このファイルはPEMフォーマットであることが必要であり、sslClientCertificateacceptまたはrequireに設定されている場合にのみ必要になります。デフォルトは/etc/sfcb/client.pemです。

構文

sslClientTrustStore: PATH

45.3.3.24 sslClientCertificate

目的

SFCBがクライアント証明書に基づく認証を処理する方法を指定します。ignoreに設定した場合、クライアントに証明書は要求されません。acceptに設定した場合、クライアントに証明書が要求されますが、クライアントが証明書を提示しなくとも失敗しません。requireに設定した場合、クライアントが証明書を提示しないときは、クライアント接続が拒否されます。デフォルト値はignoreです。

構文

sslClientCertificate: OPTION

オプション

説明

ignore

クライアント証明書の要求を無効にします。

accept

クライアント証明書の要求を無効にします。

証明書が存在しなくとも失敗しません。

require

有効な証明書を持たないクライアント接続を拒否します。

45.3.3.25 certificateAuthLib

目的

クライアント証明書に基づいてユーザ認証を要求するローカルライブラリの名前を指定します。この設定は、sslClientCertificateignoreに設定されていない場合にのみ必要です。デフォルト値はsfcCertificateAuthenticationです。

構文

certificateAuthLib: FILE

45.3.3.26 traceLevel

目的

SFCBのトレースレベルを指定します。この設定は、環境変数SFCB_TRACE_LEVELを設定することにより上書きできます。デフォルト値は0です。

構文

traceLevel: NUM_LEVEL

45.3.3.27 traceMask

目的

SFCBのトレースマスクを指定します。コマンドラインオプション--trace-componentsで上書きできます。デフォルト値は0です。

構文

traceMask: MASK

45.3.3.28 traceFile

目的

SFCBのトレースファイルを指定します。この設定は、環境変数SFCB_TRACE_FILEを設定することにより上書きできます。デフォルト値は、stderr(標準エラー出力)です。

構文

traceFile: OUTPUT

45.4 高度なSFCBタスク

この章では、SFCBの使用方法に関連するより高度なトピックを取り上げます。このトピックを理解するには、Linuxファイルシステムの基礎知識とLinuxコマンドラインの使用経験が必要です。この章には、次のタスクが含まれています。

  • CMPIプロバイダのインストール

  • SFCBのテスト

  • wbemcli CIMクライアントの使用

45.4.1 CMPIプロバイダのインストール

CMPIプロバイダをインストールするには、providerDirs設定オプションにより指定されたいずれかのディレクトリに共有ライブラリがコピーされていることを確認する必要があります。45.3.3.17項 「providerDirs」を参照してください。プロバイダはまた、sfcbstageコマンドおよびsfcbreposコマンドを使用して適切に登録されていることが必要です。

プロバイダパッケージは、SFCB用に準備されます。したがって、インストールにより適切な登録が行われます。大半のSBLIMプロバイダは、SFCB用に準備されています。

45.4.1.1 クラスリポジトリ

クラスリポジトリは、SFCBがCIMクラスに関する情報を保存する場所です。これは、名前空間コンポーネントが存在するディレクトリツリーから構成されます。一般的なCIM名前空間はroot/cimv2またはroot/interopであり、ファイルシステム上のクラスリポジトリディレクトリパスにそれぞれ変換されます。

/var/lib/sfcb/registration/repository/root/cimv2

および

/var/lib/sfcb/registration/repository/root/interop

各名前空間ディレクトリには、ファイルclassSchemasが含まれます。ファイルには、その名前空間の下に登録されたすべてのCIMクラスのコンパイル済みバイナリ表現があります。また、CIMスーパクラスに関して必要な情報も含まれます。

各名前空間ディレクトリには名前空間のすべての修飾子を含むファイルqualifiersが含まれる場合があります。sfcbdの再起動時に、クラスプロバイダはディレクトリ/var/lib/sfcb/registration/repository/およびそのすべてのサブディレクトリをスキャンして、登録済みの名前空間を決定します。次に、classSchemasファイルがデコードされ、各名前空間のクラス階層が構築されます。

45.4.1.2 新しいクラスの追加

SFCBは、ライブCIMクラス操作を生成できません。クラスをオフラインで追加、変更、または削除し、systemctl restart sfcbでSFCBサービスを再開して変更内容を登録する必要があります。

SFCBは、プロバイダクラスおよび登録情報を保存するために、「ステージング領域」と呼ばれる場所を使用します。SUSE® Linux Enterprise Serverシステムでは、これは/var/lib/sfcb/stage/の下にあるディレクトリ構造です。

新しいプロバイダを追加するには、次の操作が必要です。

  • プロバイダクラスの定義ファイルをステージング領域のディレクトリ(/var/lib/sfcb/stage/mofs)の./mofsサブディレクトリにコピーします。

  • クラス(複数可)の名前およびプロバイダタイプを含む登録ファイル、および実行可能なライブラリファイルの名前を./regsサブディレクトリにコピーします。

ステージングディレクトリには、2つのデフォルトmof(クラス定義)ファイル(indication.mofinterop.mof)があります。ルートステージングディレクトリ/var/lib/sfcb/stage/mofsの下にあるMOFのファイルは、sfcbreposコマンドの実行後に各名前空間にコピーされます。interop.mofは、interop名前空間に対してのみコンパイルされます。

ディレクトリレイアウトは、次の例のようになります。

> ls /var/lib/sfcb/stage
default.reg  mofs  regs
> ls /var/lib/sfcb/stage/mofs
indication.mof  root
> ls /var/lib/sfcb/stage/mofs/root
cimv2  interop  suse  virt
> ls -1 /var/lib/sfcb/stage/mofs/root/cimv2 | less
Linux_ABIParameter.mof
Linux_BaseIndication.mof
Linux_Base.mof
Linux_DHCPElementConformsToProfile.mof
Linux_DHCPEntity.mof
[..]
OMC_StorageSettingWithHints.mof
OMC_StorageVolumeDevice.mof
OMC_StorageVolume.mof
OMC_StorageVolumeStorageSynchronized.mof
OMC_SystemStorageCapabilities.mof
> ls -1 /var/lib/sfcb/stage/mofs/root/interop
ComputerSystem.mof
ElementConformsToProfile.mof
HostSystem.mof
interop.mof
Linux_DHCPElementConformsToProfile.mof
[..]
OMC_SMIElementSoftwareIdentity.mof
OMC_SMISubProfileRequiresProfile.mof
OMC_SMIVolumeManagementSoftware.mof
ReferencedProfile.mof
RegisteredProfile.mof
> ls -1 /var/lib/sfcb/stage/regs
AllocationCapabilities.reg
Linux_ABIParameter.reg
Linux_BaseIndication.reg
Linux_DHCPGlobal.reg
Linux_DHCPRegisteredProfile.reg
[..]
OMC_Base.sfcb.reg
OMC_CopyServices.sfcb.reg
OMC_PowerManagement.sfcb.reg
OMC_Server.sfcb.reg
RegisteredProfile.reg
> cat /var/lib/sfcb/stage/regs/Linux_DHCPRegisteredProfile.reg
[Linux_DHCPRegisteredProfile]
   provider: Linux_DHCPRegisteredProfileProvider
   location: cmpiLinux_DHCPRegisteredProfile
   type: instance
   namespace: root/interop
#
[Linux_DHCPElementConformsToProfile]
   provider: Linux_DHCPElementConformsToProfileProvider
   location: cmpiLinux_DHCPElementConformsToProfile
   type: instance association
   namespace: root/cimv2
#
[Linux_DHCPElementConformsToProfile]
   provider: Linux_DHCPElementConformsToProfileProvider
   location: cmpiLinux_DHCPElementConformsToProfile
   type: instance association
   namespace: root/interop

SFCBは、各プロバイダについてカスタムプロバイダ登録ファイルを使用します。

注記
注記: SBLIMプロバイダ登録ファイル

SBLIM Webサイト上のすべてのSBLIMプロバイダには、すでに、SFCB用の.regファイルを生成するための登録ファイルが含まれています。

SFCB登録ファイルのフォーマットは次のとおりです。

[<class-name>]
   provider: <provide-name>
   location: <library-name>
   type: [instance] [association] [method] [indication]
   group: <group-name>
   unload: never
   namespace: <namespace-for-class> ...

各要素の説明

<class-name>

CIMクラス名(必須)

<provider-name>

CMPIプロバイダ名(必須)

<location-name>

プロバイダライブラリ名(必須)

type

プロバイダのタイプ(必須)。これは、instanceassociationmethodまたはindicationの任意の組み合わせです。

<group-name>

複数のプロバイダをグループ化し、単一のプロセスの下で実行することで、さらにランタイムリソースを最小化できます。同じ<group-name>の下で登録されたすべてのプロバイダは、同じプロセスの下で実行します。デフォルトでは、各プロバイダは別個のプロセスとして実行します。

unload

プロバイダのアンロードポリシーを指定します。現在サポートされている唯一のオプションはneverであり、これはプロバイダが待機時間について監視されず、決してアンロードされないことを指定します。デフォルトでは、待機時間が環境設定ファイルで指定された値を超えたときに各プロバイダがアンロードされます。

namespace

このプロバイダが実行できる名前空間のリストです。この設定は必須ですが、大半のプロバイダでroot/cimv2になります。

すべてのクラス定義およびプロバイダ登録ファイルがステージング領域に保存されたら、コマンドsfcbrepos -fでSFCBクラスリポジトリを再構築する必要があります。

このようにしてクラスの追加、変更、または削除を行うことができます。クラスリポジトリを再構築した後、コマンドsystemctl restart sfcbでSFCBを再起動します。

またSFCBパッケージには、プロバイダクラスmofファイルおよび登録ファイルを、ステージング領域の適切な場所にコピーするユーティリティが含まれています。

sfcbstage -r [provider.reg] [class1.mof] [class2.mof] ...

このコマンドを実行した後、さらにクラスリポジトリを再構築し、SFCBサービスを再起動する必要があります。

45.4.2 SFCBのテスト

SFCBパッケージには、2つのテストスクリプト(wbemcatxmltest)が含まれます。

wbemcatは、未加工のCIM-XMLデータをHTTPプロトコル経由で、ポート5988上でリスンする指定されたSFCBホスト(デフォルトではlocalhost)に送信します。次に、返された結果を表示します。次のファイルには、標準的なEnumerateClasses要求のCIM-XML表現が含まれます。

<?xml version="1.0" encoding="utf-8"?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
  <MESSAGE ID="4711" PROTOCOLVERSION="1.0">
    <SIMPLEREQ>
      <IMETHODCALL NAME="EnumerateClasses">
        <LOCALNAMESPACEPATH>
          <NAMESPACE NAME="root"/>
          <NAMESPACE NAME="cimv2"/>
        </LOCALNAMESPACEPATH>
        <IPARAMVALUE NAME="ClassName">
          <CLASSNAME NAME=""/>
        </IPARAMVALUE>
        <IPARAMVALUE NAME="DeepInheritance">
          <VALUE>TRUE</VALUE>
        </IPARAMVALUE>
        <IPARAMVALUE NAME="LocalOnly">
          <VALUE>FALSE</VALUE>
        </IPARAMVALUE>
        <IPARAMVALUE NAME="IncludeQualifiers">
          <VALUE>FALSE</VALUE>
        </IPARAMVALUE>
        <IPARAMVALUE NAME="IncludeClassOrigin">
          <VALUE>TRUE</VALUE>
        </IPARAMVALUE>
      </IMETHODCALL>
    </SIMPLEREQ>
  </MESSAGE>
</CIM>

SFCB CIMOMにこの要求を送信すると、登録済みのプロバイダが存在するすべてのサポートクラスのリストが返されます。ファイルをcim_xml_test.xmlとして保存した場合を考えます。

> wbemcat cim_xml_test.xml | less
HTTP/1.1 200 OK
Content-Type: application/xml; charset="utf-8"
Content-Length: 337565
Cache-Control: no-cache
CIMOperation: MethodResponse

<?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0">
<SIMPLERSP>
<IMETHODRESPONSE NAME="EnumerateClasses">
[..]
<CLASS NAME="Linux_DHCPParamsForEntity" SUPERCLASS="CIM_Component">
<PROPERTY.REFERENCE NAME="GroupComponent" REFERENCECLASS="Linux_DHCPEntity">
</PROPERTY.REFERENCE>
<PROPERTY.REFERENCE NAME="PartComponent" REFERENCECLASS="Linux_DHCPParams">
</PROPERTY.REFERENCE>
</CLASS>
</IRETURNVALUE>
</IMETHODRESPONSE>
</SIMPLERSP>
</MESSAGE>
</CIM>

表示されるクラスは、システムにインストールされているプロバイダに応じて異なります。

2番目のスクリプトxmltestもまた、未加工のCIM-XMLテストファイルをSFCB CIMOMに送信するために使用されます。次に、以前に保存された良好な結果ファイルに対して、返された結果を比較します。対応する良好なファイルがまだ存在しない場合は、後から使用できるように作成されます。

> xmltest cim_xml_test.xml
Running test cim_xml_test.xml ... OK
        Saving response as cim_xml_test.OK
# xmltest cim_xml_test.xml
Running test cim_xml_test.xml ... Passed

45.4.3 コマンドラインCIMクライアント: wbemcli

SBLIMプロジェクトには、wbemcatおよびxmltestに加えて、より高度なコマンドラインCIMクライアントであるwbemcliが含まれます。このクライアントは、SFCBサーバにCIM要求を送信し、返された結果を表示するために使用されます。これはCIMOMライブラリに依存せず、WBEMに準拠するすべての実装で使用できます。

たとえば、SFCBに登録済みのSBLIMプロバイダにより実装されたすべてのクラスを表示する必要がある場合は、EnumerateClasses(ec)要求をSFCBに送信します。

> wbemcli -dx ec http://localhost/root/cimv2
To server: <?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL \
    NAME="EnumerateClasses"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"> \
    </NAMESPACE><NAMESPACE NAME="cimv2"></NAMESPACE> \
    </LOCALNAMESPACEPATH>
<IPARAMVALUE NAME="DeepInheritance"><VALUE>TRUE</VALUE> \
    </IPARAMVALUE>
<IPARAMVALUE NAME="LocalOnly"><VALUE>FALSE</VALUE></IPARAMVALUE>
<IPARAMVALUE NAME="IncludeQualifiers"><VALUE>FALSE</VALUE> \
    </IPARAMVALUE>
<IPARAMVALUE NAME="IncludeClassOrigin"><VALUE>TRUE</VALUE> \
    </IPARAMVALUE>
</IMETHODCALL></SIMPLEREQ>
</MESSAGE></CIM>
From server: Content-Type: application/xml; charset="utf-8"
From server: Content-Length: 337565
From server: Cache-Control: no-cache
From server: CIMOperation: MethodResponse
From server: <?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0">
<SIMPLERSP>
<IMETHODRESPONSE NAME="EnumerateClasses">
<IRETURNVALUE>
<CLASS NAME="CIM_ResourcePool" SUPERCLASS="CIM_LogicalElement">
<PROPERTY NAME="Generation" TYPE="uint64">
</PROPERTY>
<PROPERTY NAME="ElementName" TYPE="string">
</PROPERTY>
<PROPERTY NAME="Description" TYPE="string">
</PROPERTY>
<PROPERTY NAME="Caption" TYPE="string">
</PROPERTY>
<PROPERTY NAME="InstallDate" TYPE="datetime">
</PROPERTY>
[..]
<CLASS NAME="Linux_Ext4FileSystem" SUPERCLASS="CIM_UnixLocalFileSystem">
<PROPERTY NAME="FSReservedCapacity" TYPE="uint64">
</PROPERTY>
<PROPERTY NAME="TotalInodes" TYPE="uint64">
</PROPERTY>
<PROPERTY NAME="FreeInodes" TYPE="uint64">
</PROPERTY>
<PROPERTY NAME="ResizeIncrement" TYPE="uint64">
<VALUE>0</VALUE>
</PROPERTY>
<PROPERTY NAME="IsFixedSize" TYPE="uint16">
<VALUE>0</VALUE>
</PROPERTY>
[..]

-dxオプションでは、wbemcliでSFCBに送信された実際のXML、および受信した実際のXMLが表示されます。上記の例では、多数返されるクラスのうちの第1のクラスがCIM_ResourcePool、第2のクラスがLinux_Ext4FileSystemです。他の登録済みの全クラスでも、同様のエントリが表示されます。

-dxオプションを省略した場合、wbemcliは返却されたデータのコンパクト表現のみを表示します。

> wbemcli ec http://localhost/root/cimv2
localhost:5988/root/cimv2:CIM_ResourcePool Generation=,ElementName=, \
    Description=,Caption=,InstallDate=,Name=,OperationalStatus=, \
    StatusDescriptions=,Status=,HealthState=,PrimaryStatus=, \
    DetailedStatus=,OperatingStatus=,CommunicationStatus=,InstanceID=, \
    PoolID=,Primordial=,Capacity=,Reserved=,ResourceType=, \
    OtherResourceType=,ResourceSubType=, \AllocationUnits=
localhost:5988/root/cimv2:Linux_Ext4FileSystem FSReservedCapacity=, \
    TotalInodes=,FreeInodes=,ResizeIncrement=,IsFixedSize=,NumberOfFiles=, \
    OtherPersistenceType=,PersistenceType=,FileSystemType=,ClusterSize=, \
    MaxFileNameLength=,CodeSet=,CasePreserved=,CaseSensitive=, \
    CompressionMethod=,EncryptionMethod=,ReadOnly=,AvailableSpace=, \
    FileSystemSize=,BlockSize=,Root=,Name=,CreationClassName=,CSName=, \
    CSCreationClassName=,Generation=,ElementName=,Description=,Caption=, \
    InstanceID=,InstallDate=,OperationalStatus=,StatusDescriptions=, \
    Status=,HealthState=,PrimaryStatus=,DetailedStatus=,OperatingStatus= \
    ,CommunicationStatus=,EnabledState=,OtherEnabledState=,RequestedState= \
    ,EnabledDefault=,TimeOfLastStateChange=,AvailableRequestedStates=, \
    TransitioningToState=,PercentageSpaceUse=
    [..]

45.5 詳細情報

WBEMおよびSFCBの詳細については、次の資料を参照してください。
https://www.dmtf.org

Distributed Management Task Force Webサイト

https://www.dmtf.org/standards/wbem/

Webベースの企業管理(WBEM) Webサイト

https://www.dmtf.org/standards/cim/

共通情報モデル(CIM) Webサイト

http://sblim.sourceforge.net/wiki/index.php/Main_Page

Standards Based Linux Instrumentation (SBLIM) Webサイト