iSCSI 服务器
iSCSI 服务介绍
SCSI(Small Computer System Interface,小型计算机系统接口),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)连接标准。
iSCSI(Internet Small Computer System Interface,Internet小型计算机系统接口),又称为 IP-SAN,是 IBM 公司研究开发的 IP SAN 技术,该技术是将现有 SCSI 接口与以太网络(Ethernet)技术结合,基于 TCP/IP 的协议连接 iSCSI 服务端(Target)和客户端(Initiator),使得封装后的 SCSI 数据包可以在互联网传输,最终实现 iSCSI 服务端提供存储给客户端。
通常,iSCSI 使用专用的 10Gb 以太网或更好的网络,以最大程度地提高性能。
从物理服务器到存储的电缆通常封闭在数据中心内,并且理想情况下不直接连接到 LAN 网络,所以 SAN 流量通常不加密,以最大程度地提高性能。为了实现 WAN 安全,iSCSI 管理员可以使用 IPsec 加密流量。
iSCSI 架构
iSCSI 服务是 C/S 架构。访问的 iSCSI 目标在客户端系统上显示为本地且未格式化的 SCSI 块设备,等同于通过 SCSI 布线、FC 直连或 FC 交换光线连接的设备。

- Initiator:iSCSI 客户端,通常以软件方式部署,也可以使用 iSCSI Host Bus Adapters(HBAs)硬件。Initiator 必须具有唯一的名称(请参见 IQN)。
- Target:iSCSI 服务器上的 iSCSI 存储资源。Target 必须具有唯一的名称(请参见 IQN)。每个目标都提供一个或多个块设备或逻辑单元(LUN)。在大多数情况下,Target 只提供一个设备,但一台服务器可以提供多个目标。
- IQN(iSCSI Qualified Name) :全球唯一的名称,用于标识发起者和目标。IQN 具有以下格式:
iqn.YYYY-MM.com.reversed.domain:name_stringYYYY-MM:年和月。示例,2020 年 6 月为2020-06。该日期有助于确保 IQN 唯一性。com.reversed.domain:反向域名。例如,storage.1aogao.cloud的反向域名为cloud.1aogao.storage(注意:实际替换为liulele时,例如cloud.liulele.storage)。name_string:用于标识您管理的特定目标。如果服务器只具有一个目标,则有时会省略此名称。
- Portal :指定服务器监听的地址和端口,例如
172.25.250.50:3260。 - LUN(Logical Unit Number):代表 Target 提供的块设备。每个目标可以提供一个或多个 LUN。
- ACL(Access Control List):使用 Initiator 的 IQN 限制客户端访问 Target。
- TPG(Target Portal Group):是目标的完整配置,包括 Portal、LUN 和 ACL。几乎所有目标都使用一个 TPG,但是高级配置有时可能会定义多个 TPG。
- discovery:查询服务器上有 Target 列表。
- login:向 Target 验证,验证通过后即可以使用 Target 服务器提供的块设备。
配置 iSCSI Targets
节点规划
| 节点名称 | 节点 IP | 作用 |
|---|---|---|
| iscsi-server(增加 2 块 20G SCSI 磁盘) | 10.1.8.10/24 | iSCSI Target |
| iscsi-client | 10.1.8.11/24 | iSCSI Initiator |
使用 centos7 模板克隆出 iscsi-server、iscsi-client。
iscsi-server 配置
bash
[root@centos7 ~]# hostnamectl set-hostname iscsi-server
[root@centos7 ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.1.8.10/24 ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect yes
[root@centos7 ~]# nmcli connection up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@centos7 ~]# systemctl disable firewalld --now
[root@centos7 ~]# setenforce 0
iscsi-client 配置
bash
[root@centos7 ~]# hostnamectl set-hostname iscsi-client
[root@centos7 ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.1.8.11/24 ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect yes
[root@centos7 ~]# nmcli connection up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@centos7 ~]# systemctl disable firewalld --now
[root@centos7 ~]# setenforce 0
iscsi-server: 右击虚拟机设置,添加硬盘

点击添加






同样的步骤再加一块,共2块20G磁盘

重启下iscsi-server
配置流程

配置 iscsi-server
配置 iSCSI Targets 需要安装以下软件:
targetd:服务端软件。targetcli:targetd 服务配置工具。
bash
# 安装软件
[root@iscsi-server ~]# yum install -y targetd targetcli
# 启用并启动服务
[root@iscsi-server ~]# systemctl enable target --now
# 配置防火墙
[root@iscsi-server ~]# firewall-cmd --permanent --add-service=iscsi-target
[root@iscsi-server ~]# firewall-cmd --reload
当您不带任何选项运行 targetcli 时,该命令会进入交互模式。
使用 ls 命令显示当前布局:
bash
[root@iscsi-server ~]# targetcli
warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / .......................................................... [...]
o- backstores ................................................... [...]
| o- block .......................................... [Storage Objects: 0]
| o- fileio ......................................... [Storage Objects: 0]
| o- pscsi ......................................... [Storage Objects: 0]
| o- ramdisk ....................................... [Storage Objects: 0]
o- iscsi .................................................. [Targets: 0]
o- loopback ............................................... [Targets: 0]
配置 backstore 对象
backstore 类型:
- block:服务器中的块设备,例如磁盘驱动器、磁盘分区或逻辑卷。
- fileio:本地文件系统中的常规文件,targetcli 将该文件用作磁盘映像。
- pscsi:物理 SCSI 设备,允许客户端通过网络访问服务器上的物理 SCSI 设备。
- ramdisk:内存中的磁盘设备,数据不持久存储。
使用 targetcli 创建后备存储,使用 create 命令。
示例(先进目录再 create):
bash
/> cd /backstores/block
/backstores/block> create myblock1 /dev/sdb
Created block storage object myblock1 using /dev/sdb.
等同于完整路径写法:
bash
/backstores/block create myblock1 /dev/sdb
Created block storage object myblock1 using /dev/sdb.
配置 Target IQN
在 iscsi 伪目录中,创建 IQN,将您选择的 IQN 名称作为第一个参数。
bash
/backstores/block> cd /iscsi
/iscsi> create iqn.2026-04.cloud.liulele.iscsi-server:disk1
Created target iqn.2026-04.cloud.liulele.iscsi-server:disk1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ......................................................... [Targets: 1]
o- iqn.2026-04.cloud.liulele.iscsi-server:disk1 ............... [TPGs: 1]
o- tpg1 ......................................... [no-gen-acls, no-auth]
o- acls ..................................................... [ACLs: 0]
o- luns ..................................................... [LUNs: 0]
o- portals ............................................... [Portals: 1]
o- 0.0.0.0:3260 ................................................. [OK]
当前状态总结:
-
iscsi 根目录 Targets:1:
当前一共创建了 1 个 iSCSI 目标(Target)
-
iqn.2026-04.cloud.liulele.iscsi-server:disk1
iSCSI Target 唯一标识(IQN 名称)
客户端存储发现、连接时,需要填写这一串名称。
-
tpg1:一个 Target 可以有多个 TPG 组,这里只有 tpg1。
标记
[no-gen-acls, no-auth]:no-gen-acls:不会自动生成 ACL 访问策略,必须手动添加客户端白名单。no-auth:未开启 CHAP 账号密码认证。
-
acls ACLs:0:
ACL = 客户端 IQN 白名单(访问控制列表)
ACLs:0 → 还没有添加允许接入的客户端
规则:默认拒绝所有客户端,不添加白名单就算客户端能连通 3260 端口也登录失败。
-
luns LUNs:0 :重点
LUN 作用:将后端磁盘 backstores 映射给这个 Target 对外共享
LUNs:0 → 没有把硬盘 / 分区挂载进来
哪怕客户端成功登录 target,看不到任何共享磁盘。
对应流程:创建 Target 之后,绑定 LUN 这一步尚未执行。
-
portals Portals:1:
Portal = 监听地址 + 端口(对外访问入口)
0.0.0.0:3260 0.0.0.0:服务器本机所有网卡监听
3260:iSCSI 标准端口
OK:监听正常,端口已就绪
✅ 当前状态总结
✅ Target(iqn 名称)已创建
✅ Portal 监听 0.0.0.0:3260 正常
-
❌缺少两大核心配置:
① 未绑定 LUN;
② 未配置 ACL。
配置 LUN
bash
# 把后端存储 `myblock1`(即 `/dev/sdb`)绑定成 LUN
/iscsi> cd /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk1/tpg1/luns
/iscsi/iqn.20...sk1/tpg1/luns> create /backstores/block/myblock1
Created LUN 0.
配置 ACL
创建 ACL 以允许客户端启动程序访问目标。客户端的 IQN 存储在 ==/etc/iscsi/initiatorname.iscsi==文件中。
bash
/iscsi/iqn.20...sk1/tpg1/luns> cd /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk1/tpg1/acls
/iscsi/iqn.20...sk1/tpg1/acls> create iqn.2026-04.cloud.liulele.iscsi-client
Created Node ACL for iqn.2026-04.cloud.liulele.iscsi-client
Created mapped LUN 0.
配置 Portal
删除默认的 0.0.0.0:3260 (随便本机哪个IP都能连接)
新建指定 IP 10.1.8.10:3260(只允许通过本机10.1.8.10这个网卡连接iscsi共享)
bash
/iscsi/iqn.20...sk1/tpg1/acls> cd /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk1/tpg1/portals
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 10.1.8.10 3260
using default IP port 3260
Created network portal 10.1.8.10:3260.
保存配置
退出 targetcli shell 时,配置自动保存到 /etc/target/saveconfig.json:
bash
/iscsi/iqn.20.../tpg1/portals> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
最终结果如下:

非交互式管理 Targets(继续)
bash
# 创建block后端存储myblock2,底层使用磁盘/dev/sdc
[root@iscsi-server ~]# targetcli /backstores/block create myblock2 /dev/sdc
Created block storage object myblock2 using /dev/sdc.
# 创建新的iSCSI target,IQN名称:iqn.2026-04.cloud.liulele.iscsi-server:disk2
# 自动生成tpg1门户组;提示:不会自动创建默认portal,多个target不能共用同一IP:3260
[root@iscsi-server ~]# targetcli /iscsi create iqn.2026-04.cloud.liulele.iscsi-server:disk2
Created target iqn.2026-04.cloud.liulele.iscsi-server:disk2.
Created TPG 1.
Default portal not created, TPGs within a target cannot share ip:port.
# 将后端存储myblock2映射为此target的LUN0
[root@iscsi-server ~]# targetcli /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk2/tpg1/luns create /backstores/block/myblock2
Created LUN 0.
# 创建ACL访问控制,允许IQN为iqn.2026-04.cloud.liulele.iscsi-client的客户端接入,自动生成mapped_lun0
[root@iscsi-server ~]# targetcli /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk2/tpg1/acls create iqn.2026-04.cloud.liulele.iscsi-client
Created Node ACL for iqn.2026-04.cloud.liulele.iscsi-client
Created mapped LUN 0.
# 删除默认0.0.0.0:3260门户,报错:本target下不存在该portal
# 提示:本target没有自动生成0.0.0.0:3260,所以删除命令报错,属于正常现象
[root@iscsi-server ~]# targetcli /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk2/tpg1/portals delete 0.0.0.0 3260
[root@iscsi-server ~]# targetcli /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk2/tpg1/portals delete 0.0.0.0 3260
No such NetworkPortal in configfs: /sys/kernel/config/target/iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk2/tpg1/np/0.0.0.0:3260
# 手动创建portal门户,绑定本机业务IP 10.1.8.10,端口3260,对外提供iSCSI服务
[root@iscsi-server ~]# targetcli /iscsi/iqn.2026-04.cloud.liulele.iscsi-server:disk2/tpg1/portals create 10.1.8.10 3260
using default IP port 3260
Created network portal 10.1.8.10:3260.
# saveconfig:保存targetcli全部配置到磁盘文件,重启服务器iSCSI配置不丢失
# 配置文件路径:/etc/target/saveconfig.json;自动备份存放在/etc/target/backup/
[root@iscsi-server ~]# targetcli saveconfig
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json
提示:与交互式使用
targetcli不同,命令行模式必须显式运行saveconfig子命令以保存配置。
显示的最终结果:

访问 iSCSI 存储
iSCSI 启动器通常以软件方式实现。使用基于软件的 iSCSI 启动器需要连接到具有足够带宽的现有以太网网络,以承载存储流量。您也可以使用硬件启动器(HBA),减轻系统资源负担。
准备系统
配置 iSCSI 客户端启动程序需要安装 iscsi-initiator-utils 软件包,包括 iscsi 和 iscsid 服务以及 /etc/iscsi/iscsid.conf 和 /etc/iscsi/initiatorname.iscsi 配置文件。
bash
[root@iscsi-client ~]# yum install -y iscsi-initiator-utils
作为iSCSI启动器,客户端需要其自己的唯一iSCSI合格名称(IQN)。在安装iscsi-initiator-utils的过程 中,该软件包生成唯一的IQN,并存储到/etc/iscsi/initiatorname.iscsi文件中。 管理员通常需要更改该 名称。
bash
[root@iscsi-client ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2026-04.cloud.laogao.iscsi-client
**/etc/iscsi/iscsid.conf**文件包含您连接的目标的默认设置,包括超时、重试以及身份验证参数。修改配置文件后,需重启 iscsid 服务。
软件包安装会自动配置iscsid服务,以便启动器在系统启动时自动重新连接到任何已发现的目标。 每当 您修改启动程序的配置文件时,请重新启动iscsid服务
连接 iSCSI 目标
在使用远程设备之前,首先需要发现目标。发现过程使用 /etc/iscsi/iscsi.conf 中的配置将目标信息和设置存储在 /var/lib/iscsi/nodes/ 目录中。
使用以下命令执行远程目标的发现:
bash
# iscsiadm -m discovery -t st -p portal_ip[:port]
参数说明:
portal_ip:目标门户的 IP 地址。- 如果未指定
port,默认使用端口 3260。
bash
# -m :操作模式 node,代表操作已经发现保存下来的 target 节点
#-t st: type sendtargets,iSCSI 标准发现类型
#-p:protal
[root@iscsi-client ~]# iscsiadm -m discovery -t st -p 10.1.8.10
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk1
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk2
要使用列出的目标之一,请使用以下命令登录到该目标:
bash
# iscsiadm -m node -T Target -p portal_ip[:port] -l
bash
# -m :操作模式 node,代表操作已经发现保存下来的 target 节点
#-T :指定 target 的 IQN 名称(服务端的 iqn)
#-l:login登录 iSCSI 存储
[root@iscsi-client ~]# iscsiadm -m discovery -t st -p 10.1.8.10
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk1
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk2
此时,系统将检测到新的 SCSI 块设备,就好像它是本地连接的硬盘驱动器一样。您可以使用 lsblk 查看新设备:
bash
[root@iscsi-client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 199G 0 part
│ ├─centos-root 253:0 0 50G 0 lvm /
│ ├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
│ └─centos-home 253:2 0 141.1G 0 lvm /home
sdb 8:16 0 20G 0 disk
查看当前 iSCSI 登录会话信息(打印级别 3):
bash
#-m:操作模式 session,查看已经建立好的 iSCSI 会话(已经登录成功的连接)
# -P 3:print,打印详细级别,3 代表最高详细输出
[root@iscsi-client ~]# iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 6.2.0.874-22
Target: iqn.2026-04.cloud.liulele.iscsi-server:disk1 (non-flash)
Current Portal: 10.1.8.10:3260,1
Persistent Portal: 10.1.8.10:3260,1
Interface:
Iface Name: default
Iface Transport: tcp
Iface Initiatorname: iqn.2026-04.cloud.liulele.iscsi-client
Iface IPaddress: 10.1.8.11
Iface HWaddress: <empty>
Iface Netdev: <empty>
SID: 1
iSCSI Connection State: LOGGED IN
iSCSI Session State: LOGGED_IN
Internal iscsid Session State: NO CHANGE
Timeouts:
Recovery Timeout: 120
Target Reset Timeout: 30
LUN Reset Timeout: 30
Abort Timeout: 15
CHAP:
username: <empty>
password: <empty>
username_in: <empty>
password_in: <empty>
Negotiated iSCSI params:
HeaderDigest: None
DataDigest: None
MaxRecvDataSegmentLength: 262144
MaxXmitDataSegmentLength: 262144
FirstBurstLength: 65536
MaxBurstLength: 262144
ImmediateData: Yes
InitialR2T: Yes
MaxOutstandingR2T: 1
Attached SCSI devices:
Host Number: 3 State: running
scsi3 Channel 00 Id 0 Lun: 0
Attached scsi disk sdb State: running
或者,您可以查看 dmesg、tail /var/log/messages 或 ls -l /dev/disk/by-path/*iscsi* 的输出。登录过程在重新启动后将保持不变,块设备将自动可用。
格式化iscsi设备
如果发现的块设备已经具有分区,文件系统或LVM卷,则可以使用常规命令(如mount)访问该数据。 您可以使用lsblk --fs命令检查设备。
bash
[root@iscsi-client ~]# blkid
/dev/sda1: UUID="5fc475dd-3212-46e8-b923-cbbc61cac3ee" TYPE="xfs"
/dev/sda2: UUID="erxTvj-r4BZ-5vxe-61w1-k1gv-wgGm-qYTZYc" TYPE="LVM2_member"
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="21306770-85c2-4c92-8692-0a2ca78922a8" TYPE="xfs"
/dev/mapper/centos-swap: UUID="ff509751-eabd-4b34-ac22-9d65cea06ef1" TYPE="swap"
/dev/mapper/centos-home: UUID="0a51daf5-8540-49f8-ad82-c732d9cbbd45" TYPE="xfs"
多个启动程序同时从同一目标安装同一文件系统,会导致文件系统损坏或尝试读取数据时出现不一致。
本地文件系统(例如ext4或XFS)不支持从多个系统并发安装。如果需要允许从多个系统同时访问基于 iSCSI的块设备,请使用群集文件系统(例如GFS2)
如果磁盘为空,则可以对其进行格式化,创建分区或将其用作LVM物理卷。
bash
# 假设客户端发现的设备名称是/dev/sdb
[root@iscsi-client ~]# mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@iscsi-client ~]# blkid /dev/sdb
/dev/sdb: UUID="0461e240-7743-47fe-876b-6df8b8e7ebf8" TYPE="xfs"
/dev/sda2: UUID="eRXTvj-r4BZ-5Vxe-61w1-Klgv-WgGm-qYTZYc" TYPE="LVM2_member"
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660"
PTTYPE="dos"
/dev/mapper/centos-root: UUID="21306770-85c2-4c92-8692-0a2ca78922a8" TYPE="xfs"
/dev/mapper/centos-swap: UUID="ff509751-eabd-4b34-ac22-9d65cea06ef1" TYPE="swap"
/dev/mapper/centos-home: UUID="0a51daf5-8540-49f8-ad82-c732d9cbbd45" TYPE="xfs"
/dev/sdb: UUID="0461e240-7743-47fe-876b-6df8b8e7ebf8" TYPE="xfs"
# 挂载测试
[root@iscsi-client ~]# mkdir /sdb
[root@iscsi-client ~]# mount /dev/sdb /sdb
[root@iscsi-client ~]# echo xixihaha > /sdb/test
[root@iscsi-client ~]# cat /sdb/test
xixihaha
[root@iscsi-client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 199G 0 part
│ ├─centos-root 253:0 0 50G 0 lvm /
│ ├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
│ └─centos-home 253:2 0 141.1G 0 lvm /home
sdb 8:16 0 20G 0 disk /sdb
sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64
持久化挂载
在 /etc/fstab 中持久挂载 iSCSI 目标时,请遵循以下建议:
- 使用文件系统 UUID 挂载,不要使用设备名称(
/dev/sd*),因为设备名称可能变化。 - 使用
_netdev挂载选项,确保网络和启动器启动后才会尝试挂载。
示例:
bash
[root@iscsi-client ~]# vim /etc/fstab
UUID="0461e240-7743-47fe-876b-6df8b8e7ebf8" /sdb xfs defaults,_netdev 0 0
确保 iscsi 服务开机自动启动(默认已启用):
bash
[root@iscsi-client ~]# systemctl enable iscsi
重启观察现象
bash
[root@iscsi-client ~]# reboot
[root@iscsi-client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 199G 0 part
│ ├─centos-root 253:0 0 50G 0 lvm /
│ ├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
│ └─centos-home 253:2 0 141.1G 0 lvm /home
sdb 8:16 0 20G 0 disk /sdb
sdc 8:32 0 20G 0 disk
断开目标连接
停止使用 iSCSI 目标:
- 确保没有使用目标提供的任何设备(例如卸载文件系统)。
- 从
/etc/fstab等位置删除对目标的所有持久引用。 - 从 iSCSI 目标注销。
bash
[root@iscsi-client ~]# umount /sdb
[root@iscsi-client ~]# iscsiadm -m node -T iqn.2026-04.cloud.liulele.iscsi-server:disk1 -p 10.1.8.10:3260 -u
Logging out of session [sid: 1, target: iqn.2026-04.cloud.liulele.iscsi-server:disk1, portal: 10.1.8.10,3260]
Logout of [sid: 1, target: iqn.2026-04.cloud.liulele.iscsi-server:disk1, portal: 10.1.8.10,3260] successful.
[root@iscsi-client ~]# iscsiadm -m session
tcp: [2] 10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk2 (non-flash)
[root@iscsi-client ~]# iscsiadm -m node
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk1
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk2
故障处理
如果发现成功但登录失败,问题很可能与访问控制或身份验证有关。客户端上的 IQN 与服务器上的 IQN 不匹配会导致目标登录失败。
修复客户端的 /etc/iscsi/initiatorname.iscsi 文件中的 IQN,然后重启 iscsid 服务:
bash
[root@iscsi-client ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2026-04.cloud.liulele.iscsi-client
[root@iscsi-client ~]# systemctl restart iscsid
# 重新发现
[root@iscsi-client ~]# iscsiadm -m discovery -t st -p 10.1.8.10
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk1
10.1.8.10:3260,1 iqn.2026-04.cloud.liulele.iscsi-server:disk2
# 重新登录
[root@iscsi-client ~]# iscsiadm -m node -T iqn.2026-04.cloud.liulele.iscsi-server:disk1 -l
Logging in to [iface: default, target: iqn.2026-04.cloud.liulele.iscsi-server:disk1, portal: 10.1.8.10,3260] (multiple)
Login to [iface: default, target: iqn.2026-04.cloud.liulele.iscsi-server:disk1, portal: 10.1.8.10,3260] successful.