用SDN的方法管理存储流量(在io融合网络中)

note:本文基本思想来自论文 ,介绍了一种类似于SDN openflow的方法,并将它应用于fcoe网络中。这种控制流的方法可以和openflow为协议的sdn流控制方法共存,但是又不完全一样,算是扩展了OpenFlow协议的数据平面和控制平面:)

problem

存储网络到虚拟网络中的融合

因为数据中心的资源需要按需控制,网络虚拟化和sdn都已经积极地推动了数据中心的网络。然而,用软件完全控制网络还存在一些问题。要达到细粒度的控制存在一个问题。而且,软件控制对于高速度的反应(高速流量)可能不是那么有效果。更进一步来说,即使openflow近来作为控制流层次的交换机非常流行,也没有足够的特性来控制存储流;它缺乏特性去深入处理存储的包。

FCOE的几个问题

存在流量瓶颈问题,如下图所示:

对于NPIV代理方式的FCoE拓扑可能会存在一个网络的瓶颈,但但经过这个瓶颈的很多流量其实却是可以避免的。

设计思想

使用sdn方法来控制存储流量

基本思想是传统方法和sdn方法的结合;

考虑控制粒度的问题,物理交换机应该提供细粒度和高速的控制;

如果我们将以太网交换机部署为reactive当时的openflow交互,所有来自未知地址的包都会被送到控制器,导致很高的控制平面的开销。这个问题可以使用proactive方式解决,如果我们有节点位置的信息。另外一方面,sdn并不适合故障控制,我们可以使用reactive方式(利用fip处理)来控制fcoe流,fip的频率并不是很高,并不会导致控制器过高的开销。

增强的存储流量控制方法

比起LAN,FCoE基本上没有被OpenFlow控制。openflow可以看到ip源地址和目的地址,协议,tcp端口号等信息,然而,却无法识别fip的字段,比如D_ID(目的 fc id)。所以对于交换机来说能够处理存储流的包信息是非常重要的。

原型和评价

原型

平台:融合光纤网,我们使用了融合的光纤交换机(自产的)。CFABRIC由一个交换机Blade和ToR交换机和管理软件组成。

包括一个交换机固件和一个控制器。

交换机固件:

除了基本的交换机功能之外,还有两个功能,一个是抓住FIP包把他们转发给控制器,第二个是检测FCoE流。如果控制器告诉它要怎么转发FCoE包,那就乖乖听从控制器的指令,修改转发表。

额外的交换机配置命令被使用(自研发),来达到上述的这些功能。使得外部的控制器可以控制流(就像OpenFlow一样)。就是需要加入FCoE处理的部分。

控制器

包括主要四个功能:分析fip包(要能够抓出l3的内容来),能够确定终端位置,能够计算合适的路由,能够发送指令给交换机。我们主要用下图来描述控制器的操作。

总结:原型的中心思想就是要在数据平面能够实现识别fcoe的功能,然后在控制器端可以实现根据fcoe的l3(D_ID)来进行转发。他让这个交换机真正变成了一个fcoe交换机(和 ip路由器进行对比)。

首先,交换机将FIP包发送给控制器(匹配以太网类型的动作)。然后,控制器分析这个FIP包,然后将FCoE流转发的指令发送给交换机。总体结构如下图所示:

参考文献:

[1]Shiraki O, Nakagawa Y, Hyoudou K, et al. Managing storage flows with SDN approach in I/O converged networks[C]//Globecom Workshops (GC Wkshps), 2013 IEEE. IEEE, 2013: 890-895.

时间: 2024-11-13 07:12:45

用SDN的方法管理存储流量(在io融合网络中)的相关文章

VMware vSphere(创建和管理存储设备)(七)

