我已经看到很多关于如何格式化 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 编造一堆东西,而且它们似乎正在工作。我只想知道在实际生成 iqns 时,至少在哪里可以找到一些最佳实践。我只是在考虑,总有一天我不会是唯一一个负责存储的人,所以我需要传递一些标准,否则我要么搞砸,要么让别人搞砸需要一个新的 IQN 块。
RFC 3720背后的基本原理是,最重要的是,IQN 应该是唯一的。前面的日期是一个合理的保证,即控制当时代表的域名(在命名身份验证字段中)的实体是一个可以确保唯一性的“命名机构” - 域名一直易手,因为唯一的其他独特的东西继续是第一个的 RHS :(这是一个免费的)可能已经有一个 Linux:array0 或类似的东西漂浮在周围。
RFC 3720 使用(通常很有趣)必须将日期定义为 YYYY-MM,并详细介绍了精确格式和使用时间等。我想这只是为了使解析和排序更简单(固定字段长度,总是增加)。如果你调用你的目标 iqn.screwyouRFC3720,RFC 警察会打破你的门吗?它会破坏互联网吗?不。
它与 DNS 完全无关,DNS 只是一个方便的、委托的、分层的系统,如果你愿意,它已经让你从任何 TLD 到单个设备,所以它是识别责任方的简单方法。
就个人而言,我喜欢确保 IQN 说明数据的时间、对象、内容、原因和重要性,因此当我在某个地方寻找空间时,我知道该问谁。
不管你喜不喜欢,你是命名权威。