OpenStack Nova 安装后的 FlatManager 网络配置

这篇在 Ubuntu 上安装和配置 OpenStack Nova 的评论比较多,至少有6位网友遇到 ping 不通的问题,说实话 ping 不通的原因有很多(最常见的是 euca-authorize 授权问题),如果没有提供有用信息只是留下一句“ping 不通”很难判断问题所在,建议大家以后留言的时候尽量把自己的情况说清楚,尽量多的提供一些信息。OpenStack Nova 的网络设置很复杂,controller 上可以有多个网卡,compute 上也可以有多网卡,controller 和 compute 的网络设置还可以不同,并且每个设置还可以分为 FlatManager, FlatDHCPManager, VlanManager,每个 project 允许不同的网络设置,并且每个 user 可以创建多个 project 和 network,晕了吧-~

这里只介绍最简单的一种情况,只有一个网卡、一个 user 创建一个 project 和 network、直接使用现有的局域网 IP 地址不干扰现有网络。就是说把安装好的 OpenStack Nova Controller/Compute 并入到现有的局域网里,在 Nova 上创建的 instance 通过 bridge 使用现有局域网的 IP(而不是另建一个私有网络)。比如 VPSee 实验室现在已经有了 172.16.38.0/23 这个网络,如何利用这个网络和配置 OpenStack Nova 呢?

先检查一下 Nova 的配置文件:

$ sudo vi /etc/nova/nova.conf
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--verbose
--s3_host=172.16.39.111
--rabbit_host=172.16.39.111
--cc_host=172.16.39.111
--ec2_url=http://172.16.39.111:8773/services/Cloud
--FAKE_subdomain=ec2
--sql_connection=mysql://root:vpsee@172.16.39.111/nova
--glance_host=172.16.39.111
--image_service=nova.image.glance.GlanceImageService
--my_ip=172.16.39.111
--network_manager=nova.network.manager.FlatManager
--fixed_range=172.16.38.0/23
--num_networks=1
--flat_injected=true

看看 bridge 网卡配置是否正确:

$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto br100
iface br100 inet static
address 172.16.39.111
netmask 255.255.254.0
gateway 172.16.38.1
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0

如果修改了上面的配置需要重启 Nova 的各个模块和 Ubuntu 的网络,怕麻烦的话还是直接重启系统吧:

$ sudo reboot

如果 nova-manage network list 发现有以前留下的网络需要 delete 掉,删除所有以前残留的网络然后重新创建一个 172.16.38.0/23 新网络:

$ sudo nova-manage network delete 192.168.3.0/24 1 255

$ sudo nova-manage network create 172.16.38.0/23 1 512

$ sudo nova-manage network list
network           	netmask        	start address  	DNS
172.16.38.0/23    	255.255.254.0  	172.16.38.2    	8.8.4.4

因为有些 IP 地址是我们局域网正在用的,新建的 VM 不能占用这些 IP,所以需要划分一些 IP 留给 OpenStack Nova 用,需要进入数据库后修改 fixed_ips 这个表的 reserved 为 0,比如我们想把 172.16.39.222-226 这5个 IP 留给 OpenStack Nova instances:

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 135
Server version: 5.1.54-1ubuntu4 (Ubuntu)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use nova;
Database changed

mysql> update fixed_ips set reserved = '1';
Query OK, 6 rows affected (0.00 sec)
Rows matched: 1448  Changed: 6  Warnings: 0

mysql> update fixed_ips set reserved = '0' where address='172.16.39.222';
mysql> update fixed_ips set reserved = '0' where address='172.16.39.223';
mysql> update fixed_ips set reserved = '0' where address='172.16.39.224';
mysql> update fixed_ips set reserved = '0' where address='172.16.39.225';
mysql> update fixed_ips set reserved = '0' where address='172.16.39.226';

重启 OpenStack Nova 的各个模块,然后新建一个 ubuntu instance 测试一下是否得到了正确的 IP 并能 ping 通网关(172.16.38.1)。

