openEuler 24.03 + OVS(openvswitch)安装及简单使用

阅前须知

        本文所有配置只在虚拟机上执行,并未做物理机验证测试,生产环境慎用;

安装openvswitch

方法一、安装系统时勾选对应附加软件

在安装openEuler 24.03的时候,进入【软件选择】,点选【虚拟化主机】,点选【已选环境的附加软件】下的【虚拟switch】;即自动安装好openvswitch。操作如下图所示:

方法二、使用yum命令安装openvswitch

sudo yum -y install openvswitch

直接创建网桥(交换机)失败

尝试使用ovs创建网桥(交换机)

ovs-vsctl add-br switch

报错:ovs-vsctl: unix:/var/run/openvswitch/db.sock: database connection failed (No such file or directory)

这是因为ovsdb-server没有启动导致的错误(①-解释ovsdb-server作用)

由于不确定ovs-ctl的位置,用find命令查找一下

find /usr/share -name 'ovs-*' -type f
# 以下是输出内容
/usr/share/nmap/scripts/ovs-agent-version.nse
/usr/share/openvswitch/scripts/ovs-kmod-ctl
/usr/share/openvswitch/scripts/ovs-ctl
/usr/share/openvswitch/scripts/ovs-systemd-reload
/usr/share/openvswitch/scripts/ovs-save
/usr/share/openvswitch/scripts/ovs-lib

其中ovs-ctl是最最常用的管理openvswitch服务的核心工具,可以加该脚本文件所在目录添加到PATH变量中,方便调用。

export PATH=$PATH:/usr/share/openvswitch/scripts

启动openvswitch

/usr/share/openvswitch/scripts/ovs-ctl start
# 若配置好了PATH,则执行以下语句同效
ovs-ctl start
# 输出信息如下
Starting ovsdb-server [  OK  ]
system ID not configured, please use --system-id ... failed!
Configuring Open vSwitch system IDs [  OK  ]
Inserting openvswitch module [  OK  ]
Starting ovs-vswitchd [  OK  ]
Enabling remote OVSDB managers [  OK  ]

system ID not configured, please use --system-id ... failed,可以不用管

ovs-ctl --help
# 以下为system-id相关输出信息
One of the following options is required for "start", "restart" and "force-reload-kmod":
  --system-id=UUID   set specific ID to uniquely identify this system #手动指定系统ID作为唯一标识符
  --system-id=random  use a random but persistent UUID to identify this system #随机指定一个长期存在的标识符

根据提示,运行下面这条语句,就不会出现failed了……

ovs-ctl --system-id=ramdom start

配置网桥(交换机)

创建网桥(交换机)

下面就在空白的拓扑图上放一个没有端口的交换机

ovs-vsctl add-br switch
ovs-vsctl show
# 以下为命令输出信息
8e845dc1-bb7b-4629-b316-62f06b73117c
    Bridge switch
        Port switch
            Interface switch
                type: internal
    ovs_version: "3.2.1"

添加端口

优化后的方法

然后在交换机上添加端口port0和port1,并指定接口类型为internal(内部接口)

ovs-vsctl add-port switch port0 -- set Interface port0 type=internal
ovs-vsctl add-port switch port1 -- set Interface port1 type=internal

优化前的方法

仅以port0举例,会报一大串提示(②-待补充ovs-vsctl机制)

ovs-vsctl add-port switch port0
# 以下为命令输出
ovs-vsctl: Error detected while setting up 'port0': could not open network device p1 (No such device).  See ovs-vswitchd log for details.
ovs-vsctl: The default log directory is "/var/log/openvswitch".
# 无需理会上面的提示
ovs-vsctl set Interface port0 type=internal

配置好两端口的交换机如下所示:

ovs-vsctl show
# 以下为命令输出信息
8e845dc1-bb7b-4629-b316-62f06b73117c
    Bridge switch
        Port port0
            Interface port0
                type: internal
        Port switch
            Interface switch
                type: internal
        Port port1
            Interface port1
                type: internal
    ovs_version: "3.2.1"

补充

①解释ovsdb-server作用:在交换机运行的过程中,ovs-vswitchd 会将交换机的配置、数据流信息及其变化保存到由 ovsdb-server 直接管理的数据库中。所以 ovs-vswitchd 需要和 ovsdb-server 通过 UNIX 的 Socket 机制进行通信以获得或者保存配置信息,ovsdb-server 的存在使得 OVS 的配置能够被持久化存储。(摘自《软件定义网络(SDN)技术与应用》)

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值