什么是 ISER?
(就是iSCSI 原来是IP/TCP协议上传输SCSI格式的数据,现在改成用RDMA传输SCSI格式的数据)
iSER 代表“用于 RDMA 的 iSCSI 扩展”(iSCSI Extensions for RDMA)。它是 iSCSI 数据传输模型的扩展,iSCSI 是 TCP/IP 的存储网络标准。iSER在利用 iSCSI 组件的同时使用RDMA 协议套件 。
即RDMA可以和成熟的iSCS协议配合,优化iSCSI的消息和数据传输,但同时保持iSCSI良好的管理型和可路由特性。
ISER 的链接协议是什么?
ISER是iSCSI的RDMA传输,链接协议可以是以太网或InfiniBand,支持任何速度(10、40、56、100Gb/s)。
iSER支持三种传输层,InfiniBand,RoCE和iWARP。
ISER 的优势是什么?
iSER使用RDMA协议套件,为块存储传输提供更高的带宽(0拷贝)。为此,它消除了处理TCP/IP协议栈的CPU开销,同时保留了与iSCSI协议的兼容性。
此外,它具有最低的延迟和最低的CPU利用率。此外,它还享有iSCSI协议的稳定性和优势,如安全性、高可用性等。
比iSCSI、FC、FCoE更快,比SRP更容易管理
由于IB很难一统数据中心网络,而iWARP需要TCP/IP堆栈支持,效率比较差,因此,未来一统数据中心网络的存储协议,最有可能的就是iSER over RoCE。
特别是新的闪存时代,可能会使得iSER更加热门,而iSER目前最大的鼓吹者就是Mellanox,在今年的美国闪存峰会上,他们有一个演讲,讲了iSER要火的一些理由。
首先,闪存的速度越来越快,使得网络协议的时延也成为瓶颈。Intel推广NVMe over Fabric解决这个问题,但Mellanox主推iSER。
因为iSER现在已经支持100G,是目前最快的存储协议之一。
关键是iSER除了支持InfiniBand,还支持RoCE。FCoE淡出后,iSER成为以太网一统数据中心的新希望。
iSER如果利用DCB网络,完全无需TCP/IP堆栈,传输的效率比iWARP要高,但比SRP更好管理,因为它利用了iSCSI成熟的管理技术。
还有,iSER支持所有SCSI/iSCSI的应用,因此,应用都无需改动。只是OS需要驱动,目前Linux和VMware ESXi,Oracle Solaris已经支持,Windows和FreeBSD也会很快支持。存储如Zadara已经支持,网络也有相应的接口卡和数据中心交换机支持。
部署 iSER 有哪些要求?
1、够使用SCSI和iSCSI层的应用程序
2、能够通过RDMA的网络
--支持RDMA的适配器卡(InfiniBand的以太网)。
--以太网交换机(带流量控制或PFC)。
--InfiniBand交换机
3、支持iSER的目标
哪些存储目标支持 iSER?
Linux 目标:
----Linux IO (LIO)
----Linux iSCSI 目标框架 (TGT)
----适用于 Linux 的通用 SCSI 目标子系统 (SCST)
Oracle ZFS、Violin Memory、Zadara Saratoga Speed、HP SL4540 Moonshot 服务器和其他定制存储目标。
TGT、LIO 和 SCST 之间有什么区别?
GT | LIO | SCST |
---|---|---|
User space | Kernel space (in-tree) | Kernel space (out-of-tree) |
iSER support since 2008 | iSER support since kernel 3.10 | iSER support since 2014 |
Linux SCSI target framework (tgt) project | Linux SCSI Target | SCST: A Generic SCSI Target Subsystem for Linux |
链路协议/传输比较
存储协议比较
Storage Protocol | iSER (iSCSI RDMA) | iSCSI (TCP) | FC | FCoE | SMB Direct | NFSoRDMA | NVMe over Fabrics |
---|---|---|---|---|---|---|---|
Access | Block | Block | Block | Block | File | File | Block |
Transport (link protocol) | Ethernet (RoCE), InfiniBand | Ethernet | FC | Ethernet | Ethernet (RoCE), InfiniBand | Ethernet (RoCE), InfiniBand | Ethernet (RoCE), InfiniBand |
RDMA | Yes | No | No | No | Yes | Yes | Yes |
RDMA 技术本身我就不做详细介绍了,Chelsio 提供的 RBD 驱动则支持通过 iWARP 网卡的 RDMA 连接在 Linux 系统中虚拟新的块设备,其架构如下图所示,可以看到也是 target - initiator 模式:
Linux查看网卡是rdma,Chelsio RDMA Block设备驱动测试