除了端口设计,SAS和SATA磁盘的供电接口也可能是读者的疑问。如果SAS和SATA接口中已经包含有供电接脚,传统的四针式电源是否还有用呢?
对磁盘阵列来说,答案显然是没有。外置磁盘阵列早在SCSI和IDE年代,就已经不使用四针式电源接口了。但是服务器内 部的非热插拔磁盘一般都采用这种接口,而且目前市面上一些SATA磁盘也带有这种电源接口。这是因为SATA 1.0标准刚刚颁布的时候,还没有完全取代四针电源。无法摆脱四针式电源,就无法直接支持热插拔,因此SATA 1.0在当时被定义为仅主机内部连接的协议,不支持外部连接。不过这些都已经是历史,现在的SAS和SATA II版本中,四针电源完全没有存在的必要。
看过SAS设备外观,我们再看看SAS内部的一些工作原理。首先,让我们先搞清楚三个名词--"设备"(Device)、"端口"(Port)和"phy"。
"设备"就是指SAS连接末端的物理设备,可以是磁盘,也可以是主机里的SAS适配器,但不是Expander设备。暂时不晓得Expander为何物的读者不要着急,后面会介绍到。
"端口"是半物理半逻辑的概念。一方面,每个端口都对应一条实实在在的物理连接线;另一方面,每个SAS端口都有一个唯一的64位地址。这个地址的格式跟 光纤通道里的WWN(严格的说,应该是WWPN,WWNN对应的更像SAS"设备"名)格式完全相同,由24位公司标志和40位厂商自定义字段构成。
"phy"虽然是个逻辑概念,但功能上很像光纤通道中的SFP。它对应的是一组SAS协议收发单元,由一个发送器和一个接收器组成。每个phy与远端的另 外一个phy连接,构成一发一收两条链路。SAS支持全双工,就是说每个phy在以3Gbps发送的同时,还可以接收3Gbps的流量。
SAS的连接模式与光纤通道的Fabric交换在很多方面十分相似。每一个SAS Expander就像一台光纤通道交换机,整个交换结构被称为"域"(Domain),其意义跟光纤通道技术中的"域"几乎完全一样。在光纤通道 Fabric交换结构中,每个域有一个主成员,负责维护整个域的路由信息。在SAS域中,起中心交换作用的Expander叫做"扇出Expander" (Fanout Expander)。SAS域中的"扇出Expander"既可以直接连接终端设备,也能连接其它"边缘Expander"(Edge Expander)。唯一与光纤通道Fabric不同的是,SAS域中可以没有"扇出Expander",而光纤通道Fabric域则不能没有主成员。没 有"扇出Expander"的SAS域,最多只可以有两个"边缘Expander"。
理论上,每个"边缘Expander"可以支持128个端口,每个SAS域可以有128个"边缘Expander",这样每个SAS域中最多可以有128 x 128 = 16384个端口。当然,这并不是说每个SAS域可以连接16384个磁盘和SAS适配器,因为"扇出Expander"与"边缘Expander"相连 接时,会占用一部分端口。如果128个"边缘Expander"全部连接到"扇出Expander",内部互联至少要占用256个端口。也就是说,一个 SAS域理论上可以连接16384 - 256 = 16128个终端SAS设备。对比光纤环路126个设备的上限,16128这个数字仍然是非常可观。