评论(18 Comments)

  1. Vpsee,您好,我最近也遇到了ping不通正在运行示例的问题,我是用的两台机器配置nova的,一台安装了所有的nova服务,作为controller node,第二台只安装了nova-compute,作为compute node。现在只能ping通和ssh访问controller上面的实例,compute node上面的实例ping不通,也不能ssh访问。两台机器都是双网卡。估计还是我的网络配置有问题。

    今天早上看到您的这个帖子,想跟您请教一下,FlatManager的网络配置方式,适用于多台机器么,如果我有一台controller 是按您上面说的这种方式,我还可以再添加一个compute node吗,compute node 应该如何配置呢?

    谢谢!建了一个openstack的讨论群,方便大家讨论。129535701

  2. 换DNS。。赶快去换he.net或dnspod,狗爹35.36.37.38.42.43.56都被墙了。域名没事有木有!!!!!hold住!!!!!!!!!!!!!!!!

  3. @finalsatan
    嗯,可以添加 compute node,也需要 bridge。上面的例子是 controller + compute 的。

  4. @deef
    嗯,过段时间再看看,还不行的话就用别的 NS;~

  5. @vpsee dns设置直接用其他的DNS服务器不久好了,譬如dns.he.net很稳定的。我现在就在用。GD权限DNS被封不远啦

  6. HI,您好。
    你能写一篇一台电脑一张网卡搭建OPENSTACK环境的教程吗??

  7. 我完全按照您的配置,看到虚机已经获得地址,但是在主机上无法ping通虚机。请问可能是什么原因

  8. @vpsee
    请问如何分配公网IP? 我采用的vlanManage的网络模式.这种模式下, 所有实例会使用 SNAT 访问外网.如果我手动在iptables里添加DNAT条目就可以访问了,但问题我这么做会很麻烦,有什么办法能解决吗?

  9. $ sudo nova-manage network create 172.16.38.0/23 1 512

    $ sudo nova-manage network list
    network netmask start address DNS
    172.16.38.0/23 255.255.254.0 172.16.38.2 8.8.4.4
    为什么我的创建网络后显示的DNS确是none而不是你这里有8.8.4.4呢?

  10. 不好意思,显示的有8.8.4.4了。跟自己本身所在的局域网设置的一样就出现了8.8.4.4了。
    $ sudo vi /etc/network/interfaces
    auto lo
    iface lo inet loopback

    auto br100
    iface br100 inet static
    address 172.16.39.111
    netmask 255.255.254.0
    gateway 172.16.38.1
    bridge_ports eth0
    bridge_stp off
    bridge_maxwait 0
    bridge_fd 0
    想确定一下,这里面怎么没有auto eth0?eth0可以在这静态配置么?

  11. 查看实例运行状态时显示如下结果,不知道是为什么?
    RESERVATION r-8m9p2q0p cloud default
    INSTANCE i-00000003 ami-00000001 networking admin (cloud, ubuntu) 0 m1.tiny 2011-10-17T08:10:07Z nova
    RESERVATION r-ylmip43u cloud default
    INSTANCE i-00000004 ami-00000001 networking admin (cloud, ubuntu) 0 m1.tiny 2011-10-17T08:36:46Z nova

  12. @longhudou
    instance 停在 networking 状态表示网络不成功,可以通过查看相关日志 nova-networking.log 获得更多信息。RESERVATION 表示当前资源不够分配给 instance,预留。

  13. instance虽然running,但是ping不通,授权也做了,不知道该从哪里查找原因呢?

    还有RESERVATION状态表示资源不够吗?如果不够的话都有那些可能?从哪里可以看到到底是什么资源不够呢?

  14. @vpsee

    我用ssh登录虚拟机的时候提示输入密码,不过老是错误,这个密码是什么时候设置的呢?如果忘记了怎么办?

  15. @longhudou
    你用的是哪个虚拟机阿?自己安装的虚拟机还是下载的虚拟机镜像,比如 ubuntu1010-UEC-localuser-image.tar.gz?ubuntu1010-UEC-localuser-image.tar.gz 的默认用户名和密码都是 ubuntu

  16. 我用ssh 10.0.0.3然后输入密码就可以登录了,不过前边用的是ssh ubuntu@10.0.0.3或者@前面是别的什么都不行。

    在问一下,那个搭建多节点openstack环境最好需要几个机器(4个就足够了是吧?),硬件配置一定需要官方网站推荐的那么高吗?控制节点16G内存或者计算节点32G内存(科研用途,非商用)?

  17. @longhudou
    如果自己搭建玩多结点的话,3个就足够了,一个控制结点,一个镜像服务结点,一个计算结点。如果商用的话当然是成本一定配置越高越好。

  18. @vpsee

    我看到openstack的wiki上显示不支持XenServer的Live migration,并且不支持kvm的resize,不知道这是过时的还是现在依然如此?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值