WWN与SAS地址详解(10款SAS硬盘横评之三)

简介:
SATA的点对点连接不存在寻址的问题,但加入扩展器(Expander)后形成交换架构的SAS却必须考虑如何寻址。为此,SAS引入了WWN(World Wide Name,全局名)的机制。WWN是一个符合NAA IEEE注册格式的8字节16进制数,以NAA(16进制的5,第0字节的高四位)开头,跟着3个字节(第0字节低四位至第3字节的高四位)的IEEE公司ID和4.5个字节(第3字节的低四位至第7字节)的厂商特定标识符,具有惟一性。
LSI SAS HBA SAS3081E(左)和富士通SAS硬盘驱动器MAX3147RC(右)印着WWN的标签,其中前者还把IEEE公司ID和厂商特定标识符分开,便于识别
根据SAS规范,每一个扩展器设备、SAS发起者设备(initiator,如HBA/RAID卡)、SAS目标设备(target,如硬盘驱动器)以及SAS target/initiator设备都包括一个上述IEEE注册格式的标识符作为其设备名(device name)。具体到SAS HBA、RAID卡和硬盘驱动器,都会在较为醒目的位置印上设备名,而后者更是普遍地在前面冠以“WWN”。 
上表列出了本文涉及的SAS硬盘驱动器及HBA/RAID提供商的IEEE公司ID,需要指出的是,LSI公司的SAS产品用的两个ID都来自其2000年收购的IntraServer Technology公司,而已成为AMCC旗下品牌的3ware也保留了自己的ID
设备名让在SAS环境中找到特定的SAS设备成为可能,但HBA、RAID卡乃至SAS硬盘驱动器,各有不止一个SAS端口,它们也需要分配一个SAS地址才能够访问到。所以,每一个SAS发起者端口、SAS目标端口和SAS目标/发起者端口都有一个WWN作为其端口标识符(port identifier)。笔者简单地研究了硬盘驱动器的设备名和端口标识符之间的关系。
Adaptec的ASM软件,WWN一栏显示SAS硬盘驱动器的设备名,而非所连接端口的标识符
设备名的前半部分(3.5个字节)是“5+IEEE公司ID”,取决于产品的“出身”;后半部分(4.5个字节)由出品商按照自己的规则指定,厂商只要确保它的惟一性,就不用担心设备名发生重合。不过,一旦某WWN被分配给某硬盘驱动器作为设备名,它之前或之后的几位数字也将根据出品商的规则赋予其主端口及第二端口,作为端口标识符,而不能再分配给其他的硬盘驱动器。
希捷、富士通和日立的SAS硬盘驱动器端口标识符命名规则
“WWN”一栏,粗体为IEEE公司ID,红色字体由出品商按照自己的规则指定
正如上表所示,希捷SAS硬盘驱动器的端口标识符都紧随设备名之后,日立(Hitachi GST)的规律则是在设备名之前。相比之下,富士通(Fujitsu)的做法比较奇怪——端口标识符与设备名并不相连,而是隔着至少一个数字,可惜我们只拿到了一台富士通SAS硬盘驱动器,不能确定这是否为普遍现象。但无论如何,SAS硬盘驱动器的主端口标识符和第二端口标识符肯定是前后相邻的。
图中上半部分用红色下划线标出的是西部数据1TB SATA硬盘驱动器WD10EACS标签上印刷的WWN和在SAS HBA的管理界面里面显示的SAS地址(SAS Address),可以看到两者毫无相同之处,而且SAS地址不受连接的SAS HBA端口的影响(Slot Number表明分别是第1和第3端口);下半部分是希捷Barracuda ES.2 1TB(ST3100340NS)印刷的WWN和管理界面显示的SAS地址(还包括Barracuda 7200.11),也看不出任何共同点
随着SAS的崛起,从2007年开始,SATA硬盘驱动器的标签上也出现了WWN。不过,按照ATA/ATAPI-7(8)定义的规则,这些同样遵守IEEE注册格式的WWN在SAS环境中被变换了字节的地址顺序,因此我们通过SAS HBA/RAID卡读到的SAS地址已经“面目全非”,两者间看不出直观的联系——换句话说,大多数最终用户不必在乎SATA硬盘驱动器的标签上是否印有WWN。还好,SATA硬盘驱动器只有一个端口,我们不必面对多重困扰,而能在系统中仅凭SAS地址就将其与SAS硬盘驱动器区分开更不是什么坏事。




本文转自 Gelada 51CTO博客,原文链接:http://blog.51cto.com/gelada/155685,如需转载请自行联系原作者
目录
相关文章
|
存储
PCIe VPD (Vital Product Data) 介绍
PCIe VPD (Vital Product Data) 介绍
3657 0
PCIe VPD (Vital Product Data) 介绍
|
缓存
银河麒麟server-V10配置镜像源
银河麒麟server-V10配置镜像源
15207 1
|
固态存储 IDE 开发工具
【实战经验分享】如何对SSD固态硬盘下发SCSI command?
目前可以供用来下发SCSI/ATA Command的工具有很多,比如BusHound, Hdparm, Sg3, Msecli等。其中Msecli是Micron自己的专门用来管理Micron SSD的命令行接口, 对于其他家的SSD是无效的。我们这里主要用的Sg3这个工具
|
安全 调度 数据安全/隐私保护
PCIe访问控制服务(ACS)
PCIe访问控制服务(ACS)
6584 0
PCIe访问控制服务(ACS)
|
监控 调度 开发工具
IO神器blktrace使用介绍
## 前言 1. blktrace的作者正是block io的maintainer,开发此工具,可以更好的追踪IO的过程。 2. blktrace 结合btt可以统计一个IO是在调度队列停留的时间长,还是在硬件上消耗的时间长,利用这个工具可以协助分析和优化问题。 ## blktrace的原理 一个I/O请求的处理过程,可以梳理为这样一张简单的图: ![](http://image
19846 0
|
8月前
|
Linux 数据安全/隐私保护 开发者
Red Hat下载ISO镜像的方法
简介:本文介绍如何注册或登录Red Hat账号,选择并下载Red Hat Enterprise Linux (RHEL)的免费版本,以及激活订阅的步骤。首先访问Red Hat官网注册或登录账号,然后在开发者页面选择免费下载RHEL,最后通过终端命令激活订阅,确保状态已订阅。订阅为期一年,到期后需重新注册以继续享受支持和权益。
3125 17
Red Hat下载ISO镜像的方法
|
存储 弹性计算 固态存储
三分钟磁盘存储性能IOPS、I/O及吞吐量指标详解
什么是磁盘I/O?存储IOPS是什么?磁盘性能指标吞吐量是指什么?
17550 39
|
测试技术 Linux Android开发
i2c总线及设备测试工具i2ctools:i2cdetect、i2cdump、i2cget、i2cset
本文介绍了i2ctools工具集的使用,包括i2cdetect、i2cdump、i2cget和i2cset,这些工具有助于I2C设备的开发和调试,通过检测设备、读写寄存器和数据块来提高开发效率。
2916 1