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
相关推荐
坚定信念,勇往无前8 小时前
Alibaba Cloud Linux 4.0安装mongodump
linux·运维·服务器
虹梦未来8 小时前
【运维心得】Ubuntu2404编译nginx隐藏Server信息
运维·服务器·nginx
hello_2508 小时前
排查K8s Pod Core Dump问题
linux·docker·kubernetes
iAkuya8 小时前
(leetcode)力扣100 21搜索二维矩阵2(z型搜索)
linux·leetcode·矩阵
Ghost Face...8 小时前
DQ与DQS的90°相位关系:从原理到图像的完整解析
linux
可爱又迷人的反派角色“yang”8 小时前
docker(三)
linux·运维·网络·docker·容器·云计算
xu_ws8 小时前
Linux CentOS 7.9 MySQL 8.0安装配置全攻略
linux·运维·mysql·centos
starsky_walker9 小时前
【工具教程系列】--如何配置github的ssh
运维·ssh·github
l1t9 小时前
Python 字符串反转方法
linux·开发语言·python
饼饼饼9 小时前
从 0 到 1:前端 CI/CD 实战 ( 第一篇: 云服务器环境搭建)
运维·前端·自动化运维