如何配置 Ubuntu 服务器 netplan sriov vlan tagged vf?

如何配置 Ubuntu 服务器 netplan sriov vlan tagged vf?

如何使用 netplan 在特定 SR-IOV vf 接口上配置 vlan 标签?我尝试了以下操作来证明 vlan 标签在常规接口上有效:

network:
    ethernets:
        enp94s0f2:
            mtu: 1500
    vlans:
        enp94s0f2.1014:
            id: 1014
            link: ens124
            mtu: 1500

这有效,vlan 接口enp94s0f2.1014@enp94s0f2出现。

然后我尝试配置 SR-IOV VF 接口以确保它们正常工作。

network:
    ethernets:
        virtual-function-count: 1
        enp94s0f2:
            mtu: 1500
        enp94s0f2v0:
            link: enp94s0f2
            mtu: 1500

这样就起作用了,虚函数接口enp94s0f2v0就出现了。

然而,当我尝试将两者结合起来时,它不起作用,只出现 vf。

network:
    ethernets:
        virtual-function-count: 1
        enp94s0f2:
            mtu: 1500
        enp94s0f2v0:
            link: enp94s0f2
            mtu: 1500
    vlans:
        enp94s0f2v0.1014:
            id: 1014
            link: enp94s0f2v0
            mtu: 1500

阅读 netplan 的示例这里我没有找到有关将 VLAN 连接到 sriov 接口的任何信息。

似乎有一个 PR 于 2020 年合并,用于 netplan 将 vlan 连接到 sriov 接口,但我不清楚这是如何工作的,有人可以解释一下吗?也许我的语法错了:这里有一个链接。

我需要enp94s0f2v0.1014@enp94s0f2v0创建。我该如何实现?此外,当我们处于 SR-IOV 和 VLAN 的世界中时,如果我删除了 VF 或 VLAN,我该如何让 netplan 自行清理?每当我使用 netplan 创建 VF 或 VLAN,然后调整我的 netplan 配置以将其删除时,netplan 都会拒绝自行清理,我必须重新启动主机。

编辑 我最初的帖子使用的是“eth124”。那是我为了向公众隐瞒我的实际端口名称。实际端口名称更长。我将它们更新为“enp94s0f2”,此更新很重要,因为问题与接口名称的长度有关。

答案1

搞清楚了。问题出在我提供的子接口名称的长度上。

enp94s0f2v0.1014太长了。Netplan 对此没有发出任何警告,界面根本没有出现,因此无法判断为什么会发生这种情况。字符数限制似乎为 15。我提供了 16 个。

以下是对我有用的配置:

network:
    ethernets:
        virtual-function-count: 1
        enp94s0f2:
            mtu: 1500
        enp94s0f2v0:
            link: enp94s0f2
            mtu: 1500
    vlans:
        e94s0f-2v0.1014:
            id: 1014
            link: enp94s0f2v0
            mtu: 1500

注意它比一个字符e94s0f-2v0.1014短。enp94s0f2v0.1014

编辑 因此,经过更多测试后,子接口拒绝保留 vlan 标记。我确保检查ip linksriov 接口是否尚未标记(事实并非如此)。最后,netplan 将创建子接口,但它毫无用处。解决方法是,不要使用 netplan 从 VF 创建子接口。我仍然使用 netplan 创建 VF,这样可行。需要使用 将 vlan 标记应用于 SR-IOV 接口ip link,然后使用 将 ip 地址直接应用于 SR-IOV VF ip a,如下所示:

ip link set dev enp94s0f2 vf 0 vlan 1014
ip addr add 172.0.14.1/24 dev enp94s0f2v0
ip link set dev enp94s0f2v0 up

如果您检查并看到 vf 上的 ip 地址,则说明其设置正确ip -br a。此外ip link,pf 应该显示应用了 vlan 标签的 vf。

真遗憾,我喜欢使用 netplan,但在这种情况下它无法正常工作。

相关内容