overview
最近项目使用到了openebs 的cstor 引擎, 该引擎使用iSCSI协议, 简单总结一下
About Data Storage Systems
Direct Attached Storage (DAS) 直连式存储 (顾名思义,直接连接外存储设备)
适用于中小型企业,存储系统被直连到应用的服务器中,在中小企业中,许多的数据应用是必须安装在直连的DAS存储器上。DAS存储的更多的以来服务器主机操作系统进行数据的I/O读写和存储维护管理、数据备份和恢复要求占用服务器主机资源。DAS与服务器主机之间的连接通道通常采用SCSI连接,然而SCSI通道在CPU和存储空间越来越大的情况下,十分吃力
Network Attached Storage (NAS) 网络接入存储
存储设备通过标准的网络拓扑结构(例如以太网)添加到一群计算机上,NAS是文件级的存储方法,重点在于帮助工作组和部门及机构解决迅速增加存储容量的需求。如今的用途很广泛,主要用来进行文档共享、图片共享、电影共享等等,并且随着云计算的发展,一些DAS厂商推出了云存储功能。NAS设备一般支持多计算机平台,可以通过网络协议进行文档等传输,挺灵活的。不足那,是它需要处理的数据比较多,包含数据传输信息还有操作存储磁盘请求信息,并且,对于网络带宽的要求比较高。
Storage Area Network (SAN) 存储区域网络
设备通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络
- FC SAN
光纤通道转发SCSI协议
- IP SAN( iSCSI 即 SCSI Over IP)
TCP/IP通道转发SCSI协议
iSCSI概念
iSCSI是由IBM发明的基于以太网的存储协议, 该协议与SUN的NFS协议都是为了解决存储资源共享问题的解决方案。两者意图一致,只不过两者是不同的实现方式,前者在客户机上呈现的是一个块设备,而后者则是一个目录树
iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN存储区域网,简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术.
SCSI
SCSI是一套完整的数据传输协议,其主要功能是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI技术可谓是最重要的脊梁。
SCSI协议位于操作系统和外部资源之间,它具有一系列的功能组件,操作系统对外部设备(如磁盘、磁带、光盘、打印机等)的I/O操作均可以通过SCSI协议来实现,一般情况下,SCSI协议都嵌入到设备驱动器或者主机适配器的板载逻辑中。
ISCSI技术的优势
与传统的SCSI技术比较起来,iSCSI技术有三个革命性的变化:
把原来只用于本机的SCSI透过TCP/IP网络传送,使连接距离可作无限的地域延伸;
连接的服务器数量无限(原来的SCSI-3的上限是16), 由于是服务器架构,因此也可以实现在线扩容以至动态部署。
iSCSI架构
1. 控制器架构
采用专用的数据传输芯片、专用的RAID数据校验芯片、专用的高性能cache缓存和专用的嵌入式系统平台,是一个核心全硬件的设备。
优点:具有较高的安全性和和稳定性。
缺点:核心处理器全部采用硬件,制造成本较高,因而售价也很高。
适用环境:可以用于对性能的稳定性和高可用性具有较高要求的在线存储系统,例如:中小型数据库系统、大型数据库备份系统、远程容灾系统等。
- iSCSI连接桥架构
连接桥构架分为两个部分:前端协议转换设备和后端存储
前端协议转换部分一般是硬件设备,只有协议转换功能,没有RAID校验和快照、卷复制等功能,因此,创建RAID组、创建LUN等操作必须在存储设备上完成。
后端存储一般采用SCSI磁盘阵列和FC存储设备。
随着iscsi技术的日益成熟,连接桥架构的iSCSI设备越来越少。
-
PC架构(软件实现)
也就是将存储设备搭建在PC服务器上,通俗的说就是选择一个性能良好、可支持多块硬盘的PC 服务器,然后选择一款成熟的存储端管理软件(iSCSI Target),并将软件安装在这台PC服务器上,这样就将一个普通的PC服务器变成了一台ISCSI存储设备了。最后通过PC服务器的以太网卡对外提供ISCSI数据传输服务。
客户端主机可以安装iscsi客户端软件(iSCSI initiator)通过以太网连接PC服务器共享出来的存储空间。
对服务器的配置要求较高,比较消耗资源。
典型的ISCSI PC构架结构图:
三、iSCSI存储连接方式
1、以太网卡+initiator软件方式
服务器、工作站等主机使用标准的以太网卡,通过以太网线直接与以太网交换机连接,iSCSI存储也通过以太网线连接到以太网交换机上,或直接连接到主机的以太网卡上。在主机上安装Initiator软件。
优点:在现有网络基础上即可完成,成本很低。
缺点:消耗客户端主机部分资源
适用环境:在低I/O和低带宽性能要求的应用环境中。
2、硬件TOE网卡+initiator软件方式
具有TOE(TCP Offload Engine)功能的智能以太网卡可以将网络数据流量的处理工作全部转到网卡的集成硬件中完成。客户端主机可以从繁忙的协议出来中解脱出来。
优点:采用TOE卡后可以大幅度提高数据的传输速率,降低了客户端主机的资源消耗。
缺点:需要购买TOE功能的网卡,成本较高。
3、iSCSI HBA卡连接方式
也就是在客户端主机上安装专业的iSCSI HBA适配卡,从而实现主机与交换机之间、主机与存储之间的高效数据交换。
优点:三种方式数据传输性能最好的。
缺点:需要购买iSCSI HBA适配卡,成本较高。
TOE网卡和iSCSI HBA的市场价格都比较贵,如果主机较少的话,还可以接受,如果网络主机较多,成本消耗很大。
四、ISCSI系统组成
iSCSI target概念 (发起者)
一个可以被用于存储数据的iSCSI磁盘阵列或者具有iSCSI功能的设备都可以被称为“iSCSI target”。
利用iSCSI target软件,可以将服务器的存储空间分配给客户机使用,客户机就可以像使用本地硬盘一样使用iSCSI磁盘。
目前大多数iSCSI target软件都是收费的,不过,也有一些linux平台开源的iSCSI target软件。
例如iSCSI Enterprise Target。
3、iSCSI initiator概念(连接者)
iSCSI initiator是一个安装在计算机上的一个软件或是一个硬件设备,它负责处理同iSCSI存储设备进行通信。
iSCSI服务器与iSCSI存储设备之间的连接方式有两种:
第一种是基于软件的方式,即软件iSCSI initiator
第二种是基于硬件的方式,即硬件SCSI initiator
iSCSI initiator软件一般都是免费的,Centos和RHEL对iSCSI Initiator支持非常不错,现在的Linux发行版本都默认已经自带了iSCSI Initiator。
参考文献: