原理讲解:

  当我们创建一个交换机(网桥)之后即(ovs-vsctl add-br brname),此时网络功能不受影响,但是会产生一个虚拟网卡,名字为brname(与网桥名字同名,可以使用  ifconfig brname查看),之所以会产生一个虚拟网卡,是为了实现接下来的网桥(交换机)功能,有了这个交换机以后,还需要为这个交换机增加端口(port),一个  端口就相当于一个物理网卡,当网卡加入到这个交换机之后,其工作方式就和普通交换机的一个端口的工作方式类似了;

  再执行(ovs-vsctl add-port brname port)之后,即网卡加入网桥之后,按照网桥的工作标准工作,则加入的端口(网卡)必须以混杂模式工作,工作在链路层,处理2  层的帧,所以这个port就不需要配置IP的(应该没有见过哪个交换机的端口有IP的吧)

  那么接下来你可能会问,通常的交换机不都是有一个管理接口,通过telnet到交换机上进行配置的,那么在OVS中创建的虚拟机有没有该接口呢,有的!上面提到创建交换机brname的时候产生了一个虚拟网口brname,那么,给这个虚拟网卡配置了ip之后,就相当于给交换机的管理接口配置了IP,对此一个正常的虚拟交换机就搞定了!!

  除此之外,与网桥同名的网卡(端口)起到了桥的功能;

二、工作场景

  ovs主要是用来虚拟化环境中,虚拟机之间的一个虚拟机和外网之间的通信场景,如下一个典型的结构图:

  

  • 1 VM实例instance产生一个数据包并发送至实例内的虚拟网络接口VNIC,图中就是instance中的eth0.
  • 2 这个数据包会传送到物理节点上的VNIC接口,如图就是vnet接口。
  • 3 数据包从vnet NIC出来,到达桥(虚拟交换机)br100上.
  • 4 数据包经过交换机的处理,从物理节点上的物理接口发出,如图中物理节点上的eth0.
  • 5 数据包从eth0出去的时候,是按照物理节点上的路由以及默认网关操作的,这个时候该数据包其实已经不受你的控制了。

1、添加网桥br0:

  #ovs-vsctl add-br  br0

2、列出open vswitch中所有的网桥:

  #ovs-vsctl list-br

3、判断网桥是否存在:

  #ovs-vsctl br-exists br0

4、将物理网卡挂接到网桥:

  #ovs-vsctl add-port br0  eth0

5、新建虚拟端挂接到网桥中:

  #ovs-vsctl add-port br0 my_port_name

  eg:ovs-vsctl add-port br0 gre0 -- set Interface gre0 type=gre options:remote_ip = XX.XX.XX.XX

6、列出网桥中所有端口:

  #ovs-vsctl list-ports br0

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

  #ovs-vsctl port-to-br eth0

8、查看open vswitch的网络状态:

  #ovs-vsctl show

9、删除网桥上已挂接的网口:

  #ovs-vsctl del-port  br0 eth0

10、删除网桥:

  #ovs-vsctl  del-br br0

参见:http://blog.chinaunix.net/uid-20737871-id-4333314.html

openvswitch常用操作的更多相关文章

  1. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  2. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  3. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  4. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  5. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  6. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  7. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  8. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

  9. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

随机推荐

  1. node.js 入门教程(beginnder guide

    非常好的教程: node入门: JavaScript与Node.js JavaScript与你 简短申明 服务器端JavaScript “Hello World” 一个完整的基于Node.js的web ...

  2. ip,子网掩码,网关,DNS

    要配置一个局域网通信的计算机(也就是同一个网络): IP地址 子网掩码 要配置一个跨网段通信的计算机: IP地址 子网掩码 网关(路由使用) 要配置一个可上网的计算机: IP地址 子网掩码 网关 DN ...

  3. C语言的本质(10)——指针本质

    指针,大概是C语言中最难理解的概念之一了.指针这个东西是C语言中的一个基本概念,C99中对于指针的定义是: 1. 指针的类型是derived from其它类型,也就是说指针的类型是由它指向的类型决定的 ...

  4. mysql 存储过程 动态sql例子

    proc:BEGIN ; ; ; ) DEFAULT ''; ) DEFAULT ''; ) DEFAULT '';#插入日志的表,一个活动一张表 #将局部变量转换成会话变量 #动态sql语言只接受会 ...

  5. 基于Platinum库的DMS实现(android)

    接上篇博文:基于Platinum库的DMR实现(android) 文章讲述了如何使用Platinum库实现DMR 今天同样使用该库,来讲解一下DMS的实现 关于该库如何编译,请参考这篇博文:NDK下 ...

  6. php解决与处理网站高并发 大流量访问的方法

    方法/步骤   首先,确认服务器硬件是否足够支持当前的流量 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么 ...

  7. REST和JAX-RS相关知识介绍

    REST REpresentational State Transfer:代表性状态传输.具象状态传输 REST定义了应该如何正确地使用Web标准,例如HTTP和URI.REST并非标准,而是一种开发 ...

  8. Codeforces Round #256 (Div. 2/C)/Codeforces448C_Painting Fence(分治)

    解题报告 给篱笆上色,要求步骤最少,篱笆怎么上色应该懂吧,.,刷子能够在横着和竖着刷,不能跳着刷,,, 假设是竖着刷,应当是篱笆的条数,横着刷的话.就是刷完最短木板的长度,再接着考虑没有刷的木板,,. ...

  9. 小猪的Android入门之路 Day 7 part 2

    小猪的Android入门之路 Day 7 part 2 Android的数据存储与訪问之--SharedPreferences(保存偏好參数) ---转载请注明出处:coder-pig 本节引言: 在 ...

  10. ftp 解决不能上传问题

    有人建议整个关掉SELinux并且重启,于是我去/etc/selinux/config里面把SELinux给disable了.重启之后,发现可以在/home/sam/test这个文件夹上传了!