NFS 服务器与iSCSI 服务器
NFS 服务器与iSCSI 服务器
NFS 服务器
NFS 服务介绍:用来在UNIX&Linux系统间实现磁盘文件共享的一种方法
NFS(Network File System,网络文件系统)是一种让不同计算机之间通过网络共享文件的技术,简单说就是 “把一台电脑的文件夹‘挂’到另一台电脑上,就像用自己的硬盘一样方便”。
为什么要用 NFS?
想象一个办公室场景:
- 服务器上有一个共享文件夹,存着所有人需要的资料;
- 员工的电脑不需要各自复制一份,直接通过网络访问服务器的文件夹,修改后大家能实时看到最新版本;
- 节省存储空间,还能统一管理文件(比如权限控制,谁能看、谁能改)。
NFS 的 “工作套路”
就像借东西的过程:
- 服务器 “摆好东西”:在 NFS 服务器上指定要共享的文件夹(比如
/data/share
),并设置规则(哪些电脑能访问、有什么权限)。 - 客户端 “说要借”:客户端电脑通过命令,把服务器的共享文件夹 “挂载” 到自己的某个目录下(比如
/mnt/nfs
)。 - 直接用就行:之后客户端操作
/mnt/nfs
,就相当于直接操作服务器上的/data/share
,复制、修改、删除文件都和本地文件夹一样。
核心特点
- 简单直接:基于 Linux/Unix 系统原生支持,配置相对简单,适合局域网内快速共享。
- 依赖网络:速度受网络影响,一般在局域网内用(比如公司内部、机房服务器之间),不适合跨公网(慢且不安全)。
- 权限精细:可以设置 “只读”“读写”“只能某个 IP 访问” 等权限,避免乱改文件。
常见应用场景
- 中小型企业内部文件共享(比如部门资料、项目文档);
- 服务器集群之间共享数据(比如 Web 服务器集群共享静态资源);
- 嵌入式设备(比如路由器、智能家居)通过网络访问存储设备。
举个 “接地气” 的例子
NFS 就像办公室的 “公共文件柜”:
- 服务器是文件柜本身,管理员(NFS 配置)规定 “哪个抽屉(文件夹)对哪些人(客户端)开放,能看还是能改”;
- 员工(客户端)不用把文件柜搬回家,只要知道 “文件柜在哪”(服务器 IP),就能直接打开抽屉用里面的文件,用完后文件还在柜子里,其他人也能接着用
- 角色与流程
- 左侧(NFS 客户端):用户进程要访问文件时,若为网络共享文件,先经
RPC服务(portmap)
协商,再通过TCP/IP协议栈
发请求;若是本地文件,直接走本地文件访问
。 - 右侧(NFS 服务器端):收到客户端请求后,
RPC服务(portmap)
负责调度,NFS服务
处理具体文件逻辑(读 / 写等),最终通过本地文件访问
操作服务器实际存储。
- 左侧(NFS 客户端):用户进程要访问文件时,若为网络共享文件,先经
- 核心依赖
RPC(远程过程调用)
是 “沟通桥梁”,让客户端能像调用本地函数一样,远程操作服务器文件;TCP/IP
是网络传输基础,确保请求 / 响应能跨机器传递。
简单说,这张图讲的是:客户端想访问服务器的共享文件时,通过 RPC 约定规则、TCP/IP 传数据,服务器再实际操作本地存储响应 ,实现 “网络上共享文件像用本地文件一样” 的效果。
部署服务
NFS服务由nfs-utils软件包提供,RHEL8默认安装了该软件包。
# 安装软件包
[root@server ~ 10:14:41]# yum install -y nfs-utils# 准备共享目录
[root@server ~ 10:14:41]# mkdir -p /shares/webapp
#设置权限
[root@server ~ 10:15:56]# chown 48:48 /shares/webapp
配置 NFS 导出
NFS 服务器共享目录(导出目录)的配置规则
1. “配置文件放在哪?”
- 主要文件是
/etc/exports
,相当于 “主开关面板”,直接改它能控制共享; - 还可以在
/etc/exports.d
目录里,放以.exports
结尾、文件名不带点开头的文件(比如web.exports
),这些文件也会生效,相当于 “扩展开关面板”。
→ 效果:两种方式选一种(或结合用),都能让 NFS 服务器知道 “哪些目录要共享给别人”。
2. “怎么写配置更安全?”
官方建议:优先用 /etc/exports.d
里的文件,而不是直接改 /etc/exports
。
→ 为啥?
比如你要给多个项目开共享,每个项目单独写一个 .exports
文件(像 blog.exports
给博客、game.exports
给游戏),改某个项目时,其他项目的配置不会被意外搞坏(相当于 “一个项目一个开关,互不影响”)。
3. “配置文件咋写?”
每一行格式:
要共享的目录 客户端1(权限1) 客户端2(权限2)...
- 第一部分:
要共享的目录
→ 比如/data/nfs_share
,就是你想给别人用的 “文件夹路径”; - 第二部分:
客户端+权限
→ 哪些电脑能访问这个文件夹?访问时给啥权限?
4. “千万别瞎搞的坑!”
→ 别把 SMB(Windows 共享、比如 Samba 共享的目录)再用 NFS 共享!
比如你用 Samba 把 /data
给 Windows 共享,又用 NFS 共享同一个 /data
,可能会出现 “文件乱码、内容损坏、数据不一致”(相当于 “一个文件夹同时被两种共享方式‘抢着用’,互相打架”)。
总结(人话版)
想让 NFS 服务器把某个文件夹共享给别人:
- 可以直接改
/etc/exports
,或者在/etc/exports.d
里新建.exports
文件; - 每行写 “要共享的文件夹 + 允许哪些电脑访问 + 给啥权限”;
- 别和 Samba(SMB)共享同一个文件夹,会出问题!
[root@server ~ 10:33:16]# vim /etc/exports
/shares/webapp 10.1.8.0/24(rw)
shares/webapp
:服务器上要共享的具体文件夹路径(“哪个抽屉”);10.1.8.0/24
:允许访问的客户端范围(“哪些人能来”,整个 10.1.8.x 网段的设备);(rw)
:给客户端的权限(“能做啥”,rw=read+write,既可以看里面的文件,也能修改 / 新增 / 删除)。
客户端挂载
# 安装软件包
[root@client ~ 10:31:23]#yum install -y nfs-utils# 挂载
[root@client ~ 10:31:23]#mkdir /var/www/html
[root@client ~ 10:31:23]# mount server:/shares/webapp /var/www/html#启动
[root@client ~ 10:32:48]# systemctl enable httpd --now
1. 角色对应
server:/shares/webapp
:这是 NFS 服务器上的 “共享仓库”,里面存着网站要用的文件(比如网页代码、图片)。/var/www/html
:客户端(比如 Web 服务器)的 “网站货架”,正常情况下,这里放啥文件,网站就显示啥内容。
2. 命令效果:“嫁接仓库到货架”
执行 mount
后,客户端的 /var/www/html
目录 不再是本地文件夹 ,而是直接 “连到服务器的共享仓库”:
- 客户端往
/var/www/html
里放文件 → 实际存到服务器的/shares/webapp
; - 客户端从
/var/www/html
读文件 → 实际从服务器的/shares/webapp
取; - 相当于 “把服务器的仓库,直接当成本地货架用”,两边文件实时同步。
3. 场景类比(开网店)
- 你是 “网店店主”(客户端 Web 服务器),原本自己仓库(
/var/www/html
)囤货; - 现在用 NFS 把 “总公司的共享仓库”(
server:/shares/webapp
)直接挂到自己货架上; - 顾客(用户访问网站)看到的商品,实际是总公司仓库里的货;你新增 / 修改商品,也直接改总公司仓库的内容,所有分店(其他客户端)都能同步看到。
4. 潜在风险(像 “货架连仓库” 的隐患)
- 网络卡了:客户端读文件时,服务器仓库卡了 → 网站加载慢甚至报错(货架取不到仓库的货);
- 权限没配对:服务器仓库权限和客户端货架要求不一致 → 存文件失败(比如仓库只读,货架要写权限);
- 适合场景:适合 “多客户端共享一套网站文件”(比如负载均衡的 Web 集群),但对网络稳定性要求高。
简单说,这条命令就是 “让客户端的网站目录,直接‘嫁接’到服务器的共享文件夹,实现文件实时同步” ,方便多机器共享同一套网站资源
持久化挂载
修改 /etc/fstab,最后添加如下记录:
[root@client ~ 10:49:00]# vim /etc/fstab
server:/shares/webapp /var/www/html nfs defaults 0 0
文件操作验证
- 写入文件测试:在客户端进入
/var/www/html
目录,创建一个测试文件,比如使用touch test.txt
命令创建一个空文件。然后在 NFS 服务器的/shares/webapp
目录下查看是否存在这个test.txt
文件 。如果存在,说明客户端对挂载目录的写入操作是正常的。 - 读取文件测试:在 NFS 服务器的
/shares/webapp
目录下放入一个已知内容的文件,比如sample.txt
。然后在客户端进入/var/www/html
目录,使用cat sample.txt
命令读取文件内容 ,如果能正确显示文件内容,说明读取操作正常。
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 架构
iSCSI(互联网小型计算机系统接口)架构基于 TCP/IP 网络,实现块级存储数据传输,主要包含以下核心组件及关系:
1. 核心组件
- iSCSI 目标端(Target):存储设备端,提供可共享的块存储资源(如硬盘、LUN),负责接收和处理 initiator 的请求。
- iSCSI 发起端(Initiator):客户端(如服务器),通过软件或硬件方式发起对 Target 的连接,将远程存储视为本地磁盘使用。
- 存储网络:基于 TCP/IP 的网络(以太网为主),用于连接 Initiator 和 Target,传输 iSCSI 协议数据。
- LUN(逻辑单元号):Target 提供的逻辑存储单元,是 Initiator 实际访问的 “虚拟磁盘”。
2. 基本流程
- Initiator 通过 IP 地址发现 Target;
- 双方建立 TCP 连接(默认端口 3260),进行身份认证(如 CHAP);
- Initiator 挂载 Target 提供的 LUN,将其作为本地磁盘进行读写操作;
- 数据通过 iSCSI 协议在 TCP/IP 网络中传输,实现块级数据交互。
3. 特点
- 基于现有以太网,部署成本低,兼容性强;
- 支持远距离传输,适合跨机房存储共享;
- 块级访问,性能接近本地存储,适用于数据库、虚拟化等场景
SCSI 架构就像 “网络版的硬盘快递系统”,每个组件都像快递链上的角色,咱们一步步拆解:
1. iSCSI 目标端(Target)—— 存储仓库
它是 “放硬盘的仓库”,里面有很多 “虚拟货架”(LUN,逻辑单元号),每个货架都像一块独立的硬盘。仓库门口有个 “接待处”(TPG,目标端口组),挂着唯一的 “仓库编号”(IQN,比如iqn.2025-08.公司名:仓库名
),还标着 “收货地址”(服务器 IP + 端口 3260)。
比如:你建了一个叫disk1
的仓库,里面有 2 个货架(LUN 0 和 LUN 1),地址是10.1.8.10:3260
,编号是iqn.2025-08.cloud.yy:disk1
。
2. iSCSI 发起端(Initiator)—— 收件客户
它是 “要租硬盘的电脑”,相当于客户。客户手里有自己的 “身份证”(客户端 IQN),比如iqn.2025-08.cloud.yy:client
。客户会拿着身份证,根据 “仓库地址” 和 “编号” 找到仓库,申请租用货架。
3. 存储网络 —— 快递路线
就是普通的以太网(网线、交换机这些),相当于 “仓库到客户家的路”。客户和仓库之间的所有数据(比如 “我要存个文件”“给我传 100M 数据”)都通过这条路走,用 TCP/IP 包装成 “快递包裹”(iSCSI 协议数据)。
4. 整个流程就像 “租硬盘快递”
- 找仓库:客户(Initiator)用 “地址 10.1.8.10” 扫描,发现 “编号为 iqn.2025-08.cloud.yy:disk1 的仓库”(Target)。
- 验身份:仓库门卫(ACL 访问控制)核对客户身份证,在白名单里就放行。
- 租货架:客户租下仓库里的 1 号货架(LUN 0),仓库把货架 “快递” 给客户 —— 客户电脑上突然多出一块 “本地硬盘”(其实是远程 LUN)。
- 用硬盘:客户往这块 “硬盘” 存文件,数据通过网络 “快递” 到仓库的 1 号货架;读文件时,仓库再把数据 “快递” 回来,速度快得像硬盘就在自己电脑里。
关键特点:
- 不用专门铺 “高速路”(比如光纤 SAN),普通网线就能跑,成本低;
- 客户用远程硬盘就像用自己的,存东西、分区、格式化都一样;
- 适合 “多客户共用一个大仓库”(比如公司里 10 台服务器共享存储)。
简单说,iSCSI 就是 “把远程硬盘通过网络‘快递’到你电脑上,用起来跟本地盘没差” 的神奇架构
配置 iSCSI Targets
配置 iSCSI Targets需要安装以下软件:
- targetd,服务端软件。
- targetcli,用于配置targetd服务。
1. 配置 Target IQN—— 给硬盘做 “专属名牌”。
你要出租一块叫disk1
的硬盘,得先给它做个全网唯一的名牌(IQN:iqn.2025-8.cloud.yy.server:disk1
)。
这名牌格式很讲究:年份-月份.店名反写:硬盘名
,相当于 “2025 年 8 月,cloud.yy.server 店的 disk1 硬盘”,全世界独一份,别人找它的时候一报名字就知道是哪块。
同时店里自动建了个 “接待窗口”(TPG 1),默认所有门都能进(0.0.0.0:3260),等着租客来对接。
配置 backstore 对象
要使用targetcli创建后备存储,请使用其create命令。 该命令的行为取决于您在配置树中的当前位置。
2. 配置 LUN—— 把硬盘放进 “展示柜”
你有个实
际的硬盘(/backstores/block/myblock1
,可能是块物理盘或分区),现在要把它放进接待窗口的展示柜(LUN)里,标上编号 “0”(Created LUN 0)。
租客来了看到的就是这个展示柜里的硬盘,相当于 “你租的就是这个柜里的盘,直接用”。
3. 配置 ACL—— 列 “允许入内的租客名单”
不是谁都能租,你得列个白名单:只允许身份证号是iqn.2024-12.cloud.laoma.client
的租客进来(客户端的 IQN)。
这就像给门卫一张名单,只有名单上的人才能进接待窗口,别人来了直接拦在门外。同时告诉门卫:“允许这个租客用 0 号展示柜的硬盘”(mapped LUN 0)。
4. 配置 Portal—— 指定 “店铺正门位置”
之前默认所有门都能进,不太安全。你把其他门都关了(删除 0.0.0.0:3260),只留 10.1.8.10 这个正门(IP),门口挂个牌子 “3260 号窗口办理”(端口)。
租客必须从这个正门进,相当于 “只在 10.1.8.10 这个地址接客,别的地方找不到店”。
5. 保存配置 —— 把规矩 “写在墙上”
最后锁门下班(exit),系统自动把所有规矩(名牌、展示柜、白名单、正门位置)写在墙上(/etc/target/saveconfig.json
),下次开店还按这个来,不用重新摆。
租客怎么用?
租客(客户端)拿着自己的身份证(/etc/iscsi/initiatorname.iscsi
里的 IQN),到 10.1.8.10 正门,报出要租的硬盘名牌(iqn.2025-8.cloud.yy.server:disk1
),门卫核对白名单没问题,就会把展示柜里的硬盘给他用 —— 租客在自己电脑上能直接看到这块 “网络硬盘”,跟插在本地的盘一模一样,存东西、删文件都随便操作~
整个过程就像开了家 “硬盘出租连锁店”,规矩清晰、位置明确、只接待指定客户,远程用盘就跟在店里拿一样方便~
#创建一个新的分区
[root@server ~ 14:35:43]# 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 52G 0 part
│ ├─centos-root 253:0 0 50G 0 lvm /
│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─sda3 8:3 0 147G 0 part
sr0 11:0 1 4.4G 0 rom
#准备文件
[root@server ~ 14:35:46]# dd if=/dev/zero of=/tmp/bigfile bs=1M count=256
记录了256+0 的读入
记录了256+0 的写出
268435456字节(268 MB)已复制,1.31542 秒,204 MB/秒#安装软件
[root@server ~ 14:38:33]# yum install -y targetd targetcli
#启用服务
[root@server ~ 14:40:12]# systemctl enable --now targetd
Created symlink from /etc/systemd/system/multi-user.target.wants/targetd.service to /usr/lib/systemd/system/targetd.service.
在服务端
#进入配置
[root@server ~ 14:41:35]# targetcli
#准备储存
/> /backstores/block create webapp1 /dev/sda3/> /backstores/fileio create file1 /tmp/bigfile#配置共享
/> cd /iscsi #创建目标
/iscsi> create iqn.2025-08.cloud.yy.server:webapp#进入目标
/iscsi> cd iqn.2025-08.cloud.yy.server:webapp/tpg1#放行客户端
/iscsi/iqn.20...r:webapp/tpg1> acls/ create iqn.2025-08.cloud.yy.server:client#添加后端储备
/iscsi/iqn.20...r:webapp/tpg1> luns/ create /backstores/block/webapp1
/iscsi/iqn.20...r:webapp/tpg1> luns/ create /backstores/fileio/file1 #配置监听
/iscsi/iqn.20...r:webapp/tpg1> portals/ delete 0.0.0.0 3260 /iscsi/iqn.20...r:webapp/tpg1> portals/ create 10.1.8.10 3260#退出自动保存
/iscsi/iqn.20...r:webapp/tpg1> exit
客户端配置
[root@client ~ 11:05:59]# yum install -y iscsi-initiator-utils[root@client ~ 13:55:15]# vim /etc/iscsi/initiatorname.iscsi
[root@client ~ 13:57:30]# cat /etc/iscsi/initiatorname.iscsi #扫描
[root@client ~ 14:11:02]# iscsiadm -m discovery -t st -p 10.1.8.10
10.1.8.10:3260,1 iqn.2025-08.cloud.yy.server:webapp
#登录
[root@client ~ 14:56:04]# iscsiadm -m node -T iqn.2025-08.cloud.yy.server:webapp -l[root@client ~ 14:01:49]# 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 52G 0 part ├─centos-root 253:0 0 50G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 147G 0 disk
sdc 8:32 0 2G 0 disk
sr0 11:0 1 4.4G 0 rom
咱们把整个过程比作 “开一家网络硬盘租赁店并接待第一位租客”,每一步都像现实中开店做生意的操作:
服务器端:把 “硬盘” 变成 “可出租的网络仓库”
-
准备 “待租的货柜”
/backstores/block create webapp1 /dev/sda3 # 把物理硬盘分区sda3做成“1号实体货柜” /backstores/fileio create file1 /tmp/bigfile # 用大文件做一个“2号虚拟货柜”
就像开店前先整理货柜:1 号是实打实的物理货架(硬盘分区),2 号是临时用纸箱搭的虚拟货架(文件模拟),都用来放租客的东西。
-
给仓库挂 “唯一招牌”
/iscsi create iqn.2025-08.cloud.yy.server:webapp # 给仓库起个独有名牌
这招牌(IQN)是全世界唯一的,格式像 “2025 年 8 月・cloud.yy.server 店・webapp 仓库”,租客凭着这个招牌才能找到你的店。
-
设置 “谁能进来租”
acls/ create iqn.2025-08.cloud.yy.server:client # 把租客身份证加入白名单
相当于给门卫一张名单:“只有身份证是这个号的租客,才能进仓库”,其他人想租也进不来。
-
把 “货柜搬进仓库”
luns/ create /backstores/block/webapp1 # 1号实体货柜放进仓库 luns/ create /backstores/fileio/file1 # 2号虚拟货柜放进仓库
现在仓库里有两个货柜了,租客进来就能看到这两个可以用的存储空间。
-
指定 “仓库正门”
portals/ delete 0.0.0.0 3260 # 关掉所有门,只留一个正门 portals/ create 10.1.8.10 3260 # 正门地址:10.1.8.10,门牌号3260
就像告诉租客:“别走错了,我们店只在 10.1.8.10 这个地址开门,门口标着 3260 号”。
-
锁门存档
exit # 自动保存所有设置
相当于把 “货柜位置、租客名单、正门地址” 都写在店铺手册里,下次开门还按这个来。
客户端:租客找店、进门、看到货柜
-
准备 “租房工具”
yum install -y iscsi-initiator-utils # 装“开门钥匙和仓库地图”
没有这些工具,租客连你的店门都认不出来。
-
带上 “身份证”
vim /etc/iscsi/initiatorname.iscsi # 填写自己的身份证号(客户端IQN)
这身份证号必须和服务器白名单上的一致,不然门卫不让进(就是你填的
iqn.2025-08.cloud.yy.server:client
)。 -
用地图 “找到店铺”
iscsiadm -m discovery -t st -p 10.1.8.10 # 搜“10.1.8.10”这个地址 # 结果:找到了“招牌是iqn.2025-08.cloud.yy.server:webapp”的店
相当于租客用地图搜地址,查到 “这个位置有个仓库,招牌是 xxx”。
-
“进店租房”
iscsiadm -m node -T 招牌名 -l # 凭招牌名进店,登录成功
门卫核对身份证后放行,租客成功进入仓库。
-
“看到能租用的货柜”
lsblk # 查看所有可用的“货柜”
输出里的
sdb
(147G)和sdc
(2G)就是服务器共享的两个货柜,租客可以直接用它们存东西 —— 就像打开自己家的柜子一样方便~
总结:整个过程就像
服务器端搭了个带招牌、有货柜、限访客的 “网络仓库”,客户端凭着身份证找到仓库、进门租用,最后在自己电脑上就能看到并使用仓库里的货柜。从头到尾,租客用网络硬盘就跟用自己家的硬盘一样简单,这就是 iSCSI 的魔力~
格式化 iSCSI 设备
多个启动程序同时从同一目标安装同一文件系统,会导致文件系统损坏或尝试读取数据时出现不一致
[root@client ~ 14:56:24]# mkfs.xfs /dev/sdb
持久化挂载
[root@client ~ 15:26:01]# mkdir -p /var/www/html
[root@client ~ 15:26:17]# mount /dev/sdb /var/www/html
[root@client ~ 15:26:19]# echo xxx > /var/www/html/index.html
[root@client ~ 15:28:12]# blkid /dev/sdb
/dev/sdb: UUID="1508954d-7b24-4a0c-8854-10fdf5c654df" TYPE="xfs[root@client ~ 15:28:12]#vim /etc/fstab
UUID="1508954d-7b24-4a0c-8854-10fdf5c654df /data xfs defaults,_netdev 0 0
在/etc/fstab中的iSCSI目标上持久地挂载文件系统时,请确保遵循以下建议:
- 使用带有–fs选项的lsblk命令来确定文件系统UUID,然后使用该UUID挂载文件系统。 不要使用设备名称(
/dev/sd*
)。 设备的名称取决于 iSCSI 设备通过网络响应的顺序,因此设备名称可能会在引导之后更改。如果在 /etc/fstab 中使用设备名称,则系统可能会将设备挂载在错误的挂载点下。 - 在/etc/fstab中使用 _netdev 挂载选项。 因为iSCSI依赖网络访问远程设备,所以此选项可确保在网络和启动器启动之前,系统不会尝试挂载文件系统。
障处理
如果发现成功,但是启动器登录到发现的目标时遇到问题,则该问题很可能与访问控制或身份验证有关。客户端上的IQN与服务器上的IQN不匹配会导致目标登录失败。
如果问题是由于客户端上的启动器IQN不正确引起的,请在客户端的/etc/iscsi/initiatorname.iscsi文件中修复IQN,然后重新启动iscsid服务以使更改生效。
原因:iscsid 服务缓存了之前客户端扫描时使用的IQN。
处理方法:停止 iscsid 服务,释放之前客户端扫描时使用的IQN。
[root@client ~]# systemctl stop iscsid # 重新发现
[root@client ~]# iscsiadm -m discovery -t st -p server
10.1.8.10:3260,1 iqn.2024-12.cloud.laoma.server:disk1# 重新登录
[root@client ~]# iscsiadm -m node -T iqn.2024-12.cloud.laoma.server:disk1 -l
如果发现成功,但是启动器登录到发现的目标时遇到问题,则该问题很可能与访问控制或身份验证有关。客户端上的IQN与服务器上的IQN不匹配会导致目标登录失败。
如果问题是由于客户端上的启动器IQN不正确引起的,请在客户端的/etc/iscsi/initiatorname.iscsi文件中修复IQN,然后重新启动iscsid服务以使更改生效。
原因:iscsid 服务缓存了之前客户端扫描时使用的IQN。
处理方法:停止 iscsid 服务,释放之前客户端扫描时使用的IQN。
[root@client ~]# systemctl stop iscsid # 重新发现
[root@client ~]# iscsiadm -m discovery -t st -p server
10.1.8.10:3260,1 iqn.2024-12.cloud.laoma.server:disk1# 重新登录
[root@client ~]# iscsiadm -m node -T iqn.2024-12.cloud.laoma.server:disk1 -l