CentOS 7 下iscsi存储服务配置&验证

一、环境说明

  • centos7服务器*2
  • 服务器ip:服务端10.10.10.186 客户端10.10.10.184
  • 服务端存储卷sda1
  • 提前关闭防火墙,或开放默认 iSCSI 使用 3260 端口

二、服务端(Target)配置

  1. 安装 iSCSI target 服务
j 复制代码
yum install -y targetcli
systemctl enable target --now
  1. 创建后端存储
j 复制代码
mkdir -p /iscsi_disks
truncate -s 5G /iscsi_disks/disk01.img
  1. 配置 target
    进入管理界面
j 复制代码
targetcli

执行

j 复制代码
/backstores/fileio create disk01 /iscsi_disks/disk01.img
# 绑定lun
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1/luns create /backstores/fileio/disk01
# 添加 ACL(客户端 IQN 必须和 initiator 配置一致)
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1/acls create iqn.2025-09.com.example:client01
/saveconfig
exit

验证配置

j 复制代码
targetcli

ls

三、客户端(Initiator)配置

  1. 安装 iSCSI initiator 工具
j 复制代码
yum install -y iscsi-initiator-utils
systemctl enable iscsid --now
  1. 修改 initiator 名称
j 复制代码
vi /etc/iscsi/initiatorname.iscsi
修改为与服务端 ACL 配置一致:
InitiatorName=iqn.2025-09.com.example:client01
重启服务
systemctl restart iscsid
  1. 发现 target
j 复制代码
iscsiadm -m discovery -t sendtargets -p 10.10.10.186
  1. 登录 target
j 复制代码
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --login

5.确认磁盘

j 复制代码
lsblk
fdisk -l

会看到新设备(通常是 /dev/sdb 之类)。

6.格式化并挂载

j 复制代码
mkfs.xfs /dev/sdb
mkdir -p /mnt/iscsi_disk
mount /dev/sdb /mnt/iscsi_disk

7.测试写入

j 复制代码
echo "hello iscsi" > /mnt/iscsi_disk/test.txt
cat /mnt/iscsi_disk/test.txt

NOTICE!!!

1、

如果第四步login失败

j 复制代码
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1 set attribute authentication=1
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1 set auth userid=myuser
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1 set auth password=mypassword

客户端则需要

j 复制代码
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --op update -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --op update -n node.session.auth.username -v myuser
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --op update -n node.session.auth.password -v mypassword

再次登录

j 复制代码
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --login

✅ 总结:

  • 大概率是 initiatorname 不一致(客户端 /etc/iscsi/initiatorname.iscsi 和 targetcli ACL 配置的不一样)。

  • 如果一致,那就检查是否启用了 CHAP,需配套用户名密码。

验证是否生效

1、客户端挂载 iSCSI 盘到目录

j 复制代码
fdisk /dev/sdb

示例操作(新建一个分区):

  • 输入 n(新建分区)
  • 输入 p(主分区)
  • 默认即可(全盘)
  • 输入 w 保存退出
    之后会出现 /dev/sdb1。

2、格式化文件系统

j 复制代码
mkfs.xfs /dev/sdb1

3、挂载到目录

j 复制代码
mkdir -p /mnt/iscsi_disk
mount /dev/sdb1 /mnt/iscsi_disk

4、验证

j 复制代码
df -h /mnt/iscsi_disk

echo "hello from iscsi" > /mnt/iscsi_disk/test.txt
cat /mnt/iscsi_disk/test.txt

5、设置开机自动挂载

j 复制代码
查看UUID
blkid /dev/sdb1
编辑 /etc/fstab,加一行:
UUID=<刚才的UUID>  /mnt/iscsi_disk  xfs  _netdev  0  0

6、验证

j 复制代码
ls -lh /iscsi_disks/disk01.img   # 显示 5.0G
du -sh /iscsi_disks/disk01.img   # 应该很小,比如 0M 或几K
相关推荐
longerxin20202 小时前
MongoDB 在线安装-一键安装脚本(CentOS 7.9)
数据库·mongodb·centos
西瓜君的代码2 小时前
rabbitmq的安装
linux·运维·服务器
SimonSkywalke2 小时前
STS_Root_Cause_Analysis_Error.ipynb 工作流程解析
运维·人工智能
吠品3 小时前
自动化SSL证书管理:应对域名SSL证书更新焦虑
运维·自动化·ssl
nmxiaocui3 小时前
Linux 用户和用户组管理
linux·运维·系统安全
m0_464608263 小时前
Nginx反向代理与负载均衡部署
运维·nginx·负载均衡
ajassi20003 小时前
开源 C++ QT Widget 开发(十六)程序发布
linux·c++·qt·开源
淮北也生橘123 小时前
Linux的V4L2视频框架学习笔记
linux·笔记·学习·音视频·嵌入式linux
ts9773 小时前
在centOS源码编译方式安装MySQL5.7
linux·运维·centos