おさらい:OpenStackの構造
OpenStackの構造は前回紹介しましたが、ここで再度簡単に説明します。
OpenStackはクラウドコンピューティングサービス基盤を構築するためのソフトウェア群です。 1つ1つのソフトウェアをサービスと呼びます。 OpenStackでクラウドコンピューティングサービス基盤を構築する際には、サービスのうち、必要なものだけを組み合わせて構築します。
また、サービスの中でも主要なものを、特にコアサービスと呼びます。 今回取り上げるNovaもコアサービスの1つです。コアサービスにはNovaのほか、Neutron、Swift、Glance、Cinderと前回取り上げたKeystoneまで合計6つあります。
OpenStackのノード
OpenStackで作るクラウドコンピューティングサービスは、複数のノードから構成されます。ノードにはいろんな種類があります。主なものは次表のとおりです。
コントローラノード | クラウドコンピューティングサービスを統括するノード。プライベートクラウドを利用する際、このノードに対してエンドユーザーはリクエストを送ることになる |
---|---|
コンピュートノード | 仮想サーバーが動作するノード |
ネットワークノード | プライベートクラウドのネットワークを管理するノード |
ストレージノード | 仮想サーバーのための追加ディスクを提供するノード |
オブジェクトストレージノード | バックアップなどを行うためのファイル保管用ノード |
1台のサーバー機の上に複数のノードを構築することも可能ですが、多くの場合、1台のサーバー機に構築するのは1つのノードだけとします。 また、同じ種類のノードのサーバー機を複数台設置することもよくあります。特に、コンピュータノードにしたサーバー機は複数台設置するケースがほとんどです。
Novaとは
では、今回のメインテーマであるNovaの説明を始めましょう。 Novaは、OpenStackのコンピュートノードに仮想サーバーを作成し管理するサービスです。 Novaが作成した仮想サーバーのことをインスタンスと呼びます。
実際にNovaが行うことは次のとおりです。
- 既存のインスタンスの操作
- 新しいインスタンスの作成
- コンピュートノードの管理
Novaの構造
Keystoneは1つのサーバー機にインストールするだけで動作しました。 一方、Novaは複数のコンポーネントで構成されます。 各コンポーネントを適切なサーバー機にインストールすることによって、Novaは動作します。
Novaを構成する主なコンポーネントとその機能は次表のとおりです。どのコンポーネントがどの種類のノードにインストールされるかにも注目してください。
コンポーネント | 機能 | 配置されるノード |
---|---|---|
nova-compute | 各インスタンスを直接扱うコンポーネント | コンピュートノード |
nova-api | エンドユーザーからのリクエストを受け付けるためのコンポーネント。ここがエンドポイントとなるほか、認可もここで実施する | コントローラノード |
nova-scheduler | インスタンスを作成するコンピュートノードを決定するコンポーネント | コントローラノード |
nova-conductor | コンピュートノードに配置されたnova-computeの情報をデータベースに集約し、他のコンポーネントへ提供するコンポーネント | コントローラノード |
これらのコンポーネントは次図のように配置されます。
次ページから、先ほど挙げたNovaが行う3つのことの機能を順に説明していきます。