3、OVS基本操作:ovs-vsctl命令详解、创建和删除网桥、查看网桥信息
好,咱们正式开始动手操作 OVS。这一节我带你熟悉最核心的命令行工具——ovs-vsctl。说白了,它就是 OVS 的“遥控器”,几乎所有网桥、端口、VLAN 的配置都离不开它。
我个人习惯,刚装好 OVS 后第一件事就是敲 ovs-vsctl show,看看当前环境是不是干净的。嗯,这一步很重要,能避免后面操作时被旧配置干扰。
3.1 ovs-vsctl 命令概览
ovs-vsctl 是 OVS 的管理工具,专门用来操作 ovsdb(Open vSwitch 数据库)。你想想看,OVS 的所有配置——网桥、端口、流表、VLAN——都存在这个数据库里。所以 ovs-vsctl 本质上就是个数据库客户端。
它的语法结构很清晰:
ovs-vsctl [选项] 命令 [参数]
常用的命令我列在下面这张表里,建议你收藏一下:
| 命令 | 作用 | 示例 |
|---|---|---|
add-br |
创建网桥 | ovs-vsctl add-br br0 |
del-br |
删除网桥 | ovs-vsctl del-br br0 |
list-br |
列出所有网桥 | ovs-vsctl list-br |
show |
查看详细状态 | ovs-vsctl show |
add-port |
添加端口 | ovs-vsctl add-port br0 eth0 |
del-port |
删除端口 | ovs-vsctl del-port br0 eth0 |
set |
修改配置项 | ovs-vsctl set bridge br0 stp_enable=true |
get |
查看配置项 | ovs-vsctl get bridge br0 name |
ovs-vsctl --help。它会列出所有可用命令,我经常这么干。
3.2 创建网桥
创建网桥是 OVS 操作的第一步。命令很简单:
ovs-vsctl add-br br0
这条命令会创建一个名为 br0 的虚拟网桥。你可以把它理解成一个虚拟交换机。创建完成后,系统里会多出一个叫 br0 的网络接口。
验证一下:
ip link show br0
你会看到类似这样的输出:
5: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 2a:3b:4c:5d:6e:7f brd ff:ff:ff:ff:ff:ff
注意,刚创建的网桥默认是 DOWN 状态。你需要手动启用它:
ip link set br0 up
eth0,结果系统网络直接挂了……嗯,从那以后我每次创建前都会先 ip link show 看一眼。
3.3 删除网桥
删除网桥同样简单:
ovs-vsctl del-br br0
这条命令会删除 br0 网桥,以及它上面所有端口和配置。操作不可逆,所以删除前一定要确认。
我建议你养成一个习惯:删除前先 ovs-vsctl show 看一眼,确认这个网桥上没有正在跑的业务流量。我曾经手快删错了,结果整个虚拟化平台的网络全断了……那次教训挺深刻的。
3.4 查看网桥信息
查看网桥信息是日常运维最频繁的操作。我常用的命令有这几个:
3.4.1 ovs-vsctl show
这是最全面的查看命令,会输出所有网桥、端口、接口的详细信息:
ovs-vsctl show
输出示例:
a1b2c3d4-e5f6-7890-abcd-ef1234567890
Bridge "br0"
Port "br0"
Interface "br0"
type: internal
Port "eth0"
Interface "eth0"
ovs_version: "2.17.0"
你看,它清晰地展示了网桥 br0 上有两个端口:一个是网桥自身(internal 类型),另一个是物理网卡 eth0。
3.4.2 ovs-vsctl list-br
如果你只想看网桥名字列表,用这个:
ovs-vsctl list-br
输出:
br0
br1
简洁明了,适合脚本里用。
3.4.3 ovs-vsctl list-ports
查看某个网桥上的端口列表:
ovs-vsctl list-ports br0
输出:
eth0
vnet0
3.4.4 ovs-ofctl 查看流表
如果你想看网桥的流表(转发规则),需要用另一个工具:
ovs-ofctl dump-flows br0
新创建的网桥默认没有流表,输出是空的。别慌,这是正常的。
ovs-vsctl show是日常巡检首选,信息最全ovs-vsctl list-br适合快速查看网桥数量ovs-ofctl dump-flows查看流表,排错时必用
3.5 实战小练习
光看不练假把式。我建议你现在就动手试试:
- 创建一个网桥
br-test - 用
ovs-vsctl show确认它创建成功 - 用
ip link show br-test查看它的状态 - 启用它:
ip link set br-test up - 再删除它:
ovs-vsctl del-br br-test - 最后用
ovs-vsctl show确认它已经被删除了
这一套流程走下来,你对 OVS 的基本操作就有手感了。下一节我们会在这个基础上,给网桥添加端口,开始配置 VLAN 隔离。
ovs-vsctl add-br 的时候,才算真正入门了。