Compute サービスの概要

Compute サービスの概要

OpenStack Compute を使用して、クラウドコンピューティングシステムを動かし管理を行います。OpenStack Compute は、Infrastructure-as-a-Service (IaaS) システムの主要な要素です。主要なモジュールは Python で実装されています。

OpenStack Compute は、認証については OpenStack Identity サービスと、ディスクやサーバーイメージについては OpenStack Image サービスと、ユーザーや管理者向けインターフェースについては OpenStack Dashboard と連携して動作します。イメージアクセスはプロジェクトやユーザー単位で限定され、クォータ (例えば、インスタンス数) はプロジェクト単位に適用されます。 OpenStack Compute は標準的なハードウェアを使って水平にスケールさせることができます。イメージをダウンロードして、インスタンスを起動します。

OpenStack Compute は、以下のコンポーネントから構成されます。

nova-api サービス

エンドユーザーからの compute API 呼び出しを受け取り応答します。このサービスは OpenStack Compute API、Amazon EC2 API 、および、特権ユーザーが管理用操作を実行するための特別な管理 API をサポートしています。ポリシーの適用を行います。インスタンス起動などのほとんどの処理がこのサービスから開始されます。

nova-api-metadata サービス

インスタンスからのメタデータ要求を受け取ります。 nova-api-metadata サービスは通常 nova-network をマルチホストモードで動かしている場合に使用されます。詳細については、OpenStack Administrator Guide の Metadata サービス を参照してください。

nova-compute サービス

ハイパーバイザー API を使用して仮想マシンインスタンスの作成、終了を行うワーカーデーモン。例えば、以下のようなハイパーバイザー API に対応しています。

  • XenServer/XCP 向けの XenAPI

  • KVM/QEMU 向けの libvirt

  • VMware 向けの VMwareAPI

処理内容はかなり複雑です。このデーモンはキューからアクションを受け取り、 KVM インスタンスの起動やデータベースの状態更新など一連のシステムコマンドを実行します。

nova-scheduler サービス

仮想マシンインスタンスの作成要求を受け取ってキューイングし、インスタンスをどのコンピュートサーバーホストで実行するかを決定します。

nova-conductor モジュール

nova-compute サービスとデータベース間のやりとりを仲介します。これにより、 nova-compute サービスからのクラウドデータベースへの直接アクセスをなくすことができます。 nova-conductor モジュールは水平にスケールさせることができます。ただし、 nova-compute サービスが実行されているノードには配置しないでください。詳しい情報は、 Configuration Reference Guide を参照してください。

nova-cert モジュール

X509 証明書用の Nova Cert サービスを提供するサーバーデーモン。 euca-bundle-image 用の証明書を生成するのに使用されます。 EC2 API を使用する場合にのみ必要です。

nova-network worker デーモン

nova-compute と似ています。 キューからネットワーク関係のタスクを受け取り、ネットワーク操作を行ないます。例えば、ブリッジインターフェースの準備や iptables ルールの変更などのタスクを行います。

nova-consoleauth デーモン

コンソールプロキシーがユーザーに対して提供したトークンを認証します。 nova-novncproxynova-xvpvncproxy を参照してください。コンソールプロキシーが動作するためには、このサービスは必須です。 1 つのクラスターでは、1 つの nova-consoleauth サービスで、どちらの種類のコンソールプロキシーも動作させることができます。詳細な情報は、 About nova-consoleauth を参照してください。

nova-novncproxy デーモン

VNC コネクション経由で実行中のインスタンスへアクセスするプロキシーを提供します。ブラウザーベースの novnc クライアントをサポートします。

nova-spicehtml5proxy デーモン

SPICE コネクション経由で実行中のインスタンスのアクセスへプロキシーを提供します。ブラウザーベースの HTML5 クライアントをサポートします。

nova-xvpvncproxy デーモン

VNC コネクション経由で実行中のインスタンスのアクセスへプロキシーを提供します。 OpenStack 固有の Java クライアントをサポートします。

nova-cert デーモン

x509 証明書。

nova クライアント

ユーザーが、テナント管理者もしくはエンドユーザーとしてコマンドを発行するのに使用します。

キュー

デーモン間でメッセージを受け渡しするための集中ハブです。一般的に RabbitMQ で実装されますが、 Zero MQ などのそれ以外の AMQP メッセージキューで実現することもできます。

SQL データベース

クラウドインフラの、作成中、実行中のほとんどの状態を保持します。例えば以下のような情報があります。

  • 利用できるインスタンス種別

  • 使用中のインスタンス

  • 利用可能なネットワーク

  • プロジェクト

理論的には、OpenStack Compute は SQL-Alchemy がサポートするデータベースをすべてサポートします。一般的に使用されているデータベースは、テスト・開発用には SQLite3、それ以外では MySQL や PostgreSQL です。

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.