在CentOS下部署Openstack-安装neutron网络服务

安装

1
yum install openstack-neutron openstack-neutron-ml2 python-neutronclient which openstack-neutron-openvswitch

创建数据库

1
2
3
mysql -u root –p
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO'neutron'@'192.168.0.0/255.255.0.0' IDENTIFIED BY 'neutron';

修改配置文件

1
vim /etc/neutron/neutron.conf




上图中有bug,请修改为下图所示:

配置ml2插件



修改nova配置文件

1
vim /etc/nova/nova.conf



配置l3代理

1
vim /etc/neutron/l3_agent.ini

配置dhcp代理

1
vim /etc/neutron/dhcp_agent.ini


可选部分:

配置metadata代理

1
vim /etc/neutron/metadata_agent.ini


1
vim /etc/nova/nova.conf

配置OVS服务

启动 OVS 服务并将其配置为随系统启动:

1
2
service openvswitch restart
Chkconfig openvswitch on

添加外部桥接:

1
ovs-vsctl add-br br-ex

给一个连接到物理外部网络接口的外部桥接添加端口:
将其中的 INTERFACE_NAME 替换为实际的接口名称。例如,eth2 或 ens256。

1
ovs-vsctl add-port br-ex INTERFACE_NAME

如果机器是由dhcp服务自动分配的IP地址请执行:
如果不出意外的话现在机器就不能上网了,可以按照以下方法解决
删除eth0 的配置

1
ifconfig eth0 0

为br0 分配ip

1
dhclient br0

因为我使用的是dhcp 获取ip 的,所以执行了此命令,如果你的ip 是自己手动配置的,请把eth0 的配置写到br0 上。

同步数据库

Networking 服务初始化脚本需要一个象征性的链接将 /etc/neutron/plugin.ini 指向 ML2插件的配置文件 /etc/neutron/plugins/ml2/ml2_conf.ini。如果这个象征性的链接不存在,请用以下命令创建它:

1
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

同步数据库:

1
neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head

如果有报错请修改mysql的配置文件/etc/my.cnf:


开启网卡混杂模式

1
ifconfig eth0 promisc

启动服务并设置为开机启动

重启nova服务

1
2
3
4
5
6
7
8
9
10
service neutron-server restart
service neutron-dhcp-agent restart
service neutron-l3-agent restart
service neutron-metadata-agent restart
service neutron-openvswitch-agent restart
chkconfig neutron-server on
chkconfig neutron-dhcp-agent on
chkconfig neutron-l3-agent on
chkconfig neutron-metadata-agent on
chkconfig neutron-openvswitch-agent on

本文作者:Qiu Qingyu
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 CN许可协议。转载请注明出处!
本文永久链接:http://qiuqingyu.cn/2015/12/12/在CentOS下部署Openstack-安装neutron网络服务/