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
相关推荐
骑上单车去旅行5 小时前
MD5校验对比脚本
linux·服务器·windows
平生幻5 小时前
Linux 常用命令
linux
期待着20135 小时前
docker 安装 ,在centos7.9
运维·docker·容器
踏月的造梦星球5 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
MXsoft6186 小时前
平台化是智能运维发展的必然趋势吗?
运维
ShirleyWang0126 小时前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s
liuccn7 小时前
Linux 存储系统:LVM 与直接分区
linux·运维
xexpertS9 小时前
CI/CD 熔断机制:如何通过编排级熔断器提升开发者效率
java·linux·运维
xuefeiniao9 小时前
CentOS + 宝塔服务器偶发 SSH、面板、网站全部无法访问排查记录(PHP-FPM 内存耗尽案例)
服务器·centos·ssh·php
带娃的IT创业者9 小时前
突破内存瓶颈:利用 Nvidia GPU 显存作为 Linux Swap 空间的深度实践
linux·运维·服务器·nvidia·swap·gpu显存