iSCSI存储协议详解
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 负载)。
- 软件 Initiator:如 Linux 的
- 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存储协议详解的更多相关文章
- HTTP协议详解(转)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...
- HTTP协议详解
Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...
- ASP.NET知识总结(3.HTTP协议详解)
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 接口测试之HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 计算机网络(12)-----HTTP协议详解
HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...
- HTTP协议详解(真的很经典)
HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...
- HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 关于http协议详解
Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...
- bt协议详解 DHT篇(上)
bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...
- HTTP协议详解(一直在用可是这篇太好了转一下)
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
随机推荐
- 进程间通信-POSIX 信号量
POSIX 信号量 POSIX 信号量是一种 POSIX 标准中定义的进程间同步和互斥的方法.它允许进程之间通过信号量来实现临界区的互斥访问,从而避免竞争条件和死锁等问题. 信号量的P.V操作: P ...
- RPC实战与核心原理之服务发现
服务发现:到底是要CP还是AP? 回顾 "怎么设计一个灵活的 RPC 框架" 总结起来,就是怎么在 RPC 框架中应用插件,用插件方式构造一个基于微内核的 RPC 框架,其关键点就 ...
- JavaScript入门笔记day1
文章目录 啥是JavaScript JavaScript与HTML的结合方式 js文件在HTML中的位置 注释方式 变量 命名规范: 定义的关键字 To be a struggling Rick fo ...
- pta求符合给定条件的整数集 C语言
题目如下 给定不超过6的正整数A,考虑从A开始的连续4个数字.请输出所有由它们组成的无重复数字的3位数. 输入格式: 输入在一行中给出A. 输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整 ...
- VsCode+DeepSeek的AI编程助手初体验
前言 最近随着AI编程助手的兴起,我这个重度码农也想试着尝下鲜,看看他究竟有多厉害,会不会把我们都给取代了.Github Copilot大名鼎鼎,和微软全家桶重度绑定,但是使用价格不菲,并且使用它有一 ...
- algolia使用配置教程-为SSG静态站增加algolia搜索功能
要构建SSG静态站点时,一般为了方便增加algolia搜索框,但这里algolia配置使用时用很多的坑,折腾了我好几天,网上没有一个可用的教程. 自己弄了几天,终于搞明白里面的道道了,现在分享出来给大 ...
- Spring Boot2.5 集成数据库连接池 HikariCP
目录 §工程环境 §数据库连接池介绍 数据库连接池工作原理剖析 §Java常见数据库连接池性能比较 §数据库连接池选型 Druid vs HikariCP性能对比 §HikariCP为什么这么快 §数 ...
- Spring Boot中使用注解实现简单工厂模式
前言 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫静态工厂模式(Simple Factory Pattern),但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出接 ...
- linux服务器常用硬件查询操作
查看服务器内存条数 [root@test ~]# dmidecode |grep -P -A5 "Memory\s+Device" |grep Size |grep -v Rang ...
- Solon AI 五步构建 RAG 服务:2025 最新 AI + 向量数据库实战
此文参考自:https://www.toutiao.com/article/7506140643970826779/ 引言:RAG 会成为 2025 年 AI 落地核心? 在2025年,检索增强生成( ...