OpenLMI ( Open Linux Management Infrastructureの略) は、 Linuxシステムに共通の管理インフラストラクチャを提供します。実行可能な操作には、さまざまなオペレーティング システムのパラメータとサービスの構成、ハードウェア コンポーネントの構成、システム リソースの監視などがあります。OpenLMI が提供するサービスには、複数のプログラミング言語と標準化されたAPI を使用して、ローカルとリモートの両方からアクセスできます。
プロジェクトのソースコードはGNU Lesser General Public License (LGPL)およびSimplified BSD Licenseに基づいて配布されています。[1]
概要
OpenLMI はエージェント、コントローラー、クライアント アプリケーションを区別します。
- OpenLMI エージェントは実際の操作を実行し、管理対象 Linux システムにインストールされて実行されます。
- OpenLMI コントローラーは OpenLMI エージェントを管理します。
- クライアント アプリケーションは、リモート システムの管理に関するオープンな業界標準に基づいた、明確に定義されたインターフェイスと言語バインディングを介して OpenLMI コントローラーと通信します。
したがって、OpenLMIは完全な管理ソリューションを提供するのではなく、さまざまな管理プラットフォーム、アプリケーション、または構成スクリプトで使用したり、統合したりできる低レベルの機能とAPIを提供します。[2]
OpenLMI は、監視およびレポート機能に加えて、システム構成タスクも実行する管理エージェントを提供することで、既存の Linux インフラストラクチャを拡張します。これらの操作を標準ベースのインターフェイスを通じてエクスポートし、実際の操作を実行するエージェントを提供することで、OpenLMI は、システム構成とリソースおよびパフォーマンスの監視の両方に使用できるさまざまなアプリケーションで使用できる管理フレームワークを作成します。OpenLMI の使用対象には、定義済みの一連の「レシピ」を使用して初期構成を実行できるベアメタルの本番サーバーが含まれます。[2]
2013年12月現在[update]、実装されたエージェントは主にストレージ、ネットワーク、ローカルユーザーアカウントに関連する操作を実行します。Linuxの管理と構成タスクを完全にカバーすることを目指して、実装されたエージェントの種類を拡張する計画があります。[2]
OpenLMIのソースコードは、GNU Lesser General Public License ( LGPL )およびSimplified BSD License ( FreeBSD Licenseとも呼ばれる)に基づいてライセンスされています。[1]
建築
OpenLMI アーキテクチャには、配置と使用目的に基づいて、管理モジュール(エージェントとも呼ばれる) と管理ツールという 2 つの主要コンポーネントが含まれています。 管理モジュールのセットは、各管理対象システムにインストールされて実行され、構成と監視タスクを実行します。管理ツールは管理システム上で実行され、収集された監視データの集約を実行し、管理モジュールに要求をディスパッチします。エージェントは、コントローラーとも呼ばれるOpenLMIオブジェクト ブローカーを介して外部と通信します。 このオブジェクト リクエスト ブローカーは、標準ベースの通信プロトコルを提供し、セキュリティとアクセス制御を処理し、エージェントの展開方法を提供します。[3]
各エージェントは、属性(情報)、メソッド(機能)、および関連付け(他のオブジェクトへのリンク)を指定するオブジェクト モデルを実装します。コントローラを通じて、このオブジェクト モデルはクライアント アプリケーションで相互運用可能になります。必要なすべてのロジックをエージェントに組み込むことは可能ですが、一般的なアプローチは、既存の Linux ツールを使用したり呼び出したりすることです。たとえば、OpenLMI のネットワーク エージェントはNetworkManagerを使用し、ストレージ エージェントは Blivet ストレージ ライブラリを使用します。[3]
実際の通信プロトコルは、HTTPS経由で転送されるXMLデータを使用します。 XML を直接使用することも可能ですが、一連のクライアントライブラリが、多数のプログラミング言語のネイティブインターフェイスを提供します。 OpenLMI が提供するクライアントライブラリは、 C、C++、Python、Javaをサポートしています。 これらのインターフェイスは、基盤となるシステムエージェントの操作に対する言語バインディングとして実装されており、提供されるすべてのライブラリは同じ機能セットを提供します。コマンドラインインターフェイス(CLI) ユーティリティのサポートも提供されています。[2] [3]
内部的には、OpenLMIは分散管理タスクフォース(DMTF)の共通情報モデル(CIM)に基づいており、内部関数はCIM名前空間の形式で公開されています。OpenLMIを通じてエクスポートされたデータと操作を使用するための追加の方法として、いくつかのオープンソースCIMクライアントが利用可能です。[4] [5]
エージェント
OpenLMIエージェント(プロバイダーとも呼ばれる)は実際の作業を行います。OpenLMIディストリビューションには、標準的な管理エージェントのセットが含まれており、新しいエージェントを開発するために必要な開発リソースのセットも含まれています。2014年4月現在[update]、標準的なOpenLMIエージェントは次のとおりです。[6]
- ストレージ
- ストレージ エージェントは、ローカルおよびリモート ストレージを構成および管理します。ローカル ストレージ デバイスを列挙 (検出) および構成する機能が組み込まれています。2013 年 12 月現在、リモート ストレージ デバイスは構成できますが、検出やプロビジョニングはサポートされていません。したがって、リモート ストレージは他の方法を使用してプロビジョニング済みである必要があり、その結果得られた論理ユニット番号(LUN) がこのエージェントで使用可能になります。リモート ストレージのプロビジョニングのサポートは、将来のリリースで予定されています。[7]
- ネットワーキング
- ネットワークエージェントは、ネットワークインターフェースコントローラ(NIC)とLinuxネットワーク構成全般を構成および管理します。IPv4およびIPv6アドレス、デフォルトゲートウェイ、DNSサーバーの構成、静的ルートの管理、インターフェースのブリッジングとボンディングの構成など、デバイスの列挙(検出)と構成を行うことができます。[8]
- システムサービス
- システムサービスエージェントは、標準のOpenLMIインターフェースを介してサービスを開始、停止、再起動する機能を公開することにより、システムサービスと基礎となるバックグラウンドプロセスに関連する管理操作を実行します。このエージェントは、 systemdのD-Busインターフェースを使用して、利用可能なシステムサービスを列挙(検出)する機能も備えています。[9]
- ユーザーアカウント
- ユーザーアカウントエージェントは、ローカルユーザーアカウント、ローカルユーザーグループ、グループメンバーシップ、およびデフォルトのシェル、ホームディレクトリ、パスワード、パスワードの有効期限などのアカウントパラメータを構成および管理します。このエージェントには、利用可能なローカルユーザーアカウントとローカルユーザーグループを列挙(検出)する機能もあります。[10]
- ソフトウェア
- ソフトウェアエージェントは、管理対象システム上のソフトウェアパッケージを構成および管理します。システムにインストールされているソフトウェアを一覧表示したり、新しいソフトウェアをインストールしたり、既存のソフトウェアを更新したり、インストールされているソフトウェアを削除したりできます。また、構成されたすべてのリポジトリを使用して、インストールされたパッケージとそのファイルの整合性を検証する機能もあります。[11]
- ハードウェア
- ハードウェアエージェントはハードウェアコンポーネントを管理し、その存在と関連する構成に関する詳細な情報を提供します。提供される情報には、CPU関連データ(コア数、クロックおよびFSB速度、キャッシュサイズなど)、システムメモリ(サイズ、速度、使用可能なメモリスロット、インストールされているモジュールなど)、物理資産データ(シャーシ情報、使用可能なポートとスロットなど)、バッテリ(使用可能な容量、動作電圧など)、PCIデバイスとブリッジ(使用可能なバス、デバイスのID、デバイスベンダーなど)が含まれます[12]
- ログ記録
- Journald Agentは、標準のOpenLMIインターフェースを介してログ記録へのアクセスを提供します。これはsystemdのjournaldサービスのクライアントであり、いくつかの方法でjournaldレコードにアクセスし、新しいログ記録を保存する方法を提供します。構造化されたログシステムであるJournaldは、各レコードに補足情報を保存するため、結果として得られるログファイルから情報を簡単に見つけて抽出できます。[13]
- パフォーマンスコパイロット
- パフォーマンスコパイロットエージェントは、監視対象ホスト上でローカルに実行されているパフォーマンスコパイロット(PCP)サービスによって収集されたさまざまなシステム統計とパフォーマンス監視データへのアクセスを提供します。PCPは、Web、電子メール、データベースサーバー、仮想化環境など、さまざまなサービスの監視データを提供できます。収集されたデータには、整数、文字列、浮動小数点数、任意の複合データ構造など、任意のタイプの値が含まれます。[14] [15]
比較
OpenLMIはPuppetやBcfg2のような他の構成管理システムとは異なり、適切な構成レシピを作成するためにシステム構成の詳細を事前に知る必要はありません。OpenLMIのこの性質は、異なるハードウェア構成を持つより多様なシステムで初期構成を実行する場合に利点を提供する可能性があります。[16]
受付
Red Hat Enterprise Linux 7.0には、2013年12月11日にリリースされたこのLinuxディストリビューションの最初のベータリリース以来、OpenLMIのサポートが含まれています。 [17] [18] 2013年12月17日にリリースされた Fedora 20にもOpenLMIのサポートが含まれています。[19] [20]
参照
参考文献
- ^ ab 「OpenLMI 開発ウェブサイト」。fedorahosted.org。2014年7月 14 日閲覧。
- ^ abcd 「OpenLMI: Linux システムの構成、管理、監視」。openlmi.org。2015年10月28日時点のオリジナルよりアーカイブ。2013年12月11日閲覧。
- ^ abc 「OpenLMI: アーキテクチャ」。openlmi.org 。 2013年12月11日閲覧。
- ^ 「OpenLMI - Open Linux Management Interface」。blog.fpmurphy.com。2013年 6 月 30 日。2013 年12 月 11 日閲覧。
- ^ 「OpenLMI プロジェクト - パート I」。kernel -labs.org。2012年 10 月 2 日。2013 年12 月 13 日閲覧。
- ^ 「OpenLMI: Agents」. openlmi.org . 2014年4月18日閲覧。
- ^ 「OpenLMI: ストレージエージェント」。openlmi.org 。2013年12月11日閲覧。
- ^ 「OpenLMI: Networking Agent」。openlmi.org 。 2013年12月11日閲覧。
- ^ 「OpenLMI: システム サービス エージェント」。openlmi.org。2013年12 月 11 日閲覧。
- ^ 「OpenLMI: ユーザー アカウント エージェント」。openlmi.org。2013年12 月 11 日閲覧。
- ^ 「OpenLMI: ソフトウェアエージェント」。openlmi.org 。 2013年12月11日閲覧。
- ^ 「OpenLMI: ハードウェアエージェント」。openlmi.org 。 2013年12月11日閲覧。
- ^ 「OpenLMI: Journald によるログ記録」。openlmi.org。2013年12 月 11 日閲覧。
- ^ 「OpenLMI: Performance CoPilot」。openlmi.org。2013年9月23日。 2014年4月18日閲覧。
- ^ 「Performance Co-Pilot ユーザーおよび管理者ガイド」(PDF) . oss.sgi.com . 2014 年 1 月 6 日. 2014 年4 月 18 日閲覧。
- ^ 「OpenLMI vs. Puppet」。techponder.wordpress.com。2013年11月14日。 2013年12月11日閲覧。
- ^ 「Red Hat、エンタープライズオペレーティングシステムを再定義するRed Hat Enterprise Linux 7を発表」。Red Hat。2014年6月10日。 2014年6月11日閲覧。
- ^ 「Red Hat、Red Hat Enterprise Linux 7 Beta の提供開始を発表」。Red Hat。2013年 12 月 11 日。2013 年12 月 11 日閲覧。
- ^ Russ Doty (2013 年 12 月 20 日)。「OpenLMI による Linux の管理」。Red Hat。2014年6 月 12 日閲覧。
- ^ 「Releases/20/Schedule」Fedora プロジェクト2014 年 1 月 18 日2014 年6 月 12 日閲覧。
外部リンク
- 公式サイト
- OpenLMI API ドキュメント
- OpenLMI 開発リソース
- 分散管理タスクフォース (DMTF)
