我是靠谱客的博主 平淡鸡,这篇文章主要介绍openVswitch 在centos下安装,现在分享给大家,希望可以做个参考。

OpenvSwitch概念:用作虚拟交换机,传递虚拟机VM之间的流量,以及实现VM和外界网络的通信。

OpenvSwitch数据路径需要桥接支持(CONFIG_BRIDGE)作为内核模块构建。(这在Linux发行版提供的内核中是常见的)桥接模块不能加载或使用。如果桥模块正在运行(使用“lsmod | grep bridge”进行检查),则在启动数据路径之前必须先删除它(“rmmod bridge”)。

安装openvswitch-2.5.0

安装依赖包:

yum -y install make gcc openssl-devel autoconf automake rpm-build redhat-rpm-config

yum -y install python-devel openssl-devel kernel-devel kernel-debug-devel libtool wget

预处理

mkdir -p ~/rpmbuild/SOURCES

wget http://openvswitch.org/releases/openvswitch-2.5.0.tar.gz

cp openvswitch-2.5.0.tar.gz ~/rpmbuild/SOURCES/

tar xfz openvswitch-2.5.0.tar.gz

sed ‘s/openvswitch-kmod,
//g’ openvswitch-2.5.0/rhel/openvswitch.spec > openvswitch-2.5.0/rhel/openvswitch_no_kmod.spec

构建RPM包

rpmbuild -bb –nocheck~/openvswitch-2.5.0/rhel/openvswitch_no_kmod.spec

安装:

yum localinstall ~/ rpmbuild/RPMS/x86_64/openvswitch-2.5.0-1.x86_64.rpm

5.启动相关服务:
操作前先cd

cd ~

systemctl start openvswitch.service

如果需要使用openvswitch进行网络配置请看以下步骤:

配置openvswitch

注意:在禁用内核的bridge时候,要先禁止防火墙的开机启动。
centos7以后的版本为:

复制代码
1
2
systemctl stop firewalld systemctl disable firewalld

[root@localhost ~]# lsmod |grep bridge

复制代码
1
2
3
4
bridge 119562 1 ebtable_broute stp 12976 1 bridge llc 14552 2 stp,bridge

此时可以发现已经有bridge启动了,执行rmmod bridge会报错

复制代码
1
2
rmmod: ERROR: Module bridge is in use by: ebtable_broute

解决方法:
service etbales status

复制代码
1
2
3
4
Redirecting to /bin/systemctl status ebtables.service ● ebtables.service - Ethernet Bridge Filtering tables Loaded: loaded (/usr/lib/systemd/system/ebtables.service; disabled; vendor preset: disabled) Active: inactive (dead)

发现ebtables.service 的路径

vim /usr/lib/systemd/system/ebtables.service

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
[Unit] Description=Ethernet Bridge Filtering tables [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/libexec/ebtables start ExecStop=/usr/libexec/ebtables stop [Install] WantedBy=multi-user.target

执行 /usr/libexec/ebtables stop
然后再rmmod bridge 即可删除内核的桥模块
但是这样重启之后系统会再自动开启,所以要加入黑名单,防止系统重启后bridge加载

vim /etc/modprobe.d/blacklist.conf

blacklist bridge

将Open vSwitch在内核中加载

复制代码
1
2
[root@localhost ~]# find / -name * openvswitch.ko * /usr/lib/modules/3.10.0-327.el7.x86_64/kernel/net/openvswitch/openvswitch.ko

将openvswith 在内核中加载

insmod /usr/lib/modules/3.10.0-327.el7.x86_64/kernel/net/openvswitch/openvswitch.ko

使Open vSwitch自动启动

复制代码
1
2
3
4
# cd /usr/lib/modules/3.10.0-327.el7.x86_64/kernel/net/openvswitch/ # chmod a+x openvswitch.ko # depmod -a

vim /etc/sysconfig/modules/openvswitch.modules

增加以下内容:

复制代码
1
2
3
4
5
6
7
8
#!/bin/sh if [ $(grep -c openvswitch /proc/modules) -eq 0 ]; then modprobe -b openvswitch > /dev/null 2>&1 fi if [ $(grep -c brcompat /proc/modules) -eq 0 ]; then modprobe -b brcompat > /dev/null 2>&1 fi

修改文件权限

chmod 755 /etc/sysconfig/modules/openvswitch.modules

初始化OVS数据库与服务器

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
使用ovsdb工具初始化配置数据库。 # mkdir -p /etc/openvswitch # ovsdb-tool create /etc/openvswitch/conf.db $HOME/rpmbuild/BUILD/openvswitch-2.5.0/vswitchd/vswitch.ovsschema 在启动OVS之前,我们需要先启动ovsdb-server配置数据库。注意后面的命令大部分是由两个短“-”组成的。 # ovsdb-server -v --remote=punix:/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach 首次用ovsdb-tool创建数据库时需用ovs-vsctl命令初始化下数据库。 # ovs-vsctl --no-wait init 启动OVS主进程 # ovs-vswitchd --pidfile --detach 我们可以通过如下命令查看所安装OVS的版本号。 [root@localhost ~]# ovs-vsctl --version ovs-vsctl (Open vSwitch) 2.5.0 Compiled May 24 2017 08:34:21 DB Schema 7.12.1 如果到这步你都没有问题,那么恭喜,你已经成功安装并启动了OVS 2.5.0。

利用openvswitch配置网络桥接

vim /etc/sysconfig/network-scripts/ifcfg-enps10

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
BOOTPROTO=none NAME=enp1s0 DEVICE=enp1s0 ONBOOT=yes OVS_BRIDGE=br0 DEVICETYPE=ovs TYPE=OVSPort HWADDR=dc:4a:3e:42:7f:e4 DNS1=8.8.8.8 DNS2=8.8.4.4 IPADDR=192.168.77.102 NETMASK=255.255.255.0

vim /etc/sysconfig/network-scripts/ifcfg-br0

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
DEVICE=br0 NAME=br0 ONBOOT=yes DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.77.102 GATEWAY=192.168.77.254 NETMASK=255.255.255.0 HOTPLUG=no DNS1=8.8.8.8 DNS2=8.8.4.4

最后

以上就是平淡鸡最近收集整理的关于openVswitch 在centos下安装的全部内容,更多相关openVswitch内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部