さくらの専用サーバとOpenStackで作るプライベートクラウド 8ページ

計算用ノードを追加する

 ここまでの手順でOpenStack環境を構築すると、1台のサーバー上ですべてのOpenStack関連コンポーネントが動作している環境となる。しかし、実際にプライベートクラウド環境を構築する場合、管理用のノードと計算用のノードを分ける構成が一般的だ。そこで、続いては計算用ノードを追加する作業について紹介していこう。

 計算用ノードでは、nova-computeサービスおよびnova-networkサービスが必要となる。先に説明したとおり、これらをインストールできるようEPELのインストールと、リポジトリの有効化、パッケージのインストールを行っておこう。

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm ←epelパッケージをインストールする
# vi /etc/yum.repos.d/epel.repo ←epelリポジトリの「enbale」パラメータを「1」に変更する
# yum install openstack-nova-compute openstack-nova-network nova-computeおよびnova-networkパッケージをインストールする

 MySQLやRabbitMQなどのOpenStackの動作に必要なサーバーについては、制御用ノードのものが使われるので計算用ノード側で用意する必要は無い。ただし、libvirtdについては有効にしておく必要がある。

# service messagebus start
# service libvertd start
# chkconfig messagebus on
# chkconfig libvirtd on

 また、sudoersファイルに「nova ALL=(ALL) NOPASSWD:ALL *g」を追加しておく。

# visudo
 :
 :
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
nova ALL=(ALL) NOPASSWD:ALL ←この行を追加

 設定ファイルについては、nova.confのみの変更が必要だ。nova.confの内容は基本的には制御用ノードで使用しているものと同じ物でOKだが、一部のみ修正する必要がある。具体的には、以下の個所だ。

# NETWORK
network_manager=nova.network.manager.FlatDHCPManager
force_dhcp_release=False
#force_dhcp_release=True
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
# Change my_ip to match each host
my_ip=192.168.100.23 ←ホストのIPアドレスに設定
public_interface=br100
vlan_interface=eth1
flat_network_bridge=br100
flat_interface=eth1
fixed_range=192.168.200.0/24

# NOVNC CONSOLE
novncproxy_base_url=http://133.242.6.157:6080/vnc_auto.html ←制御用ノードのIPアドレスに設定
# Change vncserver_proxyclient_address and vncserver_listen to match each compute host
vncserver_proxyclient_address=192.168.100.23 ←ホストのIPアドレスを指定
vncserver_listen=192.168.100.23 ←ホストのIPアドレスを指定

 また、サービスが使用するロックファイル用のディレクトリも作成しておく。

# mkdir -p /var/lock/nova
# chown nova:root /var/lock/nova/

 以上の設定が完了したら、サービスを起動させる。

service openstack-nova-compute start
service openstack-nova-network start
chkconfig openstack-nova-compute on
chkconfig openstack-nova-network on

 制御用ノードでnova-manage service listコマンドを実行し、正しくサービスが動作しているか確認してみよう。

# nova-manage service list
Binary           Host                                 Zone             Status     State Updated_At
nova-scheduler   sata                                 nova             enabled    :-)   2012-09-17 12:43:52
nova-compute     sata                                 nova             enabled    XXX   2012-09-17 12:17:25
nova-cert        sata                                 nova             enabled    :-)   2012-09-17 12:43:47
nova-volume      sata                                 nova             enabled    :-)   2012-09-17 12:43:51
nova-network     sata                                 nova             enabled    :-)   2012-09-17 12:43:54
nova-consoleauth sata                                 nova             enabled    :-)   2012-09-17 12:43:47
nova-console     sata                                 nova             enabled    :-)   2012-09-17 12:43:54
nova-compute     ssd                                  nova             enabled    :-)   2012-09-17 12:44:01
nova-network     ssd                                  nova             enabled    :-)   2012-09-17 12:43:56

 2台以上の計算用ノードを追加する場合も、手順は基本的に同じだ。以上の作業をそれぞれのサーバーに対して繰り返して行けばよい。

さくらの専用サーバで作るプライベートクラウドのメリットとは

 今日、サーバーを調達するに当たってはさまざまな選択肢がある。自前でデータセンターを借りてサーバーを設置する、というのはもっとも自由度が高いものの、コストや運用の手間も高い。いっぽうクラウドサービスは柔軟性はあるものの、コストの見積もりが難しく、セキュリティやコンプライアンス関連の問題が起こる可能性もある。今回紹介したような専用サーバーとプライベートクラウドの組み合わせは、柔軟な環境を少ない手間とコストで構築できるという、両者のメリットをうまく組み合わせたソリューションと言える。

 さらにプライベートクラウドの大きなメリットとして、同じような構成の仮想マシンを複数立ち上げる場合、一度イメージさえ登録してしまえば簡単な操作だけですぐに仮想マシンを作成できるという点がある。また、サーバーの追加も容易だ。さくらの専用サーバには「最短10分でサーバーを追加できる」という特徴があるが、プライベートクラウド環境ではサービスをインストールして設定するだけで、すぐに追加したサーバーを利用できるようになる。これにより、「サーバーの追加依頼を行ってから1時間以内に追加されたサーバーでサービスを稼働させる」ということも不可能ではない。

 近年はさまざまな事業者がクラウドサービスの提供を開始しており、さくらインターネットも「さくらのクラウド」というクラウドサービスを提供している。実際にクラウドサービスの利用を検討しているユーザーも少なくないだろう。ただ、このようなパブリッククラウドサービスだけでなく、専用サーバー+プライベートクラウドという組み合わせも選択肢として検討してみてはいかがだろうか。