最开始接触Openstack,这块是比较头疼的,不同的文档,设置都会有所差异,并且都能工作,到底哪个是正确的呢?恐怕很难有定论,这里总结一下,那天发到邮件列表里请教.
下面这几个设置,最终的结果,就是有一块网卡变成bridge,我理解bridge,就是一个交换机, 虚拟机在上面可以进行互相的通讯.
下面假设 fix IP 采用192.168.100.0/24
一:单网卡
经常有朋友问,如果是单网卡,如何设置(https://blog.hpcloud.com/road-essex-part-4-openstack%E2%84%A2-nova-and-horizon)
在nova.conf 文件里
public_interface=eth0 flat_interface=eth0 flat_network_bridge=br100
由于是单块网卡,这里就比较特别。
/etc/network/interface
auto br100 iface br100 inet static address 192.168.100.1 netmask 255.255.255.0 bridge_stp off bridge_fd 0
二:双网卡
双网卡,理解起来比较容易。
在nova.conf 文件里
public_interface=eth0 flat_interface=eth1 flat_network_bridge=br100
这里设置的含义就是eth1是一个bridge。
eth0的设置,就和普通网卡设置一样,可以设置静态IP,也是可以dhcp获得。eth1的设置,我至少看到过3种设置
1:把网卡设置成混杂模式
这个很多文档都是这样设置,包括大名鼎鼎的培训机构http://www.mirantis.com/blog/openstack-networking-single-host-flatdhcpmanager/
也是这样推荐。另外Puppet的安装openstack文档,也是这样推荐设置
iface eth1 inet manual up ifconfig $IFACE 0.0.0.0 up up ifconfig $IFACE promisc
2:不设置任何IP
这是我一直使用的设置,这个是https://github.com/managedit/openstack-setup
这位朋友,应该也是参与Openstack的开发者,以前维护Diablo 的deb包的更新
auto eth1 iface eth1 inet manual up ifconfig eth1 up
3:设置IP
采用fix IP的网段,例如fix IP是:192.168.100.0/24, 前面10个IP地址,留给服务器使用。那么我们就可以给eth1设置IP。
在nova.conf 有一个参数
flat_network_dhcp_start=192.168.100.11
前面保留的IP,就可以用来设置eth1的IP, 启动nova-network后,这个IP,就会变成所有虚拟机的网关. 如果你是采用mutilhost的设计.
ref:http://www.chenshake.com/openstack-settings-on-the-network-card/