iSCSI 存储协议详解
(注意:正确缩写为 iSCSI,全称为 Internet Small Computer System Interface,是一种基于 IP 网络的存储协议。)
1. 什么是 iSCSI?
iSCSI 是一种将 SCSI 命令 封装在 TCP/IP 协议 中的技术,允许通过标准以太网传输块级存储数据。
核心功能:将远程存储设备(如磁盘阵列)模拟成本地硬盘,实现跨网络的块级存储访问。
替代方案:相比传统的光纤通道(FC-SAN),iSCSI 基于廉价的以太网,成本更低,但性能略低。
2. 核心组件
iSCSI Initiator(发起端):客户端设备(如服务器),通过软件或硬件发起存储请求。
软件 Initiator:如 Linux 的 open-iscsi、Windows 的 iSCSI Initiator。
硬件 Initiator:专用 HBA 卡(支持 TCP Offload 以降低 CPU 负载)。
iSCSI Target(目标端):存储设备(如 NAS/SAN),提供存储资源。
常用软件:targetcli(Linux)、StarWind(Windows)、专用存储阵列。
3. 核心功能与作用
功能
作用
块级存储访问
直接读写磁盘块,适合数据库、虚拟机等高性能场景。
IP 网络传输
利用现有以太网,无需专用光纤网络,降低成本。
跨平台兼容性
支持 Windows、Linux、VMware 等操作系统。
集中存储管理
统一管理存储资源,提高利用率。
远程存储映射
将远程存储挂载为本地磁盘,实现异地数据访问。
数据加密与认证
支持 CHAP 认证、IPsec 加密,保障传输安全。
4. 应用场景
(1) 企业级存储网络(SAN)
场景:需要高性能、低延迟的存储环境(如数据库、ERP 系统)。
优势:通过 10Gb/25Gb 以太网,提供接近光纤通道(FC)的性能,但成本更低。
(2) 虚拟化与云计算
场景:VMware/Hyper-V 虚拟机的共享存储。
优势:支持 VMware vSphere 的 VMFS 集群文件系统,实现虚拟机热迁移(vMotion)。
(3) 远程备份与灾备
场景:异地数据中心的数据同步与备份。
优势:通过广域网(WAN)传输,结合去重与压缩技术,降低带宽占用。
(4) 中小型企业存储
场景:预算有限的中小企业,使用普通服务器搭建 iSCSI 存储。
优势:无需专用硬件,利用现有以太网交换机即可部署。
(5) 开发与测试环境
场景:快速部署测试用的存储资源。
优势:通过软件定义存储(如 FreeNAS)灵活分配存储空间。
5. 典型架构示例
+---------------+
| 应用服务器 |
| (iSCSI Initiator)|---[以太网]---+
+---------------+ |
|
+---------------+ | +-------------------+
| 虚拟机集群 | +----| iSCSI Target |
| (VMware ESXi) |---------------------| (存储阵列/NAS) |
+---------------+ | +-------------------+
|
+---------------+ |
| 数据库服务器 | |
| (Oracle DB) |----------------+
+---------------+
6. 优缺点对比
优点
缺点
低成本(基于以太网)
性能受网络延迟和带宽影响
部署简单,无需专用硬件
高负载时 CPU 占用较高(软件方案)
支持标准网络设备(交换机/路由器)
安全性需额外配置(如 IPsec)
跨平台兼容性强
巨型帧(Jumbo Frame)依赖网络支持
7. 配置示例(Linux 环境)
(1) 安装工具
# Ubuntu/Debian
sudo apt-get install open-iscsi targetcli
# CentOS/RHEL
sudo yum install iscsi-initiator-utils targetcli
(2) 配置 Target 端
sudo targetcli
# 创建存储后端
/backstores/block create name=disk1 dev=/dev/sdb
# 创建 iSCSI Target
/iscsi create iqn.2023-10.com.example:storage.disk1
# 绑定存储
/iscsi/iqn.2023-10.com.example:storage.disk1/tpg1/luns create /backstores/block/disk1
# 设置访问控制
/iscsi/iqn.2023-10.com.example:storage.disk1/tpg1/acls create iqn.2023-10.com.example:server.initiator1
# 保存配置
saveconfig
exit
(3) 配置 Initiator 端
# 发现 Target
sudo iscsiadm -m discovery -t st -p 192.168.1.100
# 登录 Target
sudo iscsiadm -m node -T iqn.2023-10.com.example:storage.disk1 -p 192.168.1.100 --login
# 查看挂载的磁盘
lsblk
8. 性能优化
网络优化:使用 10Gb/25Gb 以太网、专用 VLAN、启用巨型帧(MTU=9000)。
硬件加速:使用支持 TCP Offload Engine(TOE)的网卡。
多路径 I/O:配置多路径(MPIO)提高冗余和带宽。
9. 总结
iSCSI 是 IP 时代存储网络的核心技术之一,尤其适合以下场景:
需要低成本 SAN 的企业。
虚拟化环境中的共享存储。
跨地域数据同步与灾备。
通过合理配置和优化,iSCSI 可提供接近光纤通道的性能,同时大幅降低 TCO(总拥有成本)。