06 虚拟化Open vSwitch环境部署6.1 安装Open vSwitch网桥6.1.1 安装Open vSwitch组件6.1.1.1 安装Open vSwitch组件6.1.1.2 启动Open vSwitch服务6.1.1.3 设置Open vSwitch服务随系统自动启动6.1.2 确认安装是否成功6.1.2.1确认 Open vSwitch组件是否安装成功6.1.2.2 查看Open vSwitch服务是否启动成功6.2 配置Open vSwitch网桥6.2.1 创建Open vSwitch网桥br06.2.2 将物理网卡ens33添加到br06.2.3 配置ens33的ip6.2.4 为OVS网桥br0分配IP6.2.4.1 DHCP设置6.2.4.2 静态ip设置
06 虚拟化Open vSwitch环境部署
本节给出部署Open vSwitch网桥环境的部署方法,使虚拟机连接到网络。
6.1 安装Open vSwitch网桥
Open vSwitch网桥,具有更便捷的自动化编排能力。部署Open vSwitch网桥需要安装网络虚拟化组件,这里介绍总体操作。
6.1.1 安装Open vSwitch组件
使用Open vSwitch提供虚拟网络,需要安装Open vSwitch网络虚拟化组件,使用root用户执行如下命令:
6.1.1.1 安装Open vSwitch组件
# yum install -y openvswitch
示例命令如下:
[root@superman-21 ~]# yum install -y openvswitch
Last metadata expiration check: 1:59:06 ago on 2023年02月07日 星期二 15时30分31秒.
Dependencies resolved.
============================================================================================================================
Package Architecture Version Repository Size
============================================================================================================================
Installing:
openvswitch x86_64 2.12.4-2.oe2203 update 2.0 M
Installing dependencies:
python3-unversioned-command x86_64 3.9.9-7.oe2203 OS 9.3 k
Transaction Summary
============================================================================================================================
Install 2 Packages
Total download size: 2.0 M
Installed size: 7.5 M
Downloading Packages:
(1/2): openvswitch-2.12.4-2.oe2203.x86_64.rpm 3.1 MB/s | 2.0 MB 00:00
(2/2): python3-unversioned-command-3.9.9-7.oe2203.x86_64.rpm 7.5 kB/s | 9.3 kB 00:01
----------------------------------------------------------------------------------------------------------------------------
Total 1.6 MB/s | 2.0 MB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python3-unversioned-command-3.9.9-7.oe2203.x86_64 1/2
Running scriptlet: openvswitch-2.12.4-2.oe2203.x86_64 2/2
Installing : openvswitch-2.12.4-2.oe2203.x86_64 2/2
Running scriptlet: openvswitch-2.12.4-2.oe2203.x86_64 2/2
Verifying : python3-unversioned-command-3.9.9-7.oe2203.x86_64 1/2
Verifying : openvswitch-2.12.4-2.oe2203.x86_64 2/2
Installed:
openvswitch-2.12.4-2.oe2203.x86_64 python3-unversioned-command-3.9.9-7.oe2203.x86_64
Complete!
[root@superman-21 ~]#
6.1.1.2 启动Open vSwitch服务
# systemctl start openvswitch
示例命令如下:
[root@superman-21 ~]# systemctl start openvswitch
[root@superman-21 ~]#
6.1.1.3 设置Open vSwitch服务随系统自动启动
# systemctl enable openvswitch
示例命令如下:
[root@superman-21 ~]# systemctl enable openvswitch
Created symlink /etc/systemd/system/multi-user.target.wants/openvswitch.service → /usr/lib/systemd/system/openvswitch.service.
[root@superman-21 ~]#
6.1.2 确认安装是否成功
6.1.2.1确认 Open vSwitch组件是否安装成功
确认 openvswitch 组件是否安装成功若安装成功,可以查看软件包相关信息。
# rpm -qi openvswitch
示例命令如下:
[root@superman-21 ~]# rpm -qi openvswitch
Name : openvswitch
Version : 2.12.4
Release : 2.oe2203
Architecture: x86_64
Install Date: 2023年02月07日 星期二 17时29分41秒
Group : Unspecified
Size : 7915888
License : ASL 2.0 and ISC
Signature : RSA/SHA1, 2023年01月11日 星期三 14时35分44秒, Key ID d557065eb25e7f66
Source RPM : openvswitch-2.12.4-2.oe2203.src.rpm
Build Date : 2022年12月29日 星期四 08时00分00秒
Build Host : obs-worker1639015616-x86-0004
Packager : http://openeuler.org
Vendor : http://openeuler.org
URL : http://www.openvswitch.org/
Summary : Production Quality, Multilayer Open Virtual Switch
Description :
Open vSwitch is a production quality, multilayer virtual switch licensed under
the open source Apache 2.0 license.
[root@superman-21 ~]#
6.1.2.2 查看Open vSwitch服务是否启动成功
查看Open vSwitch服务是否启动成功。若服务处于 “Active” 状态,说明服务启动成功,可以正常使用Open vSwitch提供的命令行工具。
# systemctl status openvswitch
示例命令如下:
[root@superman-21 ~]# systemctl status openvswitch
● openvswitch.service - Open vSwitch
Loaded: loaded (/usr/lib/systemd/system/openvswitch.service; enabled; vendor preset: disabled)
Active: active (exited) since Tue 2023-02-07 17:30:40 CST; 2min 56s ago
Main PID: 2393 (code=exited, status=0/SUCCESS)
2月 07 17:30:40 superman-21 systemd[1]: Starting Open vSwitch...
2月 07 17:30:40 superman-21 systemd[1]: Finished Open vSwitch.
[root@superman-21 ~]#
6.2 配置Open vSwitch网桥
以创建Open vSwitch网桥br0为例,介绍部署方法,使用root用户执行如下命令:
6.2.1 创建Open vSwitch网桥br0
# ovs-vsctl add-br br0
示例命令如下:
[root@superman-21 ~]# ovs-vsctl add-br br0
[root@superman-21 ~]#
查看创建的网桥br0
# ovs-vsctl show
示例命令如下:
[root@superman-21 ~]# ovs-vsctl show
79bc1847-78d1-4fab-871e-c84e020d5922
Bridge "br0"
Port "br0"
Interface "br0"
type: internal
ovs_version: "2.12.4"
[root@superman-21 ~]#
6.2.2 将物理网卡ens33添加到br0
# ovs-vsctl add-port br0 ens33
示例命令如下:
[root@superman-21 ~]# ovs-vsctl add-port br0 ens33
[root@superman-21 ~]#
查看添加物理网卡后br0的配置
用ovs-vsctl show查看当前Linux网桥的配置,ens33已经挂到br0上了
# ovs-vsctl show
示例命令如下:
[root@superman-21 ~]# ovs-vsctl show
79bc1847-78d1-4fab-871e-c84e020d5922
Bridge "br0"
Port "br0"
Interface "br0"
type: internal
Port "ens33"
Interface "ens33"
ovs_version: "2.12.4"
[root@superman-21 ~]#
6.2.3 配置ens33的ip
ens33与网桥连接后,不再需要IP地址,将ens33的IP设置为0.0.0.0。
# ifconfig ens33 0.0.0.0
示例命令如下:
[root@superman-21 ~]# ifconfig ens33 0.0.0.0
[root@superman-21 ~]#
[root@superman-21 ~]# ip add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
link/ether 00:0c:29:96:c9:d7 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet6 fe80::40eb:1165:7034:a230/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:96:c9:e1 brd ff:ff:ff:ff:ff:ff
altname enp2s4
inet 10.0.0.121/24 brd 10.0.0.255 scope global noprefixroute ens36
valid_lft forever preferred_lft forever
inet6 fe80::fbf9:fa7c:9c8a:8f34/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether ce:29:02:9c:f2:95 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:0c:29:96:c9:d7 brd ff:ff:ff:ff:ff:ff
[root@superman-21 ~]#
6.2.4 为OVS网桥br0分配IP
6.2.4.1 DHCP设置
如果有DHCP服务器,可以通过 dhclient 设置动态 IP 地址。
# dhclient br0
示例命令如下:
[root@superman-21 ~]# dhclient br0
[root@superman-21 ~]#
查看DHCP ip设置后的信息
# ip add list
示例命令如下:
[root@superman-21 ~]# ip add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
link/ether 00:0c:29:96:c9:d7 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet6 fe80::40eb:1165:7034:a230/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:96:c9:e1 brd ff:ff:ff:ff:ff:ff
altname enp2s4
inet 10.0.0.121/24 brd 10.0.0.255 scope global noprefixroute ens36
valid_lft forever preferred_lft forever
inet6 fe80::fbf9:fa7c:9c8a:8f34/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether ce:29:02:9c:f2:95 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether 00:0c:29:96:c9:d7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.131/24 brd 192.168.1.255 scope global dynamic br0
valid_lft 7255sec preferred_lft 7255sec
inet6 fe80::20c:29ff:fe96:c9d7/64 scope link
valid_lft forever preferred_lft forever
[root@superman-21 ~]#
6.2.4.2 静态ip设置
如果没有 DHCP 服务器,给br0配置静态IP,例如192.168.1.21。
# ifconfig br0 192.168.1.21
示例命令如下:
[root@superman-21 ~]# ifconfig br0 192.168.1.21
[root@superman-21 ~]#
查看静态ip设置后的信息
# ip add list
示例命令如下:
[root@superman-21 ~]# ip add list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
link/ether 00:0c:29:96:c9:d7 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet6 fe80::40eb:1165:7034:a230/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:96:c9:e1 brd ff:ff:ff:ff:ff:ff
altname enp2s4
inet 10.0.0.121/24 brd 10.0.0.255 scope global noprefixroute ens36
valid_lft forever preferred_lft forever
inet6 fe80::fbf9:fa7c:9c8a:8f34/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether ce:29:02:9c:f2:95 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether 00:0c:29:96:c9:d7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.21/24 brd 192.168.1.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe96:c9d7/64 scope link
valid_lft forever preferred_lft forever
[root@superman-21 ~]#
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!