!guide_close_btn!

IBM DS4800控制器架构简析

[复制链接]
发表于 : 2016-5-30 12:06:06 最新回复:2018-08-27 17:12:14
3726 4
建赟
建赟  专家

 

 DS4800控制器架构简

在图9-47中可以看到两个供电模块、两个控制器模块和一个背板模块,两个控制器都连接到了背板上。

 

IBM   DS4800控制器架构简析-1090733-1

9-47  DS4800机头三维示意图

 

9-48IBM DS4800磁盘阵列的双控制器机头的背面接口图。图中Drive-side connections代表这FC端口是用来连接磁盘扩展柜 Host-side connections代表这FC端口是用作前端主机的。可以看到上下两个控制器是互为冗余的,它们同时插在机头的背板上,之间有 专门的链路进行通信以交互各自的信息。


IBM   DS4800控制器架构简析-1090733-2

9-48  DS4800机头后视图

 

9-49是用这台机头挂接16个扩展柜,并且全冗余的架构图。我们可以看到,每个控制器的后端接口都连接了4个扩展柜,这4个扩展柜中 的磁盘同时位于主控制器的一个Loop和备用控制的一个Loop上。

 

IBM   DS4800控制器架构简析-1090733-3

9-49  DS4500连接16个扩展柜

 

一旦机头上的主控制器发生故障,备份控制器可以立即接管所有工作,继续执行IO请求。因为备份控制器与主控制器一样与所有扩展柜都 有连接。

同样,一旦某个扩展柜发生故障,比如电源故障,整个环路从一方来看,是被断开的。但是,其他扩展柜依然可以被访问到,办法就是通 过机头上的备用控制器从尾部访问被故障扩展柜隔断的底下的扩展柜,同时主控制器从头部访问上面的控制器。

9-50所示为每个扩展柜组中都有一个扩展柜故障,但是剩余的扩展柜依然可以继续使用,方法就是让主控制器和备用控制器同时工作。


IBM   DS4800控制器架构简析-1090733-4

9-50   扩展柜整柜故障时的拓扑

 

可以发现,如果某Raid Group的磁盘全部在一个扩展柜中,那么一旦这个扩展柜故障,这Raid Group将不可用。所以控制器为了获得 高度可靠性,一般会尽量跨扩展柜Raid Group,即一Raid Group中的所有磁盘各属于不同的扩展柜。这样,即使一个扩展柜失效,那么对 于一个Raid Group来说,只是失去一块磁盘而不是全部失效,Raid Group还可以继续工作。目前几乎所有中高端盘阵都提供这种支持。

9-51DS4800盘阵控制器内部简单架构图。

 

IBM   DS4800控制器架构简析-1090733-5

9-51   DS4800机头控制器简单架构图

 

从图中可以看到如下部件FC  ChipLoop  SwitchChannelInterconnect Module。其中FC  Chip是处FC协议逻辑的主要芯片,全部 FC逻辑都在此芯片内实现Loop Switch在这里可以使用上文所述PBC一类的芯片,当然也可以使用交换架构的芯片。其后端连接两FC 接口,前端分别连接位于两个控制器上的两FC Chip,这样做的目的是为了充分冗余Channel的意思就是指连接到一Loop Switch上的两 FC端口,两个端口组成一个Channel,没有实际物理意义。Interconnect       Module其实是一个背板,用于控制器之间的通信。

ASIC芯片负责数据在前端和后端的流动,还负责用于Raid         5/6XOR运算,由于其XOR运算引擎被固化于ASIC电路中,所以运算速度远快 于使用普X86  CPU。控制器中还有一Intel  Xeon  CPUControl  Processor),这CPU主要用来运VxWork操作系统,一些上层功能软 Remote   MirrorSnapshotFlashCopy)以及其他总控程序比如监控、用户接口等,皆运行VxWork操作系统内,Control   Prosessor 责执行。控制器为ASICControl  Prosessor各单独配备了RAM

 

IBM   DS4800控制器架构简析-1090733-6

 

推论:假设某一时刻,左边控制器下方那个FC                           Chip失效,则控制器A4FC接口与这个Chip的通路便会断掉。此时只能通过控制器B1FC接口访问最左边的4个扩展柜。查看一下连 线,可以发现控制器B1FC接口其实是通过Interconnect Module连接到了控制器A的上面的FC Chip

所以,最终数据是通过控制器B右边的Loop Switch流向Interconnec Module,然后流到控制器A上面的FC Chip。也就是说,最终达到了同一个控制器内部两个FC Chip之间的冗余备份。 而此时对前端主机来说并没有影响,主机还是连接控制器A来读写数据。同样,如果控制器A上的某个Loop Switch失效,则数据全部通过控制器B对应的Loop Switch流向Interconnect Module,最后还是流回到控制器A,对主机并没有影响。


IBM   DS4800控制器架构简析-1090733-7但是,如果同一个控制器上的两个FC     Chip或两个Loop     Switch都失效了,甚至整个控制器故障了,那么所有IO访问就都要转移到另外的一个控制器上。此时,对主机端就会产生影响,需 要多路径软件和盘阵端配合参与故障切换的动作。

 

实际上,DS4800的控制器不一定是上述的切换模式。但是在理论上,所有产品的设计都应该尽量不切换控制器,因为切换控制器会对主 机端造成影响。

9-52DS4800扩展柜连接示意图。

 

IBM   DS4800控制器架构简析-1090733-8

9-52   DS4800扩展柜连接通路示意图

 

9-53DS4800控制器的内部详细架构图。

 

IBM   DS4800控制器架构简析-1090733-9

9-53  DS4800控制器详细架构图

 

说明如下:

       2.4 GHz Xeon processor运行Vxworks实时操作系统。

     每个控制器248GB数据缓存RAM——数据专用。

     每个控制器512MB RAM系统缓存——操作系统运行内存。

       XOR ASIC Engine专用芯片,硬件RAID运算引擎。

   64b/133MHz——1GB/s带宽的PCIX总线。

  • x
  • 常规:

点评 回复

跳转到指定楼层
建赟
建赟  专家 发表于 2016-5-30 12:06:20 已赞(0) 赞(0)

顶一个!!

  • x
  • 常规:

点评 回复

风轻云淡
风轻云淡  导师 发表于 2016-5-30 12:25:05 已赞(0) 赞(0)

多谢分享,好帖必须顶!

  • x
  • 常规:

点评 回复

SHS
SHS  精英 发表于 2016-6-13 13:04:33 已赞(0) 赞(0)

顶顶顶顶。

  • x
  • 常规:

点评 回复

nielei255
nielei255   发表于 2018-8-27 17:12:14 已赞(0) 赞(0)

图片无法显示
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!

登录参与交流分享

登录

华为企业互动社区
华为企业互动社区