设置 iSCSI

来自 Alpine Linux
提示:考虑使用 TCM 而不是 iscsitarget

iSCSI 由两个组件组成:目标(服务器)和发起程序(客户端)。目标是可以通过 IP 被发起程序访问的大型磁盘空间池。发起程序使用磁盘空间,对其进行格式化并像本地磁盘一样挂载。当发起程序连接到目标时,会创建一个 SCSI 设备节点(例如 /dev/sda、/dev/sdb 等)。

iSCSI 目标

iscsitarget-X.X.apk 软件包提供了目标功能。它包括 ietd 服务(ietd 是 iSCSI 企业目标守护进程)。iscitarget-grsec 软件包包括 grsec 风味 Linux 内核的内核驱动程序。使用以下命令安装

apk add iscsitarget iscsitarget-grsec

软件包安装后,您可以通过编辑两个配置文件来设置目标。


在 /etc/ietd.conf 中,添加以下信息

       Target iqn.2006-01.com.example:disk2.vol1
              Lun 0 Path=/dev/sda1, Type=fileio

iSCSI Qualified Name 在 RFC 3720 中进行了文档化,更多名称示例在 RFC 3721 中。简而言之,字段是

  • 字面量 iqn
  • 命名机构获得域名所有权的日期(yyyy-mm)
  • 机构的反向域名 (org.alpinelinux, com.example, to.yp.cr)
  • 可选的 ":" 前缀,指定命名机构的存储目标名称。

来自 RFC

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

     iqn.2001-04.com.example:storage:diskarrays-sn-a8675309
     iqn.2001-04.com.example
     iqn.2001-04.com.example:storage.tape1.sys1.xyz
     iqn.2001-04.com.example:storage.disk2.sys1.xyz

上面的 "Target" 行是一个示例。这一行实际上只需要是唯一的。/dev/sdx 指的是将呈现给发起程序的磁盘和分区。

在 /etc/initiators.allow 文件中,添加以下行

iqn.2006-01.com.example:disk2.vol1 10.1.194.111

上面行中的 IP 地址将是发起程序的 IP 地址。现在只有这个 IP 地址被允许访问这个特定目标。您必须使用 IP 地址,而不是主机名。

如果您不关心发起程序从哪里连接,可以使用关键字 'ALL

iqn.2006-01.com.example:disk2.vol1 ALL

iSCSI 发起程序

警告:请注意,Open-iSCSI 在 Alpine 2.2 上已损坏。请参阅 http://groups.google.com/group/open-iscsi/browse_thread/thread/156e938d21f01275#。它在 Alpine 2.1、2.3 和 2.4 上可以工作。


发起程序在 open-iscsi 软件包中。在客户端上加载此软件包。

要配置 iSCSI 发起程序,请将发起程序名称添加到文件 /etc/iscsi/initiatorname.iscsi。发起程序名称遵循与目标相同的 iqn 命名方案,但这标识的是发起程序(客户端)。

InitiatorName=iqn.2007-11.org.alpinelinux.client:01

InitiatorName=iqn.2007-11.com.example.me:foo:bar:baz


01foo:bar:baz 是任意的。您可以输入任何内容(或不输入任何内容) - 只要发起程序名称是有效的 iqn。

使用以下命令启动发起程序守护进程

rc-service iscsid start

连接发起程序到目标

从 iSCSI 发起程序,首先运行此命令

iscsiadm --mode discovery --type sendtargets --portal IP_OF_TARGET

此命令联系目标以确定哪些磁盘可用。如果所有配置都正确,将返回目标名称 iqn.2006-01.com.example:disk2.vol1(来自上面的示例)。

发现目标后,运行此命令进行连接

iscsiadm --mode node --targetname NAME_OF_TARGET --portal IP_OF_TARGET --login

将 --login 替换为 --logout 将结束连接。

要使此连接持久化(以便在重启后重新连接),请运行此命令

iscsiadm -m node -T NAME_OF_TARGET -p IP_OF_TARGET --op update -n node.conn[0].startup -v automatic

是否有任何参考/链接可以找到更多关于它的详细信息?--Ncopa 16:04, 8 November 2007 (UTC)