基于centos搭建OVS

一 安装配置

1、安装依赖包

# yum -y install wget openssl-devel kernel-devel

2.安装开发工具

# yum groupinstall "Development Tools"

3.添加用户:

# adduser ovswitch

4.切换用户并跳转至用户文件夹

# su - ovswitch

5.创建编译目录

# mkdir -p ~/rpmbuild/SOURCES

6.进入目录

# cd ~/rpmbuild/SOURCES

7.下载源码:

# wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz

8.解压:

# tar xfz openvswitch-2.3.1.tar.gz

9.从spec文件中删除openvswitch-kmod的依赖包,并创建一个新的spec文件:

# sed 's/openvswitch-kmod, //g' openvswitch-2.3.1/rhel/openvswitch.spec > openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec

10.开始编译:

# rpmbuild -bb --without check /home/ovswitch/rpmbuild/SOURCES/openvswitch-2.3.1/rhel/openvswitch_no_kmod.spec

可能出现错误

error: File /home/ovswitch/rpmbuild/SOURCES/openvswitch-2.3.0.tar.gz: No such file or directory

解决办法:检查openvswitch-2.3.1.tar.gz文件目录是否正确。

11.退出当前用户使用root:

# exit

12安装编译生成的rpm文件:

# yum localinstall /home/ovswitch/rpmbuild/RPMS/x86_64/openvswitch-2.3.1-1.x86_64.rpm

13.启动服务:

# systemctl start openvswitch.service

可能出现问题:服务起不起来

解决办法:

# yum install policycoreutils-python.x86_64 0:2.2.5-11.el7

# mkdir /etc/openvswitch

# semanage fcontext -a -t openvswitch_rw_t "/etc/openvswitch(/.*)?"

# restorecon -Rv /etc/openvswitch

再重启启动服务

【问题】

服务启不起来,报如下错误:

【解决方法】

杀死所有ovs的进程,然后重启服务

# ps aux | grep ovs*

# kill -9 {进程ID}

# systemctl start openvswitch.service

14.检查服务状态

#systemctl -l status openvswitch.service

二 常用操作

以下操作都需要root权限运行,在所有命令中br0表示网桥名称,eth0为网卡名称。

添加网桥:

#ovs-vsctl add-br br0

列出open vswitch中的所有网桥:

#ovs-vsctl list-br

判断网桥是否存在

#ovs-vsctl br-exists br0

将物理网卡挂接到网桥:

Eg:想把物理网卡eth0挂接到网桥bro上

1.修改网卡eth0文件

#Vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改内容如下:

TYPE=Ethernet

BOOTPROTO=dhcp

DEVICE=eth0(改为自己网卡名字)

ONBOOT=yes

2.把网卡设置为动态自动获取地址模式  

# vi/etc/sysconfig/network-scripts/ifcfg-br0

TYPE=bridge

BOOTPROTO=static

DEVICE=br0

ONBOOT=yes

IPADDR=10.10.3.103(改为自己的IP)

NETMASK=255.255.255.0

GATEWAY=10.10.3.254

ifcfg-br0是一个openvswitch的连接外网的bridge

3.将网络接口eth0挂接到网桥br0上

#ovs-vsctl add-port br0 eth0(配置完需要重启系统)

列出网桥中的所有端口:

#ovs-vsctl list-ports br0

列出所有挂接到网卡的网桥:

#ovs-vsctl port-to-br eth0

查看open vswitch的网络状态:

#ovs-vsctl show

删除网桥上已经挂接的网口:

#ovs-vsctl del-port br0 eth0

删除网桥:

#ovs-vsctl del-br br0

猜你喜欢

转载自blog.csdn.net/her_liketree/article/details/86002016
ovs
今日推荐