原理讲解:

  当我们创建一个交换机(网桥)之后即(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. C#句柄使用

    原文:C#句柄使用 调用 API 函数 SendMessage 发送 WM_CLOSE 消息. DllImport("User32.dll",EntryPoint="Se ...

  2. Mysql 关键字-保留字(转帖)

    2008-02-01 10:51 ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH ...

  3. 百度静态资源(JS)公共库

         例如: chosen http://apps.bdimg.com/libs/chosen/1.1.0/chosen.jquery.min.js   classlist http://apps ...

  4. snort简介以及在Ubuntu下的安装

    一.简介 Snort是一套开放源代码的网络入侵预防软件与网络入侵检测软件.Snort使用了以侦测签章(signature-based)与通信协议的侦测方法.Snort是一个免费的IDS(入侵监测系统) ...

  5. ostream类的公有成员函数

    1 flush 2 operator<< 3 put 4 seekp 5 tellp 6 write 1 flush 刷新输出流 2 operator<< 插入运算符 3 pu ...

  6. windows开机启动nginx

    1 .http://www.cuplayer.com/player/PlayerCode/Nginx/2014/0919/1577.html 2. http://www.cnblogs.com/xus ...

  7. 略谈cpu架构种类

    一直对x86/i386/i686/x86_64这些东西感觉很不清楚,查些资料,解决部分问题,小记一番. Question1:什么是x86? x86或80x86是英特尔Intel首先开发制造的一种微处理 ...

  8. v​s​快​捷​键

    Ctrl+E,D ----格式化全部代码 Ctrl+A+K+FCtrl+E,F ----格式化选中的代码 Ctrl+K+FCTRL + SHIFT + B生成解决方案 Alt+B+B 或 F6 生成当 ...

  9. ListBox第一行字体比其他行小

    ListBox第一行字体比其他行小,把字体设置成“宋体”就可以了.

  10. 在SQL Server 2008 中使用SQL脚本创建登录用户并授权

    到处都使用超级用户sa显然是不安全的,因此有创建用户并让其只能访问某个数据库的必要.当然可以使用SQL Server自带的图形界面向导,但是太难用用了!有时候代码比较直接,比如这里: --使用已经创建 ...