IQN 命名约定

IQN 命名约定

我看过很多关于如何格式化 IQN 的信息,但关于如何构建它们的信息却不多。在 iSCSI 方面,我算是新手,虽然我已经让它工作了,但我不知道我是否应该自己编造这些东西,或者是否有充分的理由遵循某种标准。

举个例子,这是(维基百科http://en.wikipedia.org/wiki/ISCSI#Addressing) 说您应该格式化 IQN。

              Naming     String defined by
 Type  Date    Auth      "example.com" naming authority
+--++-----+ +---------+ +-----------------------------+
|  ||     | |         | |                             |     

iqn.1992-01.com.example:storage:diskarrays-sn-a8675309
iqn.1992-01.com.example
iqn.1992-01.com.example:storage.tape1.sys1.xyz
iqn.1992-01.com.example:storage.disk2.sys1.xyz[10]

我的问题主要是,为什么要输入日期?可以是任何日期吗?它有什么含义吗?这里有强制要求吗?我是否会遇到输入“错误”日期会给我带来麻烦的情况?

域名示例是否反转(如 dns 一样)是有原因的?如果我有一个域名,如 starkindustries.pri,我的 iqn 会是这样的:

iqn.2006-05.pri.starkindustries:Linux:array0

这依赖于 DNS 吗?(经验告诉我不是,但它可能会以微妙的方式失败)如果它依赖于 DNS,我应该使用主机名,还是只使用我的域名?即 Jarvis.starkindustries.pri 还是只是 starkindustries.pri?

另外,如果我使用 IP 地址(有些人建议如果你不使用 DNS,这会更令人困惑,因为它不需要 DNS 就可以工作),你会像使用 DNS 一样反转它吗?即 10.1.2.0

iqn.2006-05.0.2.1.10:Linux:array0 

另外,您是否使用主机地址(iSCSI 目标的地址?)或网络地址。

是否有任何强制要求“由“example.com”命名机构定义的字符串”,即有什么原因让我不能使用 blahblahblah,而要使用一些有用的名称?我知道有用的名称更具描述性,但这有什么技术原因吗?我也坚信我是“命名机构”。

我想最重要的是,我正在为这些 IQN 编造一堆东西,它们似乎正在发挥作用。我只是想知道在实际生成 iqn 时至少在哪里可以找到一些最佳实践。我只是考虑到有一天我将不再是唯一负责存储的人,所以我需要传递一些标准,否则我要么会弄得一团糟,要么当需要新的 IQN 块时让别人弄得一团糟。

答案1

这背后的理由是RFC 3720最重要的是,IQN 应该是唯一的。前面加上的日期是控制域名的实体所代表的合理保证(在命名授权字段中)当时一个可以确保唯一性的“命名机构”——域名一直在易手,并且由于唯一其他唯一的内容是第一个 : 的 RHS(这是一个免费的)可能已经有一个 Linux:array0 或类似的富有想象力的东西在流传。

RFC 3720 使用(通常很有趣的)“必须”将日期定义为 YYYY-MM,并详细描述了精确的格式和使用时间等。我想这只是为了使解析和排序更简单(固定字段长度,始终增加)。如果你打电话给目标 iqn.screwyouRFC3720,RF​​C 警察会破门而入吗?这会破坏互联网吗?不会。

它与 DNS 完全无关,DNS 仅仅是一个方便的、委托的、分层的系统,如果您愿意的话,它可以让您从任何 TLD 转到单个设备,因此它是一种识别责任方的简单方法。

就我个人而言,我希望确保 IQN 能够说明数据的时间、对象、内容、原因以及重要性,这样当我在某个地方寻找空间时,我就知道该问谁。

无论喜欢与否,你都是命名权威。

相关内容