配置iSCSI服务器共享存储,准备存储资源的核心在于规划独立网络、创建目标端LUN并确保启动端正确发现与连接,其中Linux系统上的targetcli工具和Windows的iSCSI发起程序是最常用的组合。
iSCSI服务器配置共享存储:准备存储资源的完整流程
硬件与网络环境准备
在动手配置之前,先确认存储服务器的硬件选型,多数场景下,一台标准服务器配万兆网卡即可满足共享存储需求,若预算有限,千兆网卡绑定也能应付中小规模流量,磁盘方面,建议使用RAID卡构建RAID5或RAID10阵列,同时预留SSD做缓存加速,这在虚拟化环境中表现尤为明显,网络规划是iSCSI的敏感环节,必须规划独立的存储VLAN,避免与业务流量争抢带宽,IP地址推荐固定分配,并使用D类私有地址段,交换机上需开启巨帧(Jumbo Frame),将MTU设为9000,可显著提升大块数据传输效率,防火墙方面,确保目标端与启动端之间的端口3260(默认iSCSI端口)畅通。
Linux iSCSI目标端配置:存储资源准备的核心步骤
Linux系统(如CentOS 7/8、Ubuntu 20.04)是搭建iSCSI目标端的常见选择,首先安装targetcli软件包:
yum install targetcli -y # CentOS/RHEL # 或 apt install targetcli-fb -y # Ubuntu
启动服务并设置开机自启:
systemctl start target systemctl enable target
进入targetcli交互界面:
targetcli
创建backstore,即存储后端,块设备性能最优,例如将/dev/sdb作为存储池:
/backstores/block create name=disk1 dev=/dev/sdb
若只有空闲磁盘分区,也可使用fileio或ramdisk,但生产环境推荐块设备,接着创建iSCSI target并绑定LUN:
/iscsi create iqn.2026-08.com.example:storage.target1 /iscsi/iqn.2026-08.com.example:storage.target1/tpg1/luns create /backstores/block/disk1
设置ACL,允许特定启动端IQN连接,IQN是iSCSI的全球唯一标识符,格式为iqn.年份-月份.域名反写:设备名:
/iscsi/iqn.2026-08.com.example:storage.target1/tpg1/acls create iqn.1994-05.com.example:client1
最后退出并保存配置:
exit
目标端已发布一个LUN,等待客户端发起连接,若需多个LUN,重复上述步骤即可。
Windows连接iSCSI共享存储:启动端配置详解
Windows客户端自带iSCSI发起程序,无需额外安装,在“控制面板-管理工具”中打开“iSCSI发起程序”,首次运行会提示启动服务,确认即可,在“目标”选项卡,输入目标服务器的IP地址,点击“快速连接”,系统自动发现目标,若ACL配置正确,连接状态会显示“已连接”,随后在“磁盘管理”中右键联机新磁盘,初始化(推荐GPT格式),创建简单卷并格式化,即可作为共享存储使用,对于Windows Server,建议开启MPIO(多路径I/O)以增强冗余和性能:在“MPIO”管理器中添加iSCSI设备支持,然后在发起程序中添加多个门户地址(对应目标端多个网卡)。
Linux客户端连接iSCSI共享存储
Linux客户端需安装iscsi-initiator-utils:
yum install iscsi-initiator-utils -y
配置启动端IQN,编辑/etc/iscsi/initiatorname.iscsi,设置与目标端ACL匹配的IQN,然后发现目标端:
iscsiadm -m discovery -t sendtargets -p 192.168.1.100
登录目标:
iscsiadm -m node --login
登录成功后,使用fdisk -l查看新磁盘,分区格式化后挂载,为实现开机自动挂载,需修改/etc/fstab,并使用_netdev选项避免网络未就绪时挂载失败。
iSCSI共享存储方案对比:成本与性能权衡
虚拟化场景下的iSCSI配置
在VMware vSphere或Hyper-V环境中,iSCSI常被用作共享存储,VMware通过软件iSCSI适配器连接目标端,需在存储适配器中添加动态发现地址,并设置CHAP认证,Hyper-V则直接在“iSCSI发起程序”中完成连接后,将磁盘分配给虚拟机,虚拟化场景下,多路径策略至关重要,多数情况下采用
轮转(Round Robin)策略以均衡负载,行业共识认为,iSCSI在虚拟化场景中的性能与FC SAN差距已不明显,尤其在全万兆网络环境下。
中小企业低成本iSCSI方案
对于预算有限的中小企业,一台普通服务器配软件RAID即可搭建iSCSI目标端,使用Linux的LIO(Linux-IO Target)或Windows Server自带的iSCSI目标角色(需要安装功能),都能实现基本共享存储,成本主要在网卡和交换机上,千兆环境已能支撑多数文件共享和备份场景,若追求更高性能,可选用带有硬件卸载引擎的专用iSCSI HBA卡,但价格较高,性价比不如万兆网卡加软件目标端。
本地iSCSI与IP-SAN、FC SAN的差异
| 指标 | iSCSI(IP-SAN) | FC SAN |
|---|---|---|
| 传输协议 | TCP/IP | FC |
| 网络成本 | 较低(可使用现有以太网) | 高(需专用FC交换机) |
| 性能上限 | 万兆环境下可达线速 | 16Gbps/32Gbps常见 |
| 管理复杂度 | 中等 | 较高 |
| 适用场景 | 中小企业、虚拟化环境 | 大型数据中心、关键业务 |
在多数情况下,iSCSI的兼容性和扩展性对中小企业已足够,且无需额外光纤布线,部署成本低很多。
iSCSI共享存储的常见问题与优化
连接失败排查
- 检查防火墙是否放行3260端口。
- 确认目标端ACL中启动了端IQN是否准确无误。
- 查看目标端服务状态:
systemctl status target。 - 在启动端使用
iscsiadm -m session -P 3查看详细会话信息,定位错误码。
性能提升技巧
- 网卡绑定:采用3ad(LACP)模式,提升带宽并冗余。
- Jumbo Frame:两端交换机及网卡均需开启MTU 9000,否则性能不升反降。
- 多路径配置:Linux下使用dm-multipath,Windows下使用MPIO,注意路径权重设置。
- 磁盘队列深度:适当增大目标端磁盘队列深度(如
/sys/block/sdX/device/queue_depth),可提高并发效率。
数据安全与备份
iSCSI本身不提供加密,建议在传输层启用IPsec或使用CHAP认证保障基本安全,定期对LUN做快照或使用rsync同步至异地,是减轻数据丢失风险的有效手段。
配置iSCSI服务器共享存储,准备存储资源是一项系统工程,从网络规划到目标端部署,再到启动端连接与调优,每一步都直接影响最终性能和稳定性。
iSCSI服务器配置共享存储Q&A:常见问题解答
iSCSI和NAS哪个更适合作为共享存储?
iSCSI提供块级访问,适合数据库、虚拟化等需要裸设备操作的场景;NAS提供文件级访问,适合文件共享、媒体库等,若追求低延迟和直接控制,iSCSI更优;若需要多客户端共享同一个文件系统,NAS更便捷,两者在中小规模场景中成本差异不大,选择取决于具体应用格式。
多个客户端如何共享一个iSCSI磁盘?
iSCSI的块设备默认不支持多客户端同时读写(除非使用集群文件系统如GFS2或OCFS2),常见做法是每个客户端分配独立的LUN,或通过NAS服务(如iSCSI目标端再配置NFS)共享文件,若必须共享块设备,需部署文件系统层面锁机制,否则会导致数据损坏。
目标端配置后启动端发现不到目标,最常见原因是什么?
ACL配置错误或防火墙阻止端口3260,首先在目标端使用`targetcli iscsi/`查看已配置的ACL是否包含启动端IQN,然后确认启动端IQN与ACL一致,其次检查网络连通性,用`telnet <目标IP> 3260`测试端口是否可达,多数情况下,问题出在ACL的IQN字符串多了一个空格或大小写不一致。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/567570.html




