openstack 中的虚机可以添加多少个 port,如果 port 很多会有性能影响吗

2020-07-02 14:49:58 +08:00
 sniperking1234
对 openstack 知之甚少,请大神们来解答一下
1604 次点击
所在节点    程序员
7 条回复
onetown
2020-07-02 15:09:40 +08:00
可以参考一下 https://access.redhat.com/articles/1436373
以 Libvirt KVM 为例, 一个虚拟机的 PCI bus 有 30 个 slot, 除去系统的一些设备, 例如显卡什么的, 剩下 28 个 slot 可以用来做网卡。 如果还有其他设备占用 pci slot 的话, 能创建的网卡会少于 28 个。

API 层面没有限制, 除非你在 Project 里做了 Port Quota

当然创建很多会有性能影响, 但是怎么定义很多,10 个,50 个还是 100 个?
sniperking1234
2020-07-02 15:35:52 +08:00
@onetown 多谢解答,我去看看这个文档。预计建立的 port 数量是 100-200 左右数量级的,这个数量级性能影响会有多大呢
onetown
2020-07-02 15:46:31 +08:00
@sniperking1234 性能有几个方面的影响
Hypervisor 的, 虚拟机的网卡越多, 处理 IO 的任务就会越多, 另外就是如果是 OVS Mechanism 的话,OVS 的端口会多, 对 OVS 会有少许的影响, 但是这个问题不大。
OpenStack 方面,Neutron 会定期 poll 每个 Port 的状态, 以及安全组 /安全组规则数量对每个 port 的设置都会消耗一定的资源。 现在很多 NFV 的框架构建在 OpenStack 上, 所以有很多优化的手段吧。
但是实际上, 我没有用过那么多 Port, 也许你们机器够强, 这些影响微乎其微也说不定。
lolizeppelin
2020-07-02 16:24:53 +08:00
默认的 neutron 网络组件, 每个 port 对应到对应的 openvswitch 里的 port 以及对应的流表配置
然后会在网段对应的 namspace 里创建多条防火墙规则
你有兴趣可以看看 neurton 在系统里每个 namespace 里有多少条防火墙规则
你这几百个 port 的..想想就蛋痛

openstack 的网络性能一直是个大问题来的

当初华为还折腾了个龙流....然后好像几年前已经停止更新了
sniperking1234
2020-07-02 16:37:19 +08:00
@lolizeppelin 看起来性能影响还会挺大的,这个我到时候实际测试一下。
@onetown 请问 pci slot 数量应该怎么看呢,我用 dmidecode -t 9 这个命令,但是只显示了这几行
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
FreeEx
2020-07-02 21:18:13 +08:00
![port]( https://s1.ax1x.com/2020/07/02/NLESpR.png)

@onetown 我测试了一下,可以多于 28 个网卡。
onetown
2020-07-02 22:31:09 +08:00
@sniperking1234 你可能运行的虚机里面没有可用的 pci bridge 或 slot 是空的, 除了 dmidecode 还可以用 lspci |grep PCI
@FreeEx 果然实践出真知,赞一个。 按照 Redhat 的 OpenStack 发行版的文档, 是 32 个 slot, 在 libvirt + kvm 的环境里面, 除了分配出去的, 剩下的都可以用, 我也很好奇, 你的这个机器上, 是否能一只创建下去。 👍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/686564

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX