CentOS 7では、Linuxシステム管理インタフェースを標準化する「OpenLMI」が実装されました。インタフェースが統一されることで、ユーザーにはどんなメリットがあるのでしょう。OpenLMIで、管理負荷を低減させる運用方法を解説します。
2014年7月にリリースされた「CentOS 7」では、以前のバージョンからシステム管理に関する部分が大幅に変更され、使い勝手も変わっています。本連載では、「Linuxコマンドの基礎知識はあるが、CentOS 7で変わった機能をおさらいし、深く理解して自身の業務へ取り入れたい」というインフラエンジニアを対象に、CentOS 7のシステム管理に関する部分を中心に新機能を解説していきます。
第4回「ハマる前に理解するFirewalldの設定方法、iptablesとの違い」では、これまで使われてきたiptablesから変更された、CentOS 7の新たなセキュリティ管理の仕組みであるFirewalldのアーキテクチャとその設定作法を中心に解説しました。
今回は、CentOS 7から実装されたLinuxシステム管理を標準化する仕組みである「OpenLMI(Open Linux Management Infrastructure)」の基礎と運用方法を解説します。
OpenLMIは、Linuxサーバの管理や監視を「リモートで効率的に扱う」ためのAPIを提供する管理ツールです。
これまでの管理や監視で使われていたシェル上でのLinuxの管理コマンド群ではなく、ストレージやネットワーク、システムサービスなどのリソースを抽象化したAPIを管理コマンドとして使います。これによって、サーバの環境の違いや設定の違い、ディレクトリ構成の違いなどを意識せず、管理対象のサーバにリモートでアクセスし、操作できるようになります。
CentOS 7における新しいシステム管理の仕組みとして、第2回で、「systemd」の詳細を解説しました。同じ「システム管理」という言葉を使いますが、OpenLMIは何が違うのでしょう。systemdとOpenLMIの関係を説明します。
systemdは、Linuxのプロセス管理の仕組みであるinitを代替する目的で開発されたコンポーネントで、CentOS 7の動作の根幹をなすものです。systemdが管理するシステムの設定変更は、systemctlコマンドを用いて行います。
一方のOpenLMIは、CentOS 7をはじめとするLinuxシステム自体を構成するコンポーネントではありません。systemdなどのLinuxシステムを構成するコンポーネントを抽象化して、統合管理するための仕組みとなります。
OpenLMIは、Linuxシステムの動作プロセスには直接関与せず、外部インタフェースとして動作します。OpenLMIに対して命令を送ると、OpenLMIはシステム管理エージェントを経由してsystemdやfirewalldなどを裏側で操作し、結果を返します。
OpenLMIは、外部インタフェースとシステム管理エージェントの集合体で構成されます。管理サーバまたはクライアント側から、コマンドラインやスクリプト、Pythonなどのプログラミング言語から、離れた場所にある管理対象のサーバに対して、システムの状態表示や設定変更を行うための命令を送ることができます。送られた命令は管理対象のサーバにインストールされた「OpenLMIのAPI」を通じて、各種コマンドと連携し、動作します。
OpenLMIによるシステム管理を構成する要素は、以下の3種類に区分されます。
オブジェクトブローカーを経由して、システム管理エージェントと通信を行う。「WBEM(Web-Based Enterprise Management)」(*)に対応した管理ソフトウェアおよびシェル/プログラミング言語などが相当する。
システム管理エージェントを管理する。また、外部からの命令を受け付けるインタフェースを提供する。
管理対象サーバのハードウェアやOS情報などを収集する。管理対象サーバにインストールされ、常駐して稼働する。
企業情報システムの管理手法を検討する業界団体である「DMTF(Desktop Management Task Force)」によって策定された、WWWを通じてネットワークに接続されたサーバなどを管理するための技術仕様。
では、実際にOpenLMIを使ったオペレーションを解説していきましょう。まず、監視対象のサーバでOpenLMIのセットアップを行います。
OpenLMIは、初期状態ではインストールされていません。yumコマンドでインストールしてください。
# yum install -y openlmi
OpenLMIに必要なtog-pegasusサービスを起動します。
# systemctl start tog-pegasus
# systemctl enable tog-pegasus
# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
OpenLMIのスクリプト類をインストールします。
# yum install -y openlmi-scripts*
Copyright © ITmedia, Inc. All Rights Reserved.