ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Linux入门之搭建NFS服务器与iSCSI服务器

Linux入门之搭建NFS服务器与iSCSI服务器 NFS 服务器NFS 服务介绍在计算机网络存储领域NFSNetwork File System网络文件系统是一种实现不同计算机之间文件共享的经典技术。它允许网络中的客户端计算机像访问本地文件一样透明地访问远程服务器上的文件资源极大地简化了跨设备的数据共享与管理流程。NFS 的起源与发展NFS 技术诞生于 20 世纪 80 年代由太阳微系统公司Sun Microsystems率先开发。最初的设计目标是解决 UNIX 系统之间的文件共享问题凭借其简洁的架构和良好的跨平台性迅速成为网络文件共享的主流标准之一。随着技术的演进NFS 经历了多个版本的迭代。其中NFSv3 是应用最为广泛的版本之一它在早期版本的基础上增强了性能和可靠性支持更大的文件尺寸和更多的功能。而 NFSv4 则是较新的版本引入了更强的安全性如支持 Kerberos 认证、状态化连接以及更完善的文件锁机制进一步提升了 NFS 在复杂网络环境中的适用性。NFS 的核心架构NFS 采用客户端 - 服务器Client-Server架构主要由两部分组成NFS 服务器负责存储文件资源并通过 NFS 协议将这些资源共享给授权的客户端。服务器上运行着 NFS 守护进程用于监听客户端的请求、处理文件访问操作以及维护共享目录的权限控制。NFS 客户端通过 NFS 协议访问服务器上的共享文件。客户端需要挂载Mount服务器的共享目录到本地文件系统之后就可以像操作本地文件一样对远程文件进行读写、创建、删除等操作。NFS 的工作流程基于远程过程调用RPCRemote Procedure Call机制具体过程如下注册阶段NFS服务端启动服务时向RPC服务注册服务端口。建立连接阶段客户端向RPC服务器查询NFS服务器服务端口然后再向NFS 服务器的服务端口发起挂载请求。挂载阶段服务器验证客户端的身份和权限如果通过验证则允许客户端将共享目录挂载到本地指定的挂载点。文件访问阶段挂载成功后客户端对远程文件的操作如读取、写入会通过 RPC 协议转换为对服务器的远程过程调用。服务器接收到请求后执行相应的文件操作并将结果返回给客户端。权限控制NFS 通过文件系统的权限机制如 UNIX 的用户 ID 和组 ID来控制客户端对文件的访问。服务器会根据客户端的身份以及共享目录的权限设置决定是否允许客户端的操作。NFS 的优缺点优点透明性客户端访问远程文件的方式与访问本地文件几乎一致用户无需关注文件的实际存储位置降低了使用复杂度。跨平台性NFS 支持多种操作系统如 UNIX、Linux、macOS 等能够实现不同操作系统之间的文件共享。高效性通过优化的数据传输机制和缓存策略NFS 能够提供较高的文件访问性能满足多数网络环境下的文件共享需求。易于管理NFS 的配置相对简单管理员可以通过修改配置文件轻松设置共享目录、访问权限等便于集中管理网络中的文件资源。缺点安全性较弱早期版本NFSv3 及之前的版本在安全性方面存在不足缺乏强大的身份认证和数据加密机制容易受到网络监听、身份伪造等攻击。虽然 NFSv4 引入了更多安全特性但在一些对安全性要求极高的场景中仍需配合其他安全措施如 VPN、防火墙使用。对网络依赖性强NFS 的性能和可用性高度依赖网络状况网络延迟、丢包等问题会直接影响文件访问的速度和稳定性。文件锁机制复杂在多客户端同时访问同一文件时NFS 的文件锁机制相对复杂处理不当可能导致数据不一致的问题。NFS 的典型应用场景企业内部文件共享在企业局域网中NFS 可以用于共享办公文档、软件安装包等资源方便员工在不同的计算机上访问和协作。服务器集群存储在 Web 服务器集群、数据库集群等场景中NFS 可以为集群中的所有节点提供统一的共享存储确保各节点访问的数据一致性。嵌入式系统在一些嵌入式设备如网络存储设备、路由器等中NFS 可以作为简单的文件共享解决方案实现设备与外部计算机的数据交互。总结总之NFS 作为一种成熟的网络文件共享技术凭借其简洁、高效、跨平台等优势在各类网络环境中得到了广泛应用。尽管存在一些局限性但通过版本迭代和与其他技术的结合NFS 仍然在网络存储领域发挥着重要作用。NFS 服务最佳实践部署服务NFS服务由nfs-utils软件包提供。# 安装软件包[rootstorage ~]# yum install -y nfs-utils# 准备用户[rootstorage ~]# useradd -u 1000 zgy[rootstorage ~]# echo redhat | passwd --stdin zgy# 准备共享目录[rootstorage ~]# mkdir -p /shares/webapp[rootstorage ~]# chown 48 /shares/webapp# apache 账户ID是48# 启用并启动服务[rootstorage ~]# systemctl enable nfs-server --now# 配置防火墙[rootstorage ~]# firewall-cmd --permanent --add-servicenfs --add-servicerpc-bind --add-servicemountd[rootstorage ~]# firewall-cmd --reload配置 NFS 导出NFS服务器主要配置文件是/etc/exports目录/etc/exports.d中任何以.exports结尾且不以点.开头的文件也会生效。 所有这些文件都使用相同的语法。提示与编辑文件/etc/exports本身相比在/etc/exports.d中创建或删除文件可能更容易并且它可以减少一系列相关配置更改意外破坏现有导出的风险。配置文件中每一行都声明一个导出点。 第一个字段是要导出到客户端的目录的名称。 该行的其余部分列出了可以访问共享目录的客户端系统以及授予它们的访问权限。提示NFS不要使用SMB共享的目录。 如果这样做则可能会导致文件损坏或其他文件完整性或一致性问题。配置示例可解析DNS的主机名例如client.zgy.cloud。 在以下示例中client.zgy.cloud系统可以挂载/shares/webapp目录。/shares/webapp client.zgy.cloudDNS解析的主机名带*通配符。 以下示例允许zgy.cloud域中的所有系统访问NFS共享。/shares/webapp *.zgy.cloudIPv4地址。 以下示例允许从10.1.8.12 IP地址访问NFS共享。/shares/webapp 10.1.8.11IPv4网络。 以下示例允许从10.1.8.0/24网络访问NFS共享。 您也可以使用10.1.8.0/255.255.255.0 表示法。/shares/webapp 10.1.8.0/24 /shares/webapp 10.1.8.0/255.255.255.0IPv6地址。 以下示例允许具有fde2:6494:1e09:2::20 IPv6地址的客户端系统访问NFS共享。/shares/webapp fde2:6494:1e09:2::20IPv6网络。 以下示例允许fde2:6494:1e09:2::/64 IPv6网络访问NFS共享。/shares/webapp fde2:6494:1e09:2::/64要与多个客户机系统共享目录请在目录名称后使用以空格分隔的列表/shares/webapp 10.1.8.0/24 client.zgy.cloud *.example.net默认情况下目录以只读模式与客户端共享。 在每个客户定义之后您可以立即在括号中指定导出选项以覆盖默认值。客户端定义的末尾和左括号之间必须没有空格。常用的选项rw此选项允许对指定客户端进行读/写访问。 如果没有该选项或者如果您使用ro代替则NFS仅授予读取访问权限。 在以下示例中client.zgy.cloud具有读/写访问权限而client2.zgy.cloud具有只读访问权限。/shares/webapp client.zgy.cloud(rw) client2.zgy.cloudno_root_squash默认情况下当客户机上的root用户访问NFS导出时服务器会将其视为nobody用户在服务器上定义的访问。 这意味着如果客户端上的root用户在导出文件上创建了文件则该文件将归用户nobody所有。 这也意味着如果客户机上的root用户尝试读取导出文件而该文件是没人能读取的用户则访问将失败。 您可以通过添加no_root_squash选项来禁用该安全保护。以下示例允许client.zgy.cloud系统具有对/shares/webapp导出目录的读/写访问权限和实际root用户访问权限。/shares/webapp client.zgy.cloud(rw,no_root_squash)我们使用以下记录:[rootstorage ~]# vim /etc/exports/shares/webapp10.1.8.0/24(rw)每当您在/etc/exports或/etc/exports.d/*.exports中更改导出点时请对NFS服务运行exportfs -r命令确保更改生效或者运行systemctl reload nfs-server。[rootstorage ~]# exportfs -r# 或者[rootstorage ~]# systemctl reload nfs-server# 或者[rootstorage ~]# exportfs -av监视 NFS 导出使用exportfs命令列出NFS服务器当前导出的目录。[rootstorage ~]# exportfs/shares/webapp10.1.8.0/24默认情况下该命令不显示导出选项。 使用-v选项列出这些选项包括缺省选项。[rootstorage ~]# exportfs -v/shares/webapp10.1.8.0/24(sync,...,rw,secure,no_root_squash,...)客户端挂载# 安装软件包[rootclient ~]# yum install -y nfs-utils httpd[rootclient ~]# id apacheuid48(apache)gid48(apache)组48(apache)[rootclient ~]# systemctl enable httpd --now# 查看服务端提供的共享[rootclient ~]# showmount -e storageExport listforstorage: /shares/webapp10.1.8.0/24# 挂载[rootclient ~]# mkdir /var/www/html[rootclient ~]# mount -t nfs storage:/shares/webapp /var/www/html# root用户不能创建[rootclient ~]# touch /var/www/html/root-f1touch: cannottouch‘/var/www/html/root-f1’: Permission denied# apache 用户能创建[rootclient ~]# su -l -s /bin/bash apache-bash-4.2$echoapache website/var/www/html/web1.html访问测试[rootstorage ~]# curl http://10.1.8.11/Welcome to zgy website.[rootstorage ~]# curl http://10.1.8.11/web1.htmlapache website持久化挂载修改 /etc/fstab最后添加如下记录storage:/shares/webapp /var/www/html nfs defaults 0 0iSCSI 服务器iSCSI 服务介绍SCSISmall Computer System Interface小型计算机系统接口一种用于计算机和智能设备之间硬盘、软驱、光驱、打印机、扫描仪等连接标准。iSCSIInternet Small Computer System InterfaceInternet 小型计算机系统接口)又称为IP-SAN是IBM公司研究开发的IP SAN技术该技术是将现有SCSI接口与以太网络(Ethernet)技术结合基于TCP/IP的协议连接iSCSI服务端Target和客户端(Initiator)使得封装后的SCSI数据包可以在互联网传输最终实现iSCSI服务端提供存储给客户端。通常iSCSI使用专用的10 Gb以太网或更好的网络以最大程度地提高性能。从物理服务器到存储的电缆通常封闭在数据中心内并且理想情况下不直接连接到LAN网络所以SAN流量通常不加密以最大程度地提高性能。 为了实现WAN安全iSCSI管理员可以使用IPsec加密流量。iSCSI 架构iSCSI服务是C/S架构。访问的iSCSI目标在客户端系统上显示为本地且未格式化的SCSI快设备等同于通过SCSI布线、FC直连或FC交换光线连接的设备。InitiatoriSCSI客户端通常以软件方式部署也可以使用iSCSI Host Bus Adapters (HBAs) HBA硬件。Initiator必须具有唯一的名称请参见IQN。TargetiSCSI服务器上的iSCSI存储资源。 Target必须具有唯一的名称请参见IQN。 每个目标都提供一个或多个块设备或逻辑单元LUN-logical units。 在大多数情况下Target只提供一个设备但一台服务器可以提供多个目标。IQNiSCSI Qualified Name全球唯一的名称用于标识发起者和目标。 IQN具有以下格式bash iqn.YYYY-MM.com.reversed.domain:name_stringYYYY-MM年和月。示例2020年6月为2020-06。该日期有助于确保IQN唯一性。com.reversed.domain反向域名。 例如storage.redhat.fun的反向域名为cloud.laoma.www。name_string用于标识您管理的特定目标。 如果服务器只具有一个目标则有时会省略此名称。Portal指定服务器监听的地址和端口例如172.25.250.50:3260。LUNLogical Unit Number代表Target提供的块设备。 每个目标可以提供一个或多个LUN。ACLAccess Control List使用Initiator的IQN限制客户端访问Target。TPGTarget Portal Group是目标的完整配置包括PortalLUN和ACL。 几乎所有目标都使用一个TPG但是高级配置有时可能会定义多个TPG。discovery查询服务器上有Target列表。login向Target验证验证通过后即可以使用Target服务器提供的块设备。配置 iSCSI Targets配置 iSCSI Targets需要安装以下软件targetd服务端软件。targetclitargetd服务配置工具。# 安装软件[rootstorage ~]# yum install -y targetd targetcli# 启用并启动服务[rootstorage ~]# systemctl enable target --now# 配置防火墙[rootstorage ~]# firewall-cmd --permanent --add-serviceiscsi-target[rootstorage ~]# firewall-cmd --reload当您不带任何选项运行targetcli时该命令将进入交互模式。在以下示例中使用ls命令显示当前布局。[rootstorage ~]# targetclitargetcli shell version2.1.fb49 Copyright2011-2013 by Datera, Inc and others. Forhelpon commands,typehelp./lso- /.................................................................[...]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命令。 该命令的行为取决于您在配置树中的当前位置。示例/cd/backstores/block /backstores/blockcreate myblock1 /dev/sdb Created block storage object myblock1 using /dev/sdb.等同于//backstores/block create myblock1 /dev/sdb Created block storage object myblock1 using /dev/sdb.配置 Target IQN在/iscsi伪目录中创建IQN将您选择的IQN名称作为其第一个参数。/cd/iscsi /iscsicreate iqn.2026-09.cloud.zgy.storage:disk1 Created target iqn.2026-09.cloud.zgy.storage:disk1. Created TPG1. Global prefauto_add_default_portaltrue Created default portal listening on all IPs(0.0.0.0), port3260. /iscsilso- iscsi......................................................[Targets:1]o- iqn.2026-09.cloud.zgy.storage: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]配置 LUN/cd/iscsi/iqn.2026-09.cloud.zgy.storage:disk1/tpg1/luns /iscsi/iqn.20...sk1/tpg1/lunscreate /backstores/block/myblock1 Created LUN0.配置 ACL创建ACL以允许客户端启动程序访问目标。在Red Hat Enterprise Linux上启动器的IQN存储在/etc/iscsi/initiatorname.iscsi文件中。/cd/iscsi/iqn.2026-09.cloud.zgy.storage:disk1/tpg1/acls /iscsi/iqn.20...sk1/tpg1/aclscreate iqn.2026-09.cloud.zgy.client Created Node ACLforiqn.2026-09.cloud.zgy.client Created mapped LUN0.配置 Portal/cd/iscsi/iqn.2026-09.cloud.zgy.storage:disk1/tpg1/portals/ /iscsi/iqn.20.../tpg1/portalsdelete0.0.0.03260Deleted network portal0.0.0.0:3260 /iscsi/iqn.20.../tpg1/portalscreate10.1.8.103260Using default IP port3260Created network portal10.1.8.10:3260.保存配置退出targetcli shell时该命令将配置保存在/etc/target/saveconfig.json文件中。/exitGlobal prefauto_save_on_exittrue Configuration saved to /etc/target/saveconfig.json非交互式管理 Targets[rootstorage ~]# targetcli /backstores/block create myblock1 /dev/sdbCreated block storage object myblock1 using /dev/sdb.[rootstorage ~]# targetcli /iscsi create iqn.202-09.cloud.zgy.storage:disk1Created target iqn.2026-09.cloud.zgy.storage:disk1. Created TPG1. Global prefauto_add_default_portaltrue Created default portal listening on all IPs(0.0.0.0), port3260.[rootstorage ~]# targetcli /iscsi/iqn.2026-09.cloud.zgy.storage:disk1/tpg1/luns \create /backstores/block/myblock1 Created LUN0.[rootstorage ~]# targetcli /iscsi/iqn.2026-09.cloud.zgy.storage:disk1/tpg1/acls \create iqn.2026-09.cloud.zgy.client Created Node ACLforiqn.2026-09.cloud.zgy.client Created mapped LUN0.[rootstorage ~]# targetcli /iscsi/iqn.2026-09.cloud.zgy.storage:disk1/tpg1/portals \delete0.0.0.03260Deleted network portal0.0.0.0:3260[rootstorage ~]# targetcli /iscsi/iqn.2026-09.cloud.zgy.storage:disk1/tpg1/portals \create10.1.8.103260Using default IP port3260Created network portal172.25.250.10:3260.[rootstorage ~]# targetcli saveconfigConfiguration 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配置文件。[rootclient ~]# yum install -y iscsi-initiator-utils作为iSCSI启动器客户端需要其自己的唯一iSCSI合格名称IQN。在安装iscsi-initiator-utils的过程中该软件包生成唯一的IQN并存储到/etc/iscsi/initiatorname.iscsi文件中。 管理员通常需要更改该名称。[rootclient ~]# vim /etc/iscsi/initiatorname.iscsiInitiatorNameiqn.2026-09.cloud.zgy.client/etc/iscsi/iscsid.conf文件包含您连接的目标的默认设置。 这些设置包括iSCSI超时重试以及用于身份验证的用户名和密码参数。软件包安装会自动配置iscsid服务以便启动器在系统启动时自动重新连接到任何已发现的目标。 每当您修改启动程序的配置文件时请重新启动iscsid服务。连接 iSCSI 目标在使用远程设备之前首先需要发现目标。 发现过程使用/etc/iscsi/iscsid.conf中的配置将目标信息和设置存储在/var/lib/iscsi/nodes/目录中。您可以使用以下命令执行远程目标的发现[rootclient ~]# iscsiadm -m discovery -t st -p portal_ip[:port]参数说明portal_ip参数是目标门户的IP地址。如果未指定port参数它将使用默认端口3260。示例[rootclient ~]# iscsiadm -m discovery -t st -p storage10.1.8.10:3260,1 iqn.2026-09.cloud.zgy.storage:disk1要使用列出的目标之一请使用以下命令登录到该目标[rootclient ~]# iscsiadm -m node -T Target -p portal_ip[:port] -l示例[rootclient ~]# iscsiadm -m node -T iqn.2026-09.cloud.zgy.storage:disk1 -lLogginginto[iface: default, target: iqn.2026-09.cloud.zgy.storage:disk1, portal:10.1.8.10,3260]Login to[iface: default, target: iqn.2026-09.cloud.zgy.storage:disk1, portal:10.1.8.10,3260]successful.此时系统将检测到新的SCSI块设备就好像它是本地连接的硬盘驱动器一样。 您可以使用以下命令查看新设备该命令以打印级别3显示有关当前iSCSI登录会话的信息。[rootclient ~]# iscsiadm -m session -P 3iSCSI Transport Class version2.0-870 version6.2.0.877-0 Target: iqn.2026-09.cloud.zgy.storage:disk1(non-flash)Current Portal:10.1.8.10:3260,1...output omitted... Attached scsi disk sdc State: running或者您可以查看dmesgtail /var/log/messages或ls -l /dev/disk/by-path/*iscsi*命令的输出。 该登录过程在重新启动后将保持不变。 因此启动后块设备将自动可用。格式化 iSCSI 设备如果发现的块设备已经具有分区文件系统或LVM卷则可以使用常规命令如mount访问该数据。 您可以使用lsblk --fs命令检查设备。[rootclient ~]# blkidNAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs f7614c41-2835-4125-bb13-50772dc2f30c /boot ├─sda2 swap 78a5f1eb-a593-4db3-b15a-f49042e182a2[SWAP]└─sda3 xsf ac2790c4-cfbb-409e-88a9-fe8c963fcd00 / sdb LVM2_member 4ALe1y-oEXe-XLer-PjYW-n5ud-Ryko-XZZ2PM ├─dbdata-log ext4 bd566c1f-01a1-404d-8f01-9495004f327c /data/db/log └─dbdata-data ext4 5640b4ae-5868-4bf5-8715-51fc18d8656b /data/db/data sdc多个启动程序同时从同一目标安装同一文件系统会导致文件系统损坏或尝试读取数据时出现不一致。本地文件系统例如ext4或XFS不支持从多个系统并发安装。如果需要允许从多个系统同时访问基于iSCSI的块设备请使用群集文件系统例如GFS2。如果磁盘为空则可以对其进行格式化创建分区或将其用作LVM物理卷。# 假设客户端发现的设备名称是/dev/sdb[rootclient ~]# mkfs.xfs /dev/sdb持久化挂载在/etc/fstab中的iSCSI目标上持久地挂载文件系统时请确保遵循以下建议使用文件系统UUID挂载。 不要使用设备名称/dev/sd*。 设备的名称取决于 iSCSI 设备通过网络响应的顺序因此设备名称可能会在引导之后更改。如果在 /etc/fstab 中使用设备名称则系统可能会将设备挂载在错误的挂载点下。在/etc/fstab中使用_netdev挂载选项。 因为iSCSI依赖网络访问远程设备所以此选项可确保在网络和启动器启动之前系统不会尝试挂载文件系统。示例UUID3d49d1dd-8209-43a1-a106-4de328762e00/data xfs defaults,_netdev00还需要确保服务iscsi开机自动启动该服务默认是开机自动启动的。[rootclient ~]# systemctl enable iscsiiscsi 和 iscsid 服务1. iscsid.service作用iSCSI 会话管理守护进程和内核 iSCSI initiator 模块通信维护 TCP 会话、心跳保活、网络故障重连处理 CHAP 认证、IO 超时、会话异常恢复iscsiadm命令本质是和 iscsid 通信所有登录 / 登出操作都依赖它配置文件/etc/iscsi/iscsid.conf认证、超时参数特点必须运行才能维持 iSCSI 磁盘连接如果停掉 iscsid已存在的 iSCSI 块设备 IO 会异常会话断开。2. iscsi.service作用系统开机阶段执行读取本地数据库自动登录标记为 automatic 的 iSCSI target 节点运行逻辑开机时执行一次完成登录任务就退出典型场景服务器重启后自动连上远程 iSCSI 盘自动生成/dev/sdX块设备如果没有任何自动登录的 targetiscsi.service 启动后会直接退出状态显示success而不是 running3. 依赖关系iscsi 服务启动时会自动登录Target并临时拉起 iscsid 服务完成登录任务就退出。仅设置 iscsid 服务开机自启是无法实现自动挂载 iscsi 设备的。生产环境标准做法两个都enable保证iscsid常驻崩溃可被systemd管理systemctlenable--nowiscsid iscsi断开目标连接要停止使用iSCSI目标请执行以下步骤确保没有使用目标提供的任何设备。 例如卸载文件系统。从/etc/fstab等位置删除对目标的所有持久引用。从iSCSI目标注销。[rootclient ~]# iscsiadm -m node -T iqn.2026-09.cloud.zgy.storage:disk1 \-p10.1.8.10:3260-u删除 iSCSI目标的本地记录以使启动器在引导过程中不会自动登录到目标。[rootclient ~]# iscsiadm -m node -T iqn.2026-09.cloud.zgy.storage:disk1 \-p10.1.8.10:3260-odelete故障处理如果发现成功但是启动器登录到发现的目标时遇到问题则该问题很可能与访问控制或身份验证有关。客户端上的IQN与服务器上的IQN不匹配会导致目标登录失败。可能是客户端上的启动器IQN不正确引起的请在客户端的/etc/iscsi/initiatorname.iscsi文件中修复IQN然后重新启动iscsid服务以使更改生效。[rootclient ~]# vim /etc/iscsi/initiatorname.iscsi# 重启 iscsid 服务释放之前客户端扫描时使用的IQN。[rootclient ~]# systemctl restart iscsid# 重新登录[rootclient ~]# iscsiadm -m node -T iqn.2026-09.cloud.zgy.storage:disk1 -l
返回列表