没有学习vcphere 之前我认为存储网络用于灾难的备份的后来发现了一个意想不到的功能 具体如下图 看到没有 他们共享存储服务器 而本地的vm主要就是提供cpu/meny 了 要求:容量大 性能高 (1)  mb 指的是带宽  (2)  I/0 指的是每秒能做多少操作(一次读写操作就是一个IO) (3) 读取一个数据需要多少时间 我们使用多块硬盘同时工作 同时拷贝数据提高我们的I/O 从而提高速度 第二可以提供数据的冗余 重点:raid的不同性能和容量都是不一样的 VMware vSphere(

Lync Server 2010标准版前端服务器迁移之二:迁移用户及中央管理存储

新建中央站点完成后,通过下面篇章讲解用户从旧池迁移至新池,并测试可用性,以及站点迁移. 1.迁移用户,测试可用性 迁移之前登录截图 迁移用户到新站点Lync2010.uc.com 没有使用强制,如果无法移动,请使用强制选项,强制说明如下 移动成功 迁移之后登录测试,断开连接,稍等一下就重新连接了,没有创建新池的SRV记录一样能登录 客户端右下角图标按Ctrl+点击配置信息,查看连接Lync Server信息 2.迁移所有用户至新站点池 用户全部成功迁移到Lync2010新站点池 3.下面准备迁移

Lync 2013 站点池之间迁移中央管理存储(CMS)[有视频]

Lync 2013站点之间迁移中央管理存储,与Lync 2010升级Lync 2013迁移CMS类似,步骤如下: 1.查看中央管理存储位置 Get-CsConfigurationStoreLocation 2.备份中央管理存储CMS    Export-CsConfiguration -FileName config.zip    Export-CsLisConfiguration -FileName lis.zip 3.创建新的中央管理存储,创建空的数据库,以备迁移    默认SQL实例请执行

华为云学院干货:对象存储服务:便捷管理存储资源

华为云学院干货:对象存储服务:便捷管理存储资源随着数据规模不断增加,收集和存储大型数据集对于任何规模的企业都让人生畏,而且访问组织和分析非结构化数据给企业制造了大量新的挑战.华为云对象存储服务是基于对象的海量存储服务,能为您提供高可靠高性能高安全的数据存储能力.OBS服务基于策略(时间.名称.标签.版本)配置,实现数据在标准存储低频访问存储和归档存储中按需流动,标准存储持久性99.999999999%.无最低存储时间,毫秒级时延.低频访问存储:持久性99.999999999%,30天最低存储时间

C存储类、链接和内存管理——存储类

存储类 @[toc] C为变量提供了5种不同的存储类型: 自动 寄存器 具有代码块作用域的静态 具有外部链接的静态 具有内部链接的静态 不同角度描述变量: 存储时期 变量在内存中保留的时间 变量作用域(Scope)以及它的链接(Linkage) 变量的作用域和链接一起表明程序的哪些部分可以通过变量名来访问该变量 不同的存储类提供了变量的作用域.链接以及存储时期的不同组合. 作用域 作用域分为: 代码块作用域(block scope) 代码块在C中指的是一对花括号之间.定义在代码块之间的变量其可见

C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体

 1.C++中的结构体 #include<iostream> struct lstruct { int num; }; struct MyStruct { int num; double db = 10.8;//可以有默认的值 //MyStruct sx;//拒绝内部定义自己,也就是说不能够内部指向自己 MyStruct *pnext; MyStruct *phead; lstruct  l1; void boss()  //可以有方法 { } }; struct MyStructA {

Hive数据导入——数据存储在Hadoop分布式文件系统中,往Hive表里面导入数据只是简单的将数据移动到表所在的目录中!

转自:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929 Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中.Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据.所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中! Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中

定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据?

原文:http://www.iteye.com/problems/77856 定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据? 表结构肯定是不能破坏,但是临时表如果是自己的数据库还行,问题是这个Oracle数据库是客户的数据库呢,你不能在他的数据库做任何多余的操作吧?还有别的更好的方法吗? 这个真的是比较困难. 首先,你要从客户机oracle取数据,因为这1分钟间隔之内不知道用户机新增加了哪些数据(大部分情况下是用户使用别的系统插入数据,而你又没有这个系统的程序接口

ESXi主机出现“主机上的系统日志存储在非持久存储器中”解决办法

如果esxi主机出现"未在主机XXX.XXX.XXX.XXX上配置系统日志记录"或者"主机上的系统日志存储在非持久存储器中"的报错,可尝试进行如下操作. 选中出错的esxi主机,在管理--设置--高级系统设置中,找到Syslog.global.logDir这一行参数 点编辑.输入log文件所存放的路径: 以上图为例路径是[vsanDatastore]/scratch/log,你得保证该datastore下有这个目录哦,如果没有,你可以用datastore浏览器手动创