Lun id, scsi id, device id, unit serial number之间的关系
哪位兄弟能解释一下Lun id, scsi id, device id, unit serial number之间的关系?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
哪位兄弟能解释一下Lun id, scsi id, device id, unit serial number之间的关系?
谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
呵呵,谢谢冬瓜头。
我在ams做了lun的remapping 测试:
bash-3.00# lscfg -vl hdisk232
hdisk232 U787B.001.DNWG61D-P1-C1-T2-W50060E801002E1D7-L0 Other FC SCSI Disk Drive
Manufacturer................HITACHI
Machine Type and Model......DF600F
Part Number.................
ROS Level and ID............30303030
Serial Number...............77011805
EC Level....................
FRU Number..................
Device Specific.(Z0)........00000312B3001102
Device Specific.(Z1)........0048
Device Specific.(Z2).........
Device Specific.(Z3).........
Device Specific.(Z4).........l..
Device Specific.(Z5)........
Device Specific.(Z6)........
发现U787B.001.DNWG61D-P1-C1-T2-W50060E801002E1D7-L0中最后的L0和map后的lun id对应。而Device Specific.(Z1)........0048中的048和lun的实际id对应。不知道这些id分别从scsi的那个命令来的。
[ 本帖最后由 xiegang112 于 2009-1-20 15:35 编辑 ]
楼主的研究已经到了协议层次了,表面解释不能满足楼主需求,需要一位做过盘阵底层研发的人员来解释。我认识一位,可以给你问问。
换言之
lz的意思是device identifier如同以太网的MAC地址,而lun id如同以太网的IP地址
谢谢楼上的解释。不过它们之间的关系我还是不是很明白。device identifier 和unit serial number都是在scsi3规范sam-3中定义的。它们是inquery命令page 83,page80的查询结果。
其实我想搞清这些定义的关系是因为我遇到了一下问题:
我有一个server,上面运行了多路径软件。它连接了一台阵列,比如ams。现在我分配两个lun:lun11和lun12.然后把这两个lun映射给server。映射的lun id分别为lun 0,lun 1. 此时,多路径软件为这两个lun创建多路径设备。
然后,我把这两个lun重新映射。把lun11 映射成lun 1,lun12映射成lun 0,让它们交换。
通过以上这些操作,多路径软件能自动识别其lun的变化。不知道它是怎么利用device identifier和unit serial number来实现的,主要有以下问题:
1.多路径软件必须通过lun的唯一标示来确定某一个lun。但我们阵列上的lun,其实都是经过某种程度的虚拟化后,再暴露给用户的( lun mapping)。这就会造成,整列控制器在响应scsi inquery命令的时候是如何处理这个标识符的?因为就像上面的例子,我可以把不同的lun map到同一个lun id。
2.针对上面的例子,我所提到那些概念,比如device identifier,unit serial numbers是什么时候产生的?各自所属的对象是什么。
我的理解是:
1.创建一个lun时,分配device identifier。因为创建lun相当与分配一个虚拟设备,是相对物理的操作。这个时候,为其分配device identifier,唯一标示该“物理”设备。
2.lun mapping。根据scsi 协议,需要建立一个TL联结才能实现通信。scsi 是通过lun id(当然还需要cannel,target的信息)来定位某一个lun。因此,之前阵列中划分的lun,需要分配一个lun id,才能被外界访问。lun mapping就是把具体的lun和lun id绑定,这个mapping关系由阵列维护。
3.多路径的聚合。多路径软件通过查询设备的device identifier来确定某一个设备的不同路径。
4.在把lun做remapping后,比如例子中把论交换后。由于多路径软件有device identifier信息。所以他仍然能正确处理lun的多路径。
另外,之所以提到unit serial number。是因为scsi_id程序在查询device identifier不成功时,可能会返回unit serial number。通过unit serial number 来标示一个lun。而多路径软件,比如redhat的device mapper multipath tool会利用外部程序(一般是scsi_id程序),来获得lun的标识符。以此来实现路径的聚合。如果说unit serial number是一个closure的序列号。那么它又怎么标示一个lun呢? 并且在sam-3中提到This page (unit serial number) provides a product serial number for the target or logical unit.这句话该怎么理解呢?
谢谢
[ 本帖最后由 xiegang112 于 2009-1-20 11:34 编辑 ]
我觉得楼主肯定是在啥地方看到资料混淆了, 方便的话把资料文字段落贴上来大家一起看看更好理解
Unit Serial Number应该是指的是你的整个磁柜笼子的产品序列号...(这个我不确定是否正确, 等论坛的大虾们指正)
不知道这样明白没有, 一个UNIT SERIAL NUMBER笼子里面的不同device id的磁盘划分出不同的LUN (ID)通过SCSI设备的ID号码被主机识别
[ 本帖最后由 cncqpansky 于 2009-1-20 00:04 编辑 ]
LUN ID指的是划分给主机端操作系统的磁盘空间实体的识别ID
SCSI ID numbers identify devices on the SCSI chain.
SCSI ID 7 is usually special because the Apple SCSI and Hi-Speed SCSI
cards count as a device set to ID 7 by default (and every Macintosh has a hard-
wired SCSI ID of 7).
A device ID is a vendor-defined identification string that is the most specific ID that Setup uses to match a device to an INF file. A device has only one device ID. A device ID has the same format as a hardware ID. If an enumerator reports a list of hardware IDs for a device, the device ID should be the first hardware ID in the list.