标签: openvswitch

最小的devstack有nova和漂浮的ips

我正在尝试建立一个可以启动nova实例的最小devstack,一些将具有公共地址,一些将需要打开到公共网络的连接.我希望能够为实例分配浮动ips,并使来自具有公共地址的实例的流量到达公共网络.

解决

Devstack将在一个带有两个物理接口的Ubuntu 14.04盒子上运行.第一个接口eth0是在10.48.4.0/22,我拥有地址10.48.6.232; 这是与盒子的管理连接.第二个接口eth1是10.48.8.0/22,拥有地址10.48.11.6和10.48.11.57-10.48.11.59.eth1配置为使用10.48.11.6地址,为浮动范围留下一小段地址.

auto eth1
iface eth1 inet static
    address 10.48.11.6
    netmask 255.255.252.0
Run Code Online (Sandbox Code Playgroud)

我想使用范围10.48.11.57-10.48.11.59作为浮动IP池.这构成了我的开始local.conf

[[local|localrc]]

# Devstack host IP eth1 address
HOST_IP=10.48.11.6

# Private network
FIXED_RANGE=10.90.100.0/24
NETWORK_GATEWAY=10.90.100.1

# Public network
Q_FLOATING_ALLOCATION_POOL=start=10.48.11.57,end=10.48.11.59
FLOATING_RANGE=10.48.8.0/22
PUBLIC_NETWORK_GATEWAY=10.48.8.1

# Public network is eth1
PUBLIC_INTERFACE=eth1
Run Code Online (Sandbox Code Playgroud)

ML2

我的相关部分的其余部分local.conf是配置neutron和ovs以使用公共网络.我按照评论中的说明进行操作neutron-legacy.

# Neutron
# -------

PUBLIC_BRIDGE=br-ex

Q_USE_PROVIDERNET_FOR_PUBLIC=True
PUBLIC_PHYSICAL_NETWORK=public
OVS_BRIDGE_MAPPINGS=public:br-ex

# Neutron Provider Network
ENABLE_TENANT_TUNNELS=True
PHYSICAL_NETWORK=public
OVS_PHYSICAL_BRIDGE=br-ex

# Use ml2 and openvswitch
Q_PLUGIN=ml2
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,logger
Q_AGENT=openvswitch
enable_service q-agt

# …
Run Code Online (Sandbox Code Playgroud)

openstack devstack openvswitch openstack-neutron

9
推荐指数
0
解决办法
842
查看次数

ovsdb-server.service 来自何处

我通过以下方式更新我的系统:

\n
$ apt-get upgrade\n
Run Code Online (Sandbox Code Playgroud)\n

然后糟糕的事情发生了,当我重新启动系统时,我发现网络连接超时。

\n

我很确定,我的网络连接很好(更新期间没有变化),我可以分配IP(以太网和WLAN)

\n

我咨询过谷歌:

\n
# anyway, i was told to run\n$ sudo netplan apply\n# and i get\nWARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.\n
Run Code Online (Sandbox Code Playgroud)\n

我从来没有在我的服务器上安装过这个 ovsdb 东西,但是这个警告真的很烦人

\n
\n

可能与网络超时有关,也可能无关

\n
\n

我该如何解决这个问题(删除此警告或只是帮助我解决网络连接问题)

\n

我试过:

\n
$ systemctl status systemd-networkd-wait-online.service\n
Run Code Online (Sandbox Code Playgroud)\n

我得到:

\n
\xc3\x97 systemd-networkd-wait-online.service - Wait for Network to be Configured\n     Loaded: loaded (/lib/systemd/system/systemd-networkd-wait-online.service; enabled; vendor preset: disabled)\n     Active: failed (Result: timeout) since Tue 2023-08-22 05:12:01 CST; 2 months 3 …
Run Code Online (Sandbox Code Playgroud)

openvswitch netplan

9
推荐指数
1
解决办法
3万
查看次数

重新启动后打开vSwitch数据库连接失败

每次成功安装Open vSwitch并重新启动后,我都会收到以下错误.ovs-vsctl:unix:/usr/local/var/run/openvswitch/db.sock:数据库连接失败(没有这样的文件或目录).有谁知道为什么db.sock文件丢失了?

openvswitch

8
推荐指数
2
解决办法
3万
查看次数

使用 openvswitch 删除外部网桥的端口

