字体:  

cx4-960

sharkbing 发表于: 2008-10-10 22:56 来源: DOIT博客

cx4 的容量扩展非常的强,一个环路上有120个磁盘,那它的性能怎么样?而其他牌子的存储为什么一个环路才50-60个磁盘。

最新回复

klin121628 at 2008-10-10 23:04:59
CX4一个loop上应该是60块盘吧,16个loop
prctice666 at 2008-10-11 13:37:28
CX4-960标配是8个BUS, 最多960  DISKS.
客户也可以按需要, 订制4个BUS / MAX 480 DISKS
thresh_freeman at 2008-10-11 21:42:00
可是每个磁盘需要2个loop...
所以,每个loop上最大还是...
big_mammon at 2008-10-12 19:22:38
楼主所说的其他牌子, 肯定不会承认, 自己存储的一个LOOP只能插50-60块盘, 而不能插120块盘.

系统支持的最大配置, 和根据用户需求设计的最佳配置, 不是一回事情.

[ 本帖最后由 big_mammon 于 2008-10-13 00:12 编辑 ]
asyqm at 2008-10-13 22:47:55
一般来说,一个存储的一个loop可以支持120个盘,但是一般来说产品的支持是每个loop5-60个盘,是因为一般的产品每个扩展柜上是2个LOOP,如果每个loop挂满120个,那如果有个loop断了,这个loop上的盘就都无法访问了。如果每个loop接5-60个盘,由于每个盘都接2个loop,因此当一个loop挂掉的时候,另外一个loop能够完全接管原先由2个loop连接的120个盘。

冗余设计。
prctice666 at 2008-10-14 12:39:08

QUOTE:

原帖由 thresh_freeman 于 2008-10-11 21:42 发表
可是每个磁盘需要2个loop...
所以,每个loop上最大还是...
谁告诉你一个DISK 2个LOOP?
CX4-960最多8个 BACKEND BUS, 也就是8个loop !
nfdx at 2008-10-14 16:03:56

QUOTE:

原帖由 sharkbing 于 2008-10-10 22:56 发表
cx4 的容量扩展非常的强,一个环路上有120个磁盘,那它的性能怎么样?而其他牌子的存储为什么一个环路才50-60个磁盘。
这是因为CX4的loop是4GB的,原来2GB的时候,也是一个loop上60个啊
thresh_freeman at 2008-10-14 22:24:10

QUOTE:

原帖由 prctice666 于 2008-10-14 12:39 发表


谁告诉你一个DISK 2个LOOP?
CX4-960最多8个 BACKEND BUS, 也就是8个loop !
你是做EMC的吗?请先了解一下EMC的配置手册。关于一个disk为什么在两个loop上的道理,属于基本常识。

CLARiiON CX4 Series Architecture

  Chassis
  
  CX4-960
  
  CX4-480
  
  CX4-240
  
  CX4-120
  
  Processor  architecture per storage processor (SP)1
  
  2 processors, 2.33 GHz
  
  1 processors, 2.2 GHz
  
  1 processor, 1.6 GHz
  
  1 processor, 1.2 GHz
  
  Physical memory  per SP
  
  16 GB
  
  8 GB
  
  4 GB
  
  3 GB
  
  Back-end 4 Gb/s Fibre  Channel ports per SP2
  
  4 or 8
  
  
4

  
  2
  
  1
  
  UltraFlex I/O slots  per SP3
  
  6
  
  5
  
  4
  
  3
  

1
All models in the CLARiiON CX4-120, CX4-240, and CX4-480 have two storage processors; CLARiiON CX4-960 hasfour processors.
2
Back-end ports connect thestorage system to other disk array enclosures (DAEs).
3
Not all I/O slots are open;systems are factory preconfigured with iSCSI and Fibre Channel ports.
thresh_freeman at 2008-10-14 22:32:05

QUOTE:

原帖由 big_mammon 于 2008-10-12 19:22 发表
楼主所说的其他牌子, 肯定不会承认, 自己存储的一个LOOP只能插50-60块盘, 而不能插120块盘.

系统支持的最大配置, 和根据用户需求设计的最佳配置, 不是一回事情.
话也不能这么讲吧。EMC CX一个loop可以接120个磁盘,这固然是优点,最大容量和磁盘数量有优势。但你也不能说“其他牌子, 肯定不会承认, 自己存储的一个LOOP只能插50-60块盘, 而不能插120块盘”,那么DMX呢?
冬瓜头 at 2008-10-14 23:07:51

QUOTE:

原帖由 asyqm 于 2008-10-13 22:47 发表
一般来说,一个存储的一个loop可以支持120个盘,但是一般来说产品的支持是每个loop5-60个盘,是因为一般的产品每个扩展柜上是2个LOOP,如果每个loop挂满120个,那如果有个loop断了,这个loop上的盘就都无法访问了。如果每个loop接5-60个盘,由于每个盘都接2个loop,因此当一个loop挂掉的时候,另外一个loop能够完全接管原先由2个loop连接的120个盘。

冗余设计。
兄弟,你这说法有问题,别熬夜了,睡一觉明早起来看看
一哥卡尔 at 2008-10-15 03:44:22
一哥来坛子时间不长,不过好像看起来有些兄弟不是完全清楚FC Loop 的基本概念和应用,那我就重点关于drive loop说两句吧。


事先需要说明的是,我讨论的是纯FC, 也就是说前端和后端都是FC的RAID系统。后端扩展是SAS/SATA 就另当别论,因为概念不同。


先看看下面的概念。
ALPA Arbitrated Loop Physical Address. The address of a Fibre Channel node in an arbitrated loop. Arbitrated loop An interconnection scheme which supports up to 126 ports on a loop in a shared medium topology. Arbitration The process of selecting one respondent from a collection of several candidates that request service at the same time. FC-AL Abbreviation for Fibre Channel Arbitrated Loop, an interconnection scheme which supports from 1 to 126 ports on a loop in a shared medium topology.Loop A simple switching environment; a serial data channel that provides a logical bi-directional, point to point service for up to 127 ports on one loop.
通常在RAID系统里所说的drive loop实际上是Arbitrated loop 或FC-AL. 在这个Loop 里,每一个port 有一个物理地址,那就是ALPA. ALPA的值范围是00h-FFh, 每一个ALPA值对应一个Device ID on the loop,也简称LoopId(察看对照表可以看到ALPA 和Loop ID的值对应)。

Arbitration是一个很重要的概念,简单地说就是每一个SCSI/FC device在启动后都有一个Arbitrate的动作,他的结果就是让这个device 获得一个唯一的,不和别人冲突的Loop ID 或 SCSI ID.

从上面的Arbitrated Loop中可以看到,一个loop可以有126个port, 126 port 可以被映射为126个device。

那么在loop中有哪些device呢?绝大多数的情况下,有Initiator device (比如Raid controller), target device (比如Disk), 还有些device象processor device(比如SES device)。这些device在一个Loop中的个数的总和不能超过126。

那么在RAID系统中,一个drive channel loop里必须有一个Raid controller因为它是Initiator. 因此理论上讲一个drive channel loop中最多可以有125个Disk. 可是Raid系统中的后端Drive channel通常都是Redundant channel, 所以一个drive channel loop中要有2个Raid Controller, 所以在Redundant drive Channel的配置下,一个Drive Channel 的Loop理论上可以有124个disk.

回过头来再讲讲Disk 的Loop. 每个FC Disk都是Dual Loop的,也就是Loop-a和loop-b. 目前为止我还从来没有听说过单个Disk可以支持2个以上的Loop,如果真是这样,那么很多工业标准将要修改。在redundant drive channel 的情况下,每一个Disk 同时在两个drive loop 上,当一个drive loop 发生问题,通过另外一个drive loop 依然可以access. 题外话,一般的drive redundant channel的设计是loop-a上的device的连接顺序与loop-b上的device连接顺序相反。

CX4-960是因为它的每个扩展柜有15个Disk, 一个Loop可以扩展到8个柜子,所以是15 * 8 = 120个disk. 而Raid Head可以支持8个Drive Channel, 所以总可扩展的Disk数目就是120 * 8 = 960.

但是如何看待8 Drive Channel/960 Disks才是问题的关键。

首先, 这种配置是没有Redundant的,因为如果是Redundant Drive Channel, 那么Raid Head上必须有2个drive channel 连到同一个扩展柜才能实现Redundant.

其次,即便是Redundant Drive Channel, 挂上120个Disk, loop本身的稳定性大打折扣。须知FC Loop是Serial Connection, Loop 上的任何一个Device 出现问题将影响整个Loop. 另外FC Chip处理延时响应必须非常好因为Device 越多延时越大。我曾经用一款Qlogic Chip, 响应Timeout 为2秒, 在一般情况下(50-60 backend devices)工作很好,但是Drive Channel 上挂上96个Disk 和8 个SES,  容错能力在这种极端配置下下降很大。4GB和2GB在容错能力这一点上应该没有太大区别,关键是Raid Controller 必须有能力处理比较长的延时,以及可能出现的各种问题,比如各种原因产生的LIP Storm.

