我是AIX的新手,我在AIX中找到了一个命令lsattr,这有助于获取设备的SCSI ID和LUN ID。我无法理解如何解释SCSI id和LUN id的值。这是一个示例输出:
bash-4.2# lsattr -El hdisk693
.......
lun_id 0x25f000000000000 Logical Unit Number ID False
scsi_id 0x21300 SCSI ID False
.......
我跳过了不相关的行。
1) LUN ID是0x25f000000000000,这是巨大的,在一些博客中读到我们必须将其右移48位以获得实际值,这在哪里记录了?
2)那么 SCSI id怎么样,即使这个值看起来很大,0x21300
有人可以帮我解决这个问题吗?
谢谢&的问候,
答案 0 :(得分:0)
LUN为8个字节。有4种形式,这些形式在LUN的高位2位中给出。当人们说要将它正确移位48位,这是因为他们假设你的LUN是“单级LUN结构”。
它变得相对复杂。参见sam5r14.pdf,第4.7节。您可以在此处获取所有SCSI规范:http://www.t10.org/drafts.htm。
答案 1 :(得分:0)
以下是可读形式的答案。请参阅上面的评论以获取更多信息。
typedef struct scsi_long_lun_t
{
union
{
struct
{
// Method 0 - Peripheral Device Addressing Method (8 bit LUN)
// | 7-6 | 5-0 |
// +-------------------+---------------------------+
// |Address Method(00b)| Bus Identifier (00h) |
// +-----------------------------------------------+
// | Single Level LUN (00h to FFh) |
// +-------------------+---------------------------+
byte MethodAndBus;
byte Lun8;
byte Reserved[6];
} Method0;
struct
{
// Method 1 - Flat Space Addressing Method (14 bit LUN)
// | 7-6 | 5-0 |
// +-------------------+---------------------------+
// |Address Method(01b)| High Flat Space LUN |
// +-----------------------------------------------+
// | Flat Space LUN (0000h to 3FFFh) |
// +-------------------+---------------------------+
byte MethodAndHighLun;
byte LowLun;
byte Reserved[6];
} Method1;
struct
{
// Method 2 - Logical Unit Addressing Method
// | 7-6 | 5-0 |
// +-------------------+---------------------------+
// |Address Method(10b)| Target |
// +-----------------------------------------------+
// | Bus (7-5) | LUN (4-0) |
// +-------------------+---------------------------+
byte MethodAndTarget;
byte BusAndLun[7];
} Method2;
struct
{
// Method 3 - Extended Logical Unit Addressing
// | 7-6 | 5-4 | 3-0 |
// +-------------------+----------------------------+
// |Address Method(11b)| Length |Extended Addr Meth|
// +------------------------------------------------+
// | Extended address method specific (7 bytes) |
// +------------------------------------------------+
byte MethodEtc;
byte MethodSpecific[7];
} Method3;
} u;
} scsi_long_lun_t;