我正在使用以下文档设置openstack配置: http://docs.openstack.org/juno/install-guide/install/apt/openstack-install-guide-apt-juno.pdf 并到达第72页,其中显示去做这个:

# ovs-vsctl add-port br-ex INTERFACE_NAME
Run Code Online (Sandbox Code Playgroud)

但我输入了错误的 INTERFACE_NAME,现在我必须纠正这个错误(这是一个真正的接口,但错误的接口,我应该在那里放另一个接口)。

但我很难撤销它。

我试过:

# ovs-vsctl del-port br-ex INTERFACE_NAME
Run Code Online (Sandbox Code Playgroud)

但它告诉我 /etc/openvswitch/conf.db (或类似的东西)是只读的

然后我尝试了

# ovs-vsctl del-br br-ex
Run Code Online (Sandbox Code Playgroud)

然后它说你不能只删除一个端口,你需要删除整个网桥(或类似的东西)。这对我来说很奇怪,我认为该命令会删除桥......

那么有人知道删除我错误创建的端口的正确方法吗?

编辑:我以root身份尝试了所有这些。

EDIT2:我刚刚尝试在练习机器上做同样的事情,犯同样的错误,然后用以下方法修复它:

# ovs-vsctl del-port br-ex INTERFACE_NAME
Run Code Online (Sandbox Code Playgroud)

它起作用了,没有只读的废话,所以我真的不明白。有什么建议么?

openstack openvswitch openstack-neutron

7
推荐指数
0
解决办法
2万
查看次数

Openstack, neutron, ping不通外网

我已经按照 Icehouse 文档安装了一个 3 节点环境,我的 openstack 节点是在 CentOS 中使用 libvirt 构建为虚拟机的

http://docs.openstack.org/icehouse/install-guide/install/yum/content/basics-networking-neutron.html

-controller-node : 10.0.0.11 (management network) 
-network-node : 10.0.0.21 (management network), 10.0.1.21 (data network) 
-compute-node : 10.0.0.31 (management network), 10.0.1.31 (data network) 
-external network : 192.168.125.0/24 
-demo network : 172.30.1.0/24
Run Code Online (Sandbox Code Playgroud)

在我的网络节点中,外部 NIC 根据文档配置为没有 IP。(PROMISC="yes")

DEVICE="eth1"
TYPE="Ethernet"
ONBOOT="yes"
PROMISC="yes"
BOOTPROTO="none"
HWADDR="52:54:00:D3:92:E2"
UUID="7f8a9e99-fbd0-4c59-900f-2369c9e8f780"
Run Code Online (Sandbox Code Playgroud)

但是,添加网络服务后。 我无法在以下阶段ping 外部网络

http://docs.openstack.org/icehouse/install-guide/install/yum/content/neutron_initial-networks-verify.html

1)内部(网络节点上的租户路由器网关)->外部(外部geteway)

[root@network-node ~]# ping 192.168.125.254
PING 192.168.125.254 (192.168.125.254) 56(84) bytes of data.
From 192.168.125.54 icmp_seq=1 Destination Host Unreachable
From 192.168.125.54 icmp_seq=2 …
Run Code Online (Sandbox Code Playgroud)

openstack openvswitch openstack-neutron

5
推荐指数
1
解决办法
1万
查看次数

Mininet - 让主持人充当交换机

我需要Mininet的一些帮助.我知道尝试这样做似乎有些奇怪,但相信我,鉴于我的情况,这是必要的.我需要使用主机启动mininet,然后"手动"将该主机设置为OpenFlow Switch.

到目前为止我所拥有的是:我正在设置5个主机,其中1个是"交换主机".其他4台主机仅连接到此特殊主机.为了使这个"切换主机"我在启动脚本中执行以下命令:

os.system('sudo ovs-vsctl add-br {NAME}')
os.system('sudo ovs-vsctl -- set bridge {NAME} protocols=OpenFlow13')
os.system('sudo ovs-vsctl set-controller {NAME} tcp:127.0.0.1:6633')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth0')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth1')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth2')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth3')
Run Code Online (Sandbox Code Playgroud)

我有一个控制器在6633端口监听(在常规场景下工作正常).

我观察到的行为是,当我启动拓扑时,交换机和控制器正确地进行了握手会话,但是当我尝试从一个主机ping到另一个主机时,它会发出ARP请求,但应该是什么都不做,所以ARP请求一直挂在那里.

