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-placement-api service
Tracks the inventory and usage of each provider. For details, see Placement API.
nova-scheduler サービス
仮想マシンインスタンスの作成要求を受け取ってキューイングし、インスタンスをどのコンピュートサーバーホストで実行するかを決定します。
nova-conductor モジュール
Mediates interactions between the nova-compute service and the database. It eliminates direct accesses to the cloud database made by the nova-compute service. The nova-conductor module scales horizontally. However, do not deploy it on nodes where the nova-compute service runs. For more information, see Configuration Reference Guide.
nova-cert モジュール
X509 証明書用の Nova Cert サービスを提供するサーバーデーモン。 euca-bundle-image 用の証明書を生成するのに使用されます。 EC2 API を使用する場合にのみ必要です。
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 クライアントをサポートします。
キュー
デーモン間でメッセージを受け渡しするための集中ハブです。一般的に RabbitMQ で実装されますが、 Zero MQ などのそれ以外の AMQP メッセージキューで実現することもできます。
SQL データベース

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

  • 利用できるインスタンス種別
  • 使用中のインスタンス
  • 利用可能なネットワーク
  • プロジェクト

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