跳转至

SAN URI

从 SAN 引导时,你可以使用 SAN URI 指定 SAN 目标的位置。例如,在 iPXE 脚本中使用 sanboot 命令时:

  #!ipxe
  sanboot iscsi:10.253.235.1::::iqn.2010-04.org.ipxe:rabbit

或者作为 root-path DHCP 选项(使用 ISC dhcpd):

  option root-path "iscsi:10.253.253.1::::iqn.2010-04.org.ipxe:rabbit";

或者作为 root-path DHCP 选项(使用 Microsoft DHCP 服务器):

Root path in the Microsoft DHCP server

SAN URI 的格式取决于你使用的 SAN 协议。

iSCSI

iSCSI SAN URI 的格式由 RFC 4173 定义。一般语法为:

  iscsi:<servername>:<protocol>:<port>:<LUN>:<targetname>

例如:

  iscsi:10.253.235.1::::iqn.2010-04.org.ipxe:rabbit
  iscsi:boot.ipxe.org::::iqn.2010-04.org.ipxe.boot:public
  iscsi:192.168.0.1:::1:iqn.1991-05.com.microsoft:msdos622-target
  iscsi:opensolaris.home::::iqn.1986-03.com.sun:02:e9abf4cd-714b-c6ec-d017-eea5a56252ed
  • <servername> 是 iSCSI 目标的 DNS 名称或 IP 地址。
  • <protocol> 会被忽略,可以留空。[^1]
  • <port> 是 iSCSI 目标的 TCP 端口。可以留空,此时使用默认端口(3260)。
  • <LUN> 是引导磁盘的 SCSI LUN,十六进制。可以留空,此时使用默认 LUN(0)。
  • <targetname> 是 iSCSI 目标的 IQN。

如果你使用 iSCSI 身份验证,则需要在尝试连接 SAN 目标之前配置 usernamepassword 设置(可能还需要配置 reverse-usernamereverse-password 设置)。无法在 iSCSI SAN URI 中直接指定用户名和密码。

A disk

AoE

AoE SAN URI 的格式为:

  aoe:e<n>.<m>

例如:

  aoe:e0.0
  aoe:e0.1
  aoe:e2.4
  • <n> 是 AoE 主设备号(也称为架号/shelf number)。
  • <m> 是 AoE 次设备号(也称为槽号/slot number)。

无法在 AoE SAN URI 中指定特定的网络设备。iPXE 会使用最近打开的网络设备。

HTTP

HTTP SAN URI 的格式就是一个标准的 HTTP URI。例如:

  http://boot.ipxe.org/freedos/fdfullcd.iso

注意,HTTP 服务器必须支持 range 请求,否则 SAN 引导会失败。

FCP(包括 FCoE)

FCP SAN URI 的格式为:

  fcp:<wwn>:<lun>

例如:

  fcp:20:00:00:1f:16:bc:fe:2f:0
  fcp:20:00:52:54:00:9a:ba:bc:0
  • <wwn> 是 FCP 目标的 Fibre Channel 端口 WWN。
  • <lun> 是引导磁盘的 SCSI LUN。

FCoE 没有单独的语法,也无法在 FCP/FCoE SAN URI 中指定特定的网络设备。只要检测到 FCoE 网络,FCoE 接口就会自动创建,iPXE 会在所有打开的 FCoE 接口上搜索 FCP 目标。

Infiniband SRP

Infiniband SRP SAN URI 的格式为:

  ib_srp:<sgid>:<sidx>:<shca>:<dgid>:<pkey>:<svc>:<lun>:<didx>:<dioc>

例如:

  ib_srp::::fe800000000000000002c9030001c65b::0002c9030001c65a::0002c9030001c65a:0002c9030001c65a
  • <sgid> 是 16 字节的发起方端口 GID。可以留空,此时使用最近打开的 Infiniband 端口的 GID。
  • <sidx> 是 8 字节的发起方 ID 扩展。可以留空,此时使用零值。
  • <shca> 是 8 字节的发起方适配器 GUID。可以留空,此时使用最近打开的 Infiniband 端口的 GID 中的 GUID 部分。
  • <dgid> 是 16 字节的目标端口 GID。
  • <pkey> 是分区键。可以留空,此时使用默认分区键。
  • <svc> 是 8 字节的服务标识符 GUID。
  • <lun> 是 SCSI LUN。可以留空,此时使用默认 LUN(0)。
  • <didx> 是 8 字节的目标 ID 扩展。
  • <dioc> 是 8 字节的目标 I/O 控制器 GUID。

注意,<sidx>:<shca> 拼接起来构成通用 SRP 发起方端口 ID,<didx>:<dioc> 拼接起来构成通用 SRP 目标端口 ID。

[^1]: <protocol> 唯一合法的值是 6,表示协议为 TCP。