CentOS 6
Sponsored Link

OpenStack Havana - Neutron 設定#2(ネットワークノード)2013/10/29

 
OpenStack Network Service(Neutron)を設定します。
ここでは、以下のように、制御ノードに Neutron Server をインストールし、 ネットワークノードに DHCP, L3, L2 Agent、計算ノードに L2 Agent という構成で設定してみます。
                                |
+------------------+            |            +------------------------+
| [ Control Node ] |10.0.0.30   |   10.0.0.50|    [ Network Node ]    |
|     Keystone     |------------+------------|        DHCP Agent      |
|  Neutron Server  |            |            |        L3 Agent        |
+------------------+            |            |        L2 Agent        |
                                |            +------------------------+
                                |
                                |10.0.0.51
                      +--------------------+
                      |  [ Compute Node ]  |
                      |         Nova       |
                      |       L2 Agent     |
                      +--------------------+
 
ここではネットワークノードの設定をします。
なお、Neutron はプラグイン方式で、バックエンドで使うソフトウェアを選択する必要があります。
ここでは例として Open vSwitch プラグインを選択してインストールしていきます。
[1] まずは IPフォワードを有効にしておきます。
[root@network ~]#
sed -i -e "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf

[root@network ~]#
sysctl -p

[2] ネットワークノードに必要なもののインストール、および、Network Namespace が使えるように EPEL OpenStack 提供の最新のパッケージ群にアップデートして一旦再起動します。
# EPEL OpenStack, EPELからインストール

[root@network ~]#
yum --enablerepo=openstack-havana,epel -y update

[root@network ~]#
yum --enablerepo=openstack-havana,epel -y install openstack-neutron openstack-neutron-openvswitch python-keystoneclient

[root@network ~]#
[3] 環境変数を読み込んでおく ( Keystone に登録した値をセットする )
[root@network ~]#
vi ~/keystonerc_neutron
export OS_USERNAME=neutron
export OS_PASSWORD=servicepassword
export OS_TENANT_NAME=service
export OS_AUTH_URL=http://10.0.0.30:35357/v2.0/
export PS1='[\u@\h \W(neutron)]\$ '
[root@network ~]#
chmod 600 ~/keystonerc_neutron

[root@network ~]#
source ~/keystonerc_neutron

[root@network ~(neutron)]#
echo "source ~/keystonerc_neutron " >> ~/.bash_profile
[4] DHCP, L3, L2 Agent の設定
[root@network ~(neutron)]#
neutron-dhcp-setup --plugin openvswitch

Neutron plugin: openvswitch
Please enter the Neutron hostname:
10.0.0.30
   
# ここは QPID サーバーを指定

Configuration updates complete!
[root@network ~(neutron)]#
neutron-l3-setup --plugin openvswitch

Neutron plugin: openvswitch
Please enter the Neutron hostname:
10.0.0.30
   
# ここは QPID サーバーを指定

Configuration updates complete!
[root@network ~(neutron)]#
neutron-node-setup --plugin openvswitch

Neutron plugin: openvswitch
Please enter the Neutron hostname:
10.0.0.30
   
# ここは QPID サーバーを指定

Would you like to update the nova configuration files? (y/n):
n

Complete!
[root@network ~(neutron)]#
vi /etc/neutron/neutron.conf
# 5行目あたりに追記

core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
# 110行目:コメント解除

control_exchange = neutron
# 301行目:コメント解除して変更

root_helper =
sudo neutron-rootwrap /etc/neutron/rootwrap.conf
[root@network ~(neutron)]#
vi /etc/neutron/dhcp_agent.ini
# 8行目あたりに追記

root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf
[root@network ~(neutron)]#
vi /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
# 最終行に追記(Neutron DB を指定する)

[DATABASE]
sql_connection = mysql://neutron:neutron@10.0.0.30/ovs_neutron
[root@network ~(neutron)]#
/etc/rc.d/init.d/openvswitch start

[root@network ~(neutron)]#
chkconfig openvswitch on

[root@network ~(neutron)]#
ovs-vsctl add-br br-int

[root@network ~(neutron)]#
for service in dhcp-agent l3-agent openvswitch-agent; do
/etc/rc.d/init.d/neutron-$service start
chkconfig neutron-$service on
done

Starting neutron-dhcp-agent: [  OK  ]
Starting neutron-l3-agent: [  OK  ]
Starting neutron-openvswitch-agent: [  OK  ]
関連コンテンツ