iscsiadm 实际上做了什么?

iscsiadm 实际上做了什么?

好的,这里我说的是centos7系统相关的iscsi启动器。

当我们在文件上设置正确的 iscsi 配置时; /etc/iscsi/initiatorname.iscsia/etc/iscsi/iscsid.conf我们还需要做

iscsiadm --mode discovery --type sendtargets --portal 192.168.1.81

iscsiadm --mode node --targetname iqn.2014-08.com.example:t1 --portal 192.168.1.81 --login

否则,即使使用# systemctl enable iscsi,系统也不会加载 scsi 目标。

我的问题是这实际上是什么iscsiadm工具可以。

  • 它是否在幕后进行任何配置更改,因为它只需运行一次。

答案1

open-iscsi 子系统由三个部分组成:iscsiadm 命令、iscsid 守护程序和内核。

用户空间部分(即 iscsiadm 和 iscsid)保留两个数据库。我说各种各样的因为“数据库”是文件和目录,而不是真正的数据库。

有一个发现DB,并且有一个目标D B。

当您运行时iscsiadm -m discovery -t st -P IPADDR,您会填充发现DB,它跟踪该目标的设置,并且您填充节点包含发现的目标记录的数据库。

完成此步骤后,您可以运行iscsiadm -m node以查看发现的节点。

当您运行 时iscsiadm -m node -t TGT_NAME -P IPADDR -l,您告诉 iscsiadm/iscsid 您要查找目标名称为 TGT_NAME 且门户 IP 地址为 IPADDR 的节点,并登录到该节点。

顺便说一句,您可以通过运行以下命令来完成这两个步骤:

iscsiadm -m discovery -t st -p IPADDR -l

或者,发现后,您可以运行:

iscsiadm -m node -l

登录所有节点。

我没有 CentOS 7,但我怀疑至少有两个 iSCSI 服务。如果运行systemctl list-unit-files | fgrep iscsi,您可能会看到不仅仅是“iscsi.service”。

在 openSUSE 上,存在三个单元文件:iscsid.socket、iscsid.service 和 iscsi.service。

iscsid.socket 和 iscsid.service 文件一起使 iscsid 套接字激活。 iscsid.service 基本上是 iscsid 守护进程。

iscsi.service 文件位于 iscsid.service 之上。该服务仅登录到标有标记的目标,该标记表示您要在启动时登录。

这是有关如何设置自动启动目标的链接,但这是一个 SUSE 文档,所以 YMMV。

您还可以加入一个开放式 iSCSI 邮件列表:[电子邮件受保护]

答案2

iscsiadm当使用配置文件运行时,--login将在/var/lib/iscsi/nodes/.该文件保存特定的 scsi 目标相关信息,我认为 iscsid 守护程序使用该信息来访问目标。

相关内容