http://www.vpsee.com/2011/08/openstack-nova-network-settings-for-flatmanager/
OpenStack Nova 安装后的 FlatManager 网络配置
2011年08月29日 | 标签: cloud, openstack nova | 作者:vpsee
这篇在 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 的配置文件:
这里只介绍最简单的一种情况,只有一个网卡、一个 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)。
沒有留言:
張貼留言