Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87893
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-05 23:01
文章分类
文章存档

2016年(18)

2015年(14)

2014年(1)

我的朋友

分类: 服务器与存储

2015-10-23 18:37:43

原文地址:SAS配置 作者:abc1437

最简单的SAS配置图,即一个服务器通过HBA卡连接若干硬盘。当主机想和某个硬盘进行数据通信时,必须先建立connection。这个过程有点类似SCSI的仲裁机制。若硬盘想和主机进行数据通信,也是一样的。

3.1.  Edge Expander设备组合

expander一般都是含多PHY的交换芯片,而edge expander则是专门用来连接硬盘设备的。

这种连接方式的工作效率非常低,因为host同一时刻只能连接一个硬盘设备。

3.1.1        局限性

edge expander设备内部存储的SAS地址不能超过128个,不论是单个edge还是edge组合。

这些地址包括以下几种类型:

1、  终端设备,如硬盘或主机

2、  edge expander

3、  expander设备内部的SAS设备

4、  expander设备内部包含的STP/SATA bridgesSTP target port

而且各expander之间必须以树状配置存在不能成环。类似于交换机,一旦成环,也会产生广播。

3.1.2        路由方式

如果只有一个edge expander,则expander会知道该expander连接端口的所有SAS地址。当expander收到发向该端口的OPEN地址帧,则会直接转发。也就是说在edge expander内部,是直接路由。但是当跨edge expander时,就无法知道其它expanderport地址了。有两个方法可解决该问题:

1、  edge expander会简单的将所有未知的目的请求发送至designated port,这称为subtractive routingdesignated port是连接其它edge expander的端口。

2、  edge expander会维护一张路由表,记录SAS地址和端口的关系,该表必须足够大以记录所有地址,否则会overflow溢出,但是最多也只能记录128SAS地址。就如同交换机一样,也会维护一张MAC地址和port的表。

需要注意的是,这里都是提到port地址,而不是PHY地址。如下图expander B/C可用subtractive routing方式将未知的目的地址转发出去,但是A就不行了,因为它不知道该向B还是该向C转发。此时A就该应用上述方法2了。

3.1.3        boundary

多个edge expander是如何形成树的,或者挑选root的原则是什么?这很像网络中的STP协议。

1、  连接到fanout expander

2、  稀里糊涂的…….不知道讲什么

以图说明问题

3.2.  fanout expander

一个SAS域只能有一个fanout expander,它可以连接128edge expanderSAS port。此时,fanout expander利用路由表将报文转发至edge expander,而edge expander则利用subtractive routing来转发报文到fanout expander。若fanout expander有连接edge devices(如host主机上的HBA卡),则内部直接路由,因为一个port就对应单一设备。fanout expander说白了就是牛逼的SAS交换机。除此之外的其它expander,如JBOD,都是edge expander

3.3.  wide port

含有多个PHY的口,这些PHY在电气上是完全独立的,只是将多个PHY封装在一个port里面。SAS port可选择哪个PHY进行通信。毫无疑问,wide port的带宽、并发性操作以及容错机制,得到了完全的释放。

3.4.  JBOD

串葫芦的磁盘柜。需要注意JBOD柜子不是无限级联的,约束条件就是expander只能容纳128SAS地址。

考虑到WIDE PORT的优势,以及SAS硬盘2PHY的作用,可以充分考虑冗余特性,如下图

阅读(1516) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~