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-novncproxy
や nova-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 メッセージキューで実現することもできます。
クラウドインフラの、作成中、実行中のほとんどの状態を保持します。例えば以下のような情報があります。
利用できるインスタンス種別
使用中のインスタンス
利用可能なネットワーク
プロジェクト
理論的には、OpenStack Compute は SQL-Alchemy がサポートするデータベースをすべてサポートします。一般的に使用されているデータベースは、テスト・開発用には SQLite3、それ以外では MySQL、 MariaDB、 PostgreSQL です。
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.