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(总拥有成本)。

iSCSI存储协议详解的更多相关文章

  1. HTTP协议详解(转)

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

  2. HTTP协议详解

    Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...

  3. ASP.NET知识总结(3.HTTP协议详解)

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  4. 接口测试之HTTP协议详解

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  5. 计算机网络(12)-----HTTP协议详解

    HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...

  6. HTTP协议详解(真的很经典)

    HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...

  7. HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  8. 关于http协议详解

    Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...

  9. bt协议详解 DHT篇(上)

    bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...

  10. HTTP协议详解(一直在用可是这篇太好了转一下)

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

随机推荐

  1. 进程间通信-POSIX 信号量

    POSIX 信号量 POSIX 信号量是一种 POSIX 标准中定义的进程间同步和互斥的方法.它允许进程之间通过信号量来实现临界区的互斥访问,从而避免竞争条件和死锁等问题. 信号量的P.V操作: P ...

  2. RPC实战与核心原理之服务发现

    服务发现:到底是要CP还是AP? 回顾 "怎么设计一个灵活的 RPC 框架" 总结起来,就是怎么在 RPC 框架中应用插件,用插件方式构造一个基于微内核的 RPC 框架,其关键点就 ...

  3. JavaScript入门笔记day1

    文章目录 啥是JavaScript JavaScript与HTML的结合方式 js文件在HTML中的位置 注释方式 变量 命名规范: 定义的关键字 To be a struggling Rick fo ...

  4. pta求符合给定条件的整数集 C语言

    题目如下 给定不超过6的正整数A,考虑从A开始的连续4个数字.请输出所有由它们组成的无重复数字的3位数. 输入格式: 输入在一行中给出A. 输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整 ...

  5. VsCode+DeepSeek的AI编程助手初体验

    前言 最近随着AI编程助手的兴起,我这个重度码农也想试着尝下鲜,看看他究竟有多厉害,会不会把我们都给取代了.Github Copilot大名鼎鼎,和微软全家桶重度绑定,但是使用价格不菲,并且使用它有一 ...

  6. algolia使用配置教程-为SSG静态站增加algolia搜索功能

    要构建SSG静态站点时,一般为了方便增加algolia搜索框,但这里algolia配置使用时用很多的坑,折腾了我好几天,网上没有一个可用的教程. 自己弄了几天,终于搞明白里面的道道了,现在分享出来给大 ...

  7. Spring Boot2.5 集成数据库连接池 HikariCP

    目录 §工程环境 §数据库连接池介绍 数据库连接池工作原理剖析 §Java常见数据库连接池性能比较 §数据库连接池选型 Druid vs HikariCP性能对比 §HikariCP为什么这么快 §数 ...

  8. Spring Boot中使用注解实现简单工厂模式

    前言 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫静态工厂模式(Simple Factory Pattern),但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出接 ...

  9. linux服务器常用硬件查询操作

    查看服务器内存条数 [root@test ~]# dmidecode |grep -P -A5 "Memory\s+Device" |grep Size |grep -v Rang ...

  10. Solon AI 五步构建 RAG 服务:2025 最新 AI + 向量数据库实战

    此文参考自:https://www.toutiao.com/article/7506140643970826779/ 引言:RAG 会成为 2025 年 AI 落地核心? 在2025年,检索增强生成( ...