第三,因为没有足够的ALPA留给SES device, SES 只能通过Disk来实现,而如今已经基本没人这么干了。扩展柜管理是如何实现的呢?我不是EMC的产品专家,不过很想知道他们如何实现的。

第四,就是技术以外的问题了。各位要读懂marketing 语言和Engineering语言的区别。产品白皮书和Spec上的一般都是marketing语言。 Marketing语言一般是为了配合公司的战略而成的,无可厚非。但是它决非Engineering 所认可的Configuration. 一般来说,Marketing 的recommended configuration往往接近实际Engineering可以接受的。
畅所一言 at 2008-10-15 11:39:19
这篇讲的逻辑很清楚; 但有几点可以进一步澄清:

1)EMC 在讲Controller 到它的扩展柜/磁盘时用了个新概念: UltraPoint;

2)在扩展柜控制到具体的磁盘时用了Point-Router: 是一种Multiple point-loop-point pseudo Switch 技术;

3)在实际中已经很难有纯粹的LOOP的东西了: 但也不是Switch的;

4)EMC在它的技术宣讲中讲了新架构可以很好的改进了Diagnostic的问题; 但一直回避性能的话题;

5)在它的CX3-80中明确指出300块磁盘是它这种结构上的瓶颈;
asyqm at 2008-10-15 12:13:29

QUOTE:

原帖由 冬瓜头 于 2008-10-14 23:07 发表


兄弟,你这说法有问题,别熬夜了,睡一觉明早起来看看
冬瓜兄弟,我想我楼上的楼上的兄弟已经清楚的解释了我的观点。。。。
冬瓜头 at 2008-10-15 12:58:40
OK,不知道emc是这么做的,那么也就是说两条loop各掐死在一半的地方。一个channel坏了,另一个就松开。
说清楚这一点,就明白了。不过,在一个loop上挂满盘,就算是sbod,性能也会打很大折扣吧,不知道用的是哪家的芯片。再者这么多盘在一起,lip storm发生几率也会增加。看来bus数不够,也只好这样了?
冬瓜头 at 2008-10-15 13:20:48
又看了一遍一哥卡尔兄的贴,很好!
我知道目前对ses的实现,stand alone和attached两种模式都有使用的。不过用disk当做transfer agent的做法确实该淘汰了,实际中确实遇到太多不便。。。
cqupt718 at 2008-10-15 19:51:20
卡尔兄写的好犀利!
那段收了 以后好忽悠得转loop

CX4的底层还是用的CX3架构吗?是否有所提升?
asyqm at 2008-10-15 20:54:21

QUOTE:

原帖由 cqupt718 于 2008-10-15 19:51 发表
卡尔兄写的好犀利!
那段收了 以后好忽悠得转loop

CX4的底层还是用的CX3架构吗?是否有所提升?
个人认为,从结构上看,CX4没啥提升。。。
asyqm at 2008-10-15 20:56:17

QUOTE:

原帖由 冬瓜头 于 2008-10-15 12:58 发表
OK,不知道emc是这么做的,那么也就是说两条loop各掐死在一半的地方。一个channel坏了,另一个就松开。
说清楚这一点,就明白了。不过,在一个loop上挂满盘,就算是sbod,性能也会打很大折扣吧,不知道用的是哪家的芯 ...
这个好像hds的设计也是这样,只是EMC在CX4-960上做了一个很大的冒险,基本放弃了对于loop的冗余设计。不知道emc在这点上有什么额外的设计。
你可以看看,hds和emc在磁盘数上基本接近,如果在960这个档次上的loop没有比480翻倍的话,恐怕设计就很难了。
一哥卡尔 at 2008-10-16 05:20:45
13楼的畅所一言兄所言有道理,现在在drive channel后端很少有纯粹的Loop了,Loop技术是要被淘汰的,使用fabrics switch应该成为主流,而且现在应该有高端的产品已经用上了。让我们看看这些技术的变迁吧。注意我还是只讨论RAID backend,因为前端的fabrics和后端的fabrics应用上有区别的。

由于Loop技术受serial connection的限制,协议规定的动作会造成稳定性和效率性的问题。Loop非常依赖于loop上的device们都是好学生不捣乱,一旦有人捣乱,整个班级受影响。fabrics就不一样了,Fabrics因为是point-to-point技术,就算有坏同学,只要把它isolate就不会影响别的同学念书,所以在稳定性上好许多。另外,message的传递过程的协议和动作比Loop方式快得多,因此performance也好得多。

