当前位置:首页 > 前端开发 > 正文

如何配置iscsi存储服务器准备存储资源?,什么是iscsi存储服务器?

iSCSI存储服务器配置的本质是把一台普通服务器的空闲磁盘空间,通过网络共享给其他服务器使用,核心准备工作集中在存储端LUN创建、网络隔离和客户端挂载三个环节。

准备存储资源前,先理解iSCSI的工作方式

iSCSI(Internet Small Computer System Interface)协议把SCSI指令封装在TCP/IP包里传输,让客户端(Initiator)把远端存储当作本地硬盘使用,这个过程中,存储服务器端(Target)需要先准备好“货”——也就是LUN(Logical Unit Number),然后通过网络把LUN“发布”出去。

如果你之前接触过NAS(网络附加存储),别把两者混淆,NAS提供的是文件级共享(NFS、SMB),而iSCSI提供的是块级共享,客户端拿到的是一个裸设备,需要自己格式化文件系统,这也是iSCSI存储服务器配置和NAS的核心区别。

iscsi存储服务器配置步骤:存储端准备工作全拆解

第一步:确认硬件和系统环境

存储服务器配置前,先盘点硬件资源,CPU至少4核,内存建议8GB以上,磁盘方面优先使用SATA或SAS盘组RAID,一个常见误区是直接把单块盘共享出去,这会导致I/O性能极差,行业共识认为,RAID5或RAID6是iSCSI存储的入门配置,兼顾容量和冗余。

操作系统选择上,CentOS/Rocky Linux和Ubuntu Server占据绝大多数存量市场,Windows Server也可以配置iSCSI Target,但性能和稳定性不如Linux方案,适合小规模测试环境,具体版本选择,取决于你后续要用的管理工具。

第二步:安装Target软件包

Linux环境下,主流方案是LIO(Linux-IO Target)和tgt,LIO从内核3.1版本起内置,是现代Linux发行版的默认选择,安装命令如下:

# CentOS/RHEL/Rocky系列 yum install targetcli -y # Ubuntu/Debian系列 apt install targetcli-fb -y

装完后执行systemctl enable target和systemctl start target,把服务跑起来。

第三步:创建LUN并映射给客户端

这是整个iscsi存储服务器配置准备工作的核心,用targetcli命令初始化环境:

如何配置iscsi存储服务器准备存储资源?,什么是iscsi存储服务器? 第1张

这里解释几个关键概念:

  • IQN(iSCSI Qualified Name)是存储资源的唯一标识符,格式为iqn.年份-月份.域名反写:设备标识,命名规则要遵守,否则某些客户端会拒绝连接。
  • ACL(访问控制列表)指定哪些客户端可以访问这个LUN,上面命令中的iqn.2026-01.com.client:initiator1是客户端的IQN,需要提前从客户端获取并填入。
  • LUN编号默认从0开始,多块磁盘时建议手动指定编号,避免混乱。

第四步:配置网络隔离和IP绑定

iSCSI存储配置中,网络层面的准备工作经常被忽略,但恰恰是性能瓶颈的重灾区。不要用业务网卡跑iSCSI流量,应该单独配置存储专用网络,推荐做法:

  • 使用独立VLAN或物理交换机隔离存储流量
  • 存储服务器配置双网卡绑定(bonding),模式选active-backup或802.3ad
  • 规划专用的IP段,例如168.100.0/24,与业务网段完全隔离

在targetcli里绑定IP时,注意监听端口和入口地址:

cd /iscsi/iqn.2026-01.com.example:storage.disk1/tpg1/ set attribute authentication=0 set attribute generate_node_acls=0

对于生产环境,建议开启CHAP认证(Challenge Handshake Authentication Protocol),设置方式:

cd /iscsi/iqn.2026-01.com.example:storage.disk1/tpg1/acls/iqn.2026-01.com.client:initiator1 set auth userid=storage_user set auth password=your_password

CHAP密码长度不少于12位,客户端和存储端必须同时配置,否则连接会失败。

第五步:保存配置并验证

targetcli修改的配置默认保存在/etc/target/saveconfig.json,下次开机自动加载,验证配置完整性的命令:

如何配置iscsi存储服务器准备存储资源?,什么是iscsi存储服务器? 第2张

检查输出中luns、acls和portals三个节点是否都包含预期条目,存储端准备完成后,可以用targetcli的saveconfig命令手动保存一次,确认无报错。

