好的,这里我说的是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 守护程序使用该信息来访问目标。