浅谈openstack中的nova-network

本文探讨了OpenStack中的Nova-Network组件,分析了其在网络管理中的角色,包括NAT、VLAN、DHCP和DNS等功能。在当前环境中,产线使用multi-host部署方式,将Nova-Network放在计算节点上以平衡扩展性和网络负载。文中还详细解释了fixed IP和floating IP的区别,并展示了虚拟机启动时获取IP的过程,以及浮动IP的NAT配置和数据流路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Openstack中网络是比较复杂的一个部分。在openstack目前版本中的网络组件主要使用的是neutron, 但我们将neutron使用在产线上时机还并不成熟, 目前我们产线上仍然在使用nova-network。本文将分析一下nova-network的主要作用和其实现方式。 


在Openstack中,nova-network主要实现了以下一些功能,括号中是其实现时主要使用的工具:

NAT (iptables,  ip)

VLAN (ifconfig,  brctl)

DHCP Server (dnsmasq)

DNS Server (dnsmasq)

Firewall (iptables)


目前,我们在部署nova-network时采用的是multi-host的部署方式,会在每台计算节点上nova-network。这样做的好处是可扩展性比较好。当我们计算资源不足时,仅需要直接扩展即可。如果将nova-network部署在controller节点上,当我们扩展计算节点时,会增加对controller节点的网络负载。可能会引起controller节点也需要扩展。从这个方面考虑,nova-network部署在计算节点上是比较好的,可以起到网络负载分流的作用。但也有不足之处,比如计算节点其实应该尽可能的单纯,上面跑的服务越单纯越少,对于虚拟机的稳定性肯定越好。 另外, nova-conductor已经将数据库访问操作从nova-compute中抽离,如果nova-network节点部署在计算节点上,那计算节点上任然会有数据库访问操作。

Whatever,综合考虑其利弊后,我们还是认为将nova-network部署在计算节点上是比较适合当前产线以及我们的应用的。


下面的图是我们lab中一个计算节点的示意图:

对这幅图简单说明如下:

在Lab中,我们目前一台计算节点使用的是一块网卡(1Gbit/s),并将admin网络和data网络分离。 

eth0接口上配有IP (10.224.159.64/26),这个IP是作为管理IP使用,Openstack组件间通信使用的是这个IP。

子接口eth0.90是作为public interface使用, Openstack的虚拟机想要和外部网络通信时使用的是这个IP。(这台计算节点的默认路由会走eth0.90)

eth0作为vlan interface使用,openstack中我们使用的是vlan模式,因此创建fixed ip的vlan时,会创建在这个接口上。

可以看到图中我们有两个fixed ip的vlan,一个是vlan70,另一个是vlan71。这两个网络中各起了一台虚拟机。以vlan70中的虚拟机为例, fixed ip 192.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值