iscsi存储配置不重启客户端,块设备能不能直接变出来

这是新手最容易踩坑的地方,iscsi存储配置完成后,客户端扫描新磁盘通常不需要重启,但需要执行正确的扫描命令。

Linux客户端操作

安装iscsi-initiator-utils:

yum install iscsi-initiator-utils -y

发现Target:

iscsiadm -m discovery -t sendtargets -p 192.168.100.10

登录Target:

如何配置iscsi存储服务器准备存储资源?,什么是iscsi存储服务器? 第3张

iscsiadm -m node -T iqn.2026-01.com.example:storage.disk1 -p 192.168.100.10 -l

登录成功后,执行lsblk或fdisk -l查看新出现的磁盘设备,如果磁盘没有立即出现,用partprobe或echo 1 > /sys/class/scsi_device/设备路径/device/rescan触发重新扫描。

Windows客户端操作

Windows 10/Server 2012以上版本自带iSCSI发起程序,路径是控制面板→管理工具→iSCSI发起程序,或者直接用Win+R输入iscsicpl.exe,在“目标”选项卡里填入存储服务器IP,点击快速连接即可。

Windows下需要注意,新接入的iSCSI磁盘默认是脱机状态,需要到磁盘管理里右键联机并初始化磁盘,否则磁盘只读不可写。

iscsi存储服务器搭建常见错误和排查思路

连接超时或discovery失败

  • 检查存储端防火墙是否放行3260端口(默认端口)
  • 确认客户端和存储端路由可达,用ping和telnet IP 3260测试
  • 网络不通时,先检查VLAN配置和网卡绑定状态

认证失败

  • 错误码CHAP authentication failure表示密码不匹配或未启用CHAP的地方配了密码
  • 客户端配置CHAP的地方在/etc/iscsi/iscsid.conf里,修改node.session.auth.authmethod和node.session.auth.username/password三个参数
  • 存储端修改CHAP配置后必须重启target服务,否则不生效

磁盘性能差

  • 检查交换机端口是否协商到千兆或万兆,半双工模式会导致吞吐量骤降
  • 使用dd测试写入性能,如果低于预期,优先排查网络而非存储本身
  • 多路径场景下,确认是否安装并配置了multipath工具,单路径跑多个网卡反而会引发I/O错误

重启后连接丢失

  • 存储端确认target服务设置了开机自启
  • 客户端执行iscsiadm -m node -T iqn名称 -p IP -o update -n node.startup -v automatic,把自动登录选项打开
  • 系统服务依赖顺序问题,在/etc/fstab里挂载iSCSI设备时,必须加_netdev参数,否则开机挂载会卡住

iscsi存储服务器报价和选型参考

iscsi存储服务器配置的硬件成本,取决于单台还是高可用,对于中小型机房,单台存储服务器预算集中在2万到8万元区间,主要包括:

  • 按需定制的服务器主机(2U,双路CPU,64GB内存)
  • 8块4TB SATA硬盘组成的RAID6阵列
  • 万兆双口网卡+千兆管理口
  • 操作系统和软件(开源方案占多数,无额外授权费)

如果要求双活或主备切换,成本会翻倍,涉及两台存储服务器和共享仲裁机制,国内市场的带外管理需求,部分品牌机型会额外收取远程管理模块费用,采购时问清楚。

对于预算敏感的团队,可以考虑用二手服务器过渡,但存储不吃二手硬件,磁盘故障率随时间呈指数上升,不建议生产环境使用。

常见问题集中解答

iscsi存储服务器配置需要具备哪些前置知识

需要掌握Linux基础命令、磁盘分区和RAID概念、TCP/IP网络基础,如果从零开始,先花一周熟悉LVM逻辑卷管理,因为后续LUN的扩容和快照都依赖LVM,网络层面至少要会配置静态IP和VLAN,理解端口3260的作用。

iscsi存储和光纤存储哪个更适合虚拟化场景

虚拟化平台同时支持两种协议,光纤存储(FC-SAN)延迟更低,通常稳定在0.5ms以内,但交换机和企业级阵列投入成本高,iSCSI万兆网络下的延迟在1-2ms,性能差距已经缩小到几乎可忽略,对于中小型虚拟化集群,iSCSI存储搭配万兆网络是性价比最高的方案,这也是近年国内私有云项目中iSCSI占比上升的原因。

0