Linux iSCSI Target 深入解析与实践指南
iSCSI 技术概述
iSCSI(Internet Small Computer System Interface)是一种基于 TCP/IP 协议的存储网络技术,允许通过网络将存储设备(如磁盘、RAID 阵列)呈现给客户端,使其能够像本地磁盘一样使用,相较于传统的光纤通道(FC),iSCSI 以其低成本、易部署和广泛兼容性成为中小企业的理想选择,在 Linux 环境中,通过部署 iSCSI Target(服务端),管理员可以高效地共享存储资源,支持虚拟化、数据库备份等多种场景。

Linux iSCSI Target 核心组件
-
Target(目标端)
提供存储资源的服务端,由多个 Logical Unit Number(LUN)组成,每个 LUN 对应后端的存储块(如文件系统分区或磁盘镜像)。 -
Initiator(发起端)
客户端系统,通过 iSCSI 协议连接 Target 并挂载 LUN,Linux 系统通常使用iscsiadm工具管理 Initiator 配置。 -
Portal(门户)
Target 的网络访问入口,由 IP 地址和 TCP 端口(默认 3260)组成,一个 Target 可绑定多个 Portal 以实现高可用性。 -
认证机制
支持 CHAP(Challenge-Handshake Authentication Protocol)双向认证,确保存储传输的安全性。
Linux iSCSI Target 部署实践
以主流开源工具 tgt(targetcli) 为例,部署步骤如下:

安装与配置
# 安装 tgt 包 sudo apt-get install tgt # Debian/Ubuntu sudo yum install targetutils # CentOS/RHEL # 查看服务状态 sudo systemctl status tgt
创建 Target 和 LUN
使用 targetcli 交互式工具配置存储资源:
sudo targetcli /> backstores/block/ create disk1 /dev/sdb1 # 创建后端存储块 /> iscsi/ create iqn.2023-06.com.example:storage.target # 创建 Target /> iscsi/iqn.2023-06.com.example:storage.target/tpg1/luns/ create /backstores/block/disk1 # 关联 LUN /> iscsi/iqn.2023-06.com.example:storage.target/tpg1/ set attribute authentication=1 # 启用 CHAP 认证 /> iscsi/iqn.2023-06.com.example:storage.target/tpg1/portals/ create 192.168.1.100 # 绑定 Portal /> saveconfig # 保存配置 /> exit
启动服务与验证
sudo systemctl enable --now tgt sudo tgt-admin --show # 查看 Target 配置
高级配置与优化
多路径访问(Multipathing)
为提高可靠性,可在 Initiator 端配置多路径,通过 multipathd 实现负载均衡和故障转移:
sudo apt-get install multipath-tools sudo mpathconf --enable --find_multipaths sudo systemctl enable --now multipathd
性能调优
- 网络优化:启用 Jumbo Frame(MTU=9000)减少 TCP/IP 开销。
- 存储后端:使用高性能磁盘(如 SSD)或 RAID 阵列提升 I/O 吞吐量。
- 内核参数:调整
/etc/sysctl.conf中的net.core.somaxconn和net.ipv4.tcp_retries2优化网络连接。
安全加固
- CHAP 认证:配置强密码并定期更新。
- 访问控制:通过
tgt的incominguser和outgoinguser限制客户端连接。 - 防火墙规则:仅允许受信任 IP 访问 3260 端口:
sudo ufw allow from 192.168.1.0/24 to any port 3260
常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| Initiator 无法发现 Target | 防火墙拦截、Portal IP 错误 | 检查防火墙规则及 Target 配置 |
| LUN 挂载后 I/O 性能低下 | 磁盘瓶颈、网络延迟 | 监控系统资源,优化存储或网络 |
| CHAP 认证失败 | 密码不匹配、用户未配置 | 验证 Initiator 和 Target 的 CHAP 设置 |
应用场景与优势
-
虚拟化环境
为 KVM、VMware 等虚拟化平台提供共享存储,支持虚拟机动态迁移。 -
数据库集群
如 MySQL、PostgreSQL 的主从复制,依赖低延迟的共享存储同步数据。 -
备份与容灾
集中管理备份存储,结合快照技术实现数据快速恢复。
优势总结:
- 成本效益:利用现有以太网基础设施,无需专用光纤通道设备。
- 可扩展性:通过增加 Target 节点和存储容量灵活扩展。
- 兼容性:支持 Windows、Linux、macOS 等多种操作系统。
Linux iSCSI Target 凭借其灵活性和经济性,在现代数据中心中扮演着重要角色,通过合理配置与优化,管理员可以构建高效、安全的存储网络,满足多样化的业务需求,无论是企业级应用还是中小型环境,掌握 iSCSI 技术都将为存储管理带来显著提升。