我知道必须有一些额外的配置,我没有做,但我似乎无法找到任何地方.

我错过了将该桥连接到主机的命令吗?Mininet如何创建一个开关?也许知道我可以尝试对我的主人做同样的事情.

提前致谢.圣地亚哥.

mininet openvswitch

5
推荐指数
0
解决办法
402
查看次数

Kubernetes覆盖网络比较

我想知道是否有人可以简要概述一下所有不同的Kubernetes网络覆盖之间的差异/优势.入门指南(http://kubernetes.io/docs/getting-started-guides/scratch/#network)提到以下内容:

  • 绒布
  • 印花布
  • 编织
  • 罗马
  • 打开vSwitch(OVS)

但并没有真正解释它们之间的差异是什么,或者每个人的优缺点是什么.我想知道是否有人可以让我知道我应该使用哪种解决方案用于裸机CentOS 7集群.

谢谢!

calico openvswitch kubernetes weave flannel

5
推荐指数
1
解决办法
3891
查看次数

如果Openflow交换机中的同一流程有多个转发规则,该怎么办?

我正在尝试使用POX控制器来控制流的路径。我知道Open vSwitch将选择优先级最高的转发规则。但是,如果我为具有相同优先级的现有流插入新的转发规则,将会发生什么。Open vSwitch是否会随机选择一个匹配的规则?

pox openflow openvswitch sdn

5
推荐指数
1
解决办法
779
查看次数

如何改善或调试Docker覆盖网络的弹性?

背景

我们维护运行生产应用程序的Ubuntu主机的“集群”。主机运行各种各样的Docker容器,例如

  • 容器监控和普罗米修斯服务发现领事
  • 具有多个logstash和kibana的Elasticsearch集群
  • 普罗米修斯
  • 格拉那
  • 内部开发的应用程序(下图中的服务A到K)

每个主机也运行

  • 文件拍
  • Nginx的
  • 保持活力
  • Docker Overlay Network的领事

设置如下: 码头工人覆盖网络

图片信息

  • 主机领事公开2xxx而不是标准8xxx中的端口
  • 并非所有Docker容器都暴露于外界,例如elasticsearch-slave1没有暴露的端口,但内部使用的端口显示为:9200
  • docker consul使用覆盖网络进行所有通信,并且只有consul-masterHost1上的端口8500对外暴露了端口。

组态

其中一些信息可能与该问题完全无关。

主持人:Ubuntu 16.04.3 LTS

主机服务 | Application | Version | | ----------- | ---------- | | docker | 18.03.1-ce | | consul | v1.0.2 | Docker服务 | Application | Version | | ------------- | ------- | | consul | v1.0.2 | | elasticsearch | 5.6.4 | | logstash | 5.6.4 | | …

networking docker openvswitch weave

5
推荐指数
0
解决办法
265
查看次数

ovs tap“内部”与 tuntap tap

我正在构建一个 SDN 测试床,其中包含安装在 Linux Ubuntu 18.04 上的 OpenvSwitch 交换机和在 VirtualBox 上运行的 5 个虚拟机(Linux Ubuntu 16.04 服务器)。OVS 由 OpenDaylight Boron 管理。

  • 当我使用ip tuntap add mode tap tapN创建水龙头将虚拟机链接到 OVS 时,一切正常,我可以在“同一子网内”的虚拟机之间进行 ping 操作。但是,当我尝试: 时ovs-ofctl -O OpenFlow13 dump-ports br0,(rx pkts 和 tx pkts)等统计信息仅显示除本地端口之外的所有端口上的零。 在此输入图像描述
  • 但是,当我用来ovs-vsctl add-port br0 vnet0 -- set Interface tapN type=internal创建水龙头时,即使只有一台设备对另一台设备执行 ping 操作,我也可以看到所有端口的统计信息。 在此输入图像描述 我的问题:

    1. 为什么 (dump-ports) 在第一种情况下不显示统计信息?

    2. 可以按照第二种情况所述在我的测试台中继续使用(ovs 内部水龙头)吗?


下面是完整的OVS配置案例1:

ovs-vsctl add-br br0

ip tuntap add mode tap vnet0
ip tuntap add mode tap vnet1
ip tuntap …
Run Code Online (Sandbox Code Playgroud)

virtualbox opendaylight openvswitch sdn tun-tap

5
推荐指数
0
解决办法
3004
查看次数