但是由于历史原因,有许多loop based product已经在用了,所以fabrics switch不能完全无视这些Legacy product.

大约3年前,emulex 就有过一款chip, 我当时称之为SOC(Switch On Chip), 这款soc实际上是Loop switch尽管他号称fabrics switch, 内置24ports, 在我的公司产品里,我们配了4ports给入口(HBA, RAID), 4ports给扩展出口,剩下12ports给硬盘,4ports他用。在这种配置下,soc内可以实现message传递到12个disk ports是point-to-point的,当然只是在soc控制之内的。但是soc把他控制的disk以loop device的方式present, 因此从Raid看来,所有的disk都是loop模式的,Raid给Disk的message到了soc, soc以point-to-point的方式传递到disk. 这种方式比纯loop 方式是快得多了,但是扩展柜之间的连接因为是loop方式的,所以成为bottle neck. 也就是说这种技术是一种loop和fabrics混杂的过渡产品。

这两年,raid backend 用的fabrics switch chip已经问世,我想在各大公司的高端产品上应该已经用上了。在frabics的模式下,Raid controller不再是Loop 方式的那种找Alpa, 而是直接Query fabrics switch上的Name Server,拿到device的24bit的地址。

24bit device address 的格式是DD AA1 AA2. DD表示domain,AA1 是fabrics switch的port address. AA2是ALPA。在纯fabrics的情况下,一个FC Device的AA2为0. 而在fabrics switch接上了一个loop device串(比如一个Loop方式的旧的FC JBOD), 那么这个loop上的device的ALPA就是24bit device address中的AA2.

地址拿到后,以后的读写就容易了,直接给出地址和IO data, switch会handle 一切,包括路由到下一个sbod switch。这个过程比起Loop来说快得多,而且一旦device出错也容易恢复,不会影响别人。

但是不管是用fabrics switch也好Loop 也好,Drive Channel要做到redundant, 必须在RAID HEAD 上腾出2个Channel来。前些日子看到华为的OcenaStor 6800提到镜像通道,不知道那是什么冬冬,要请教各位了解情况的。

那么在实际运用中什么是point-to-point的瓶颈呢?point-to-point本身没有瓶颈,就算有也是在Disk Drive上。问题在于switch本身。每个message都必须经过switch的入口端口,switch必须查看message的头才能知道是什么message, 对象是谁。这个处理本身是需要resource的,而且如果message给是下一个sbod上的device的话,还必须路由。当switch的入口端口拥挤(resource不够的话),无论switch内部多快也没用。如果是由许多扩展柜连在一起,给最后一个柜子上的disk读写就要路由7次才能到达最后的柜子,前面的任何一个柜子都成为瓶颈。因此即使是fabrics方式比起loop来快,也不是无限制的。

在实际的产品中,使用了switch但是仍然不能提高性能的话,那就要怀疑switch的implementation了,或者是raid controller本身的问题。

畅所一言兄所提到的EMC的新概念我不知道详细,如果诸位有知道的,请指教。

冬瓜兄涉猎真广,SES协议虽然广泛使用,但我的印象是国内知道的人不多,也从来没有听说有人主动提起,当然也可能是人们不在乎这个。这个帖子够长了,改日我另起新贴,好好讲一讲,不知诸位有无兴趣。
冬瓜头 at 2008-10-16 09:10:34
看来一哥只在中国时间的晚上出来活动,看来是在美国了。不得不说,高手,以后多指教
不过,据我所知,目前很多loop switch芯片,其内部依然是fc al的逻辑,initiator依然要发起仲裁逻辑,而只不过是芯片内部直接响应仲裁,而不用一跳一跳的传一遍了。 至于老兄说的新一代全fabric模式用到后端,与前端fabric一模一样的方式访问磁盘,这种芯片真的未有耳闻。包括soc422,这款芯片我们的一些产品也在用,不过,其initiator依然是使用传统方式来访问的,所以推断soc422这款芯片并没有使用fabric模式。再者,后端如果全部过度到纯fabric,势必对fchba的firmware,driver等进行调整,而且还得形成个标准,虽然各厂家之间兼容性一贯是很差。
一哥能否给出几款这种用于扩展柜上的纯fabric芯片,还有,哪家的成品已经在用了?

ses我有所研究,不过仅限于表面的东西,至于其frame的构成,没研究过,也不想研究,毕竟不是做开发的,嘿嘿。
《大话存储》中有对ses进行解析的。