我正在考虑对我的中型存储进行下一次重组。目前大约 30TB,通过 AoE 共享。我的主要选择是:
- 保持原样。它仍然可以增长一段时间。
- 去 iSCSI。目前它有点慢,但有更多的选择
- 光纤通道。
- 无限带。
就个人而言,我喜欢 InfiniBand 主机适配器的性价比,并且 Supermicro(我的首选硬件品牌)的大多数产品都提供 IB 作为选项。
Linux 拥有 IPoIB 驱动程序已有一段时间了。但我不知道是否有众所周知的存储用途。大多数关于 iSCSI over IB 的评论都在谈论 iSER,以及某些 iSCSI 堆栈如何不支持它。
那么,是否有人对如何将 IB 用于 Linux 服务器的共享存储有一些指示?那里有任何发起人/目标项目吗?我可以简单地使用 iSCSI over IPoIB 吗?
尽管可以通过 IPoIB 在 InfiniBand 上运行 iSCSI,但 iSER 和 SRP 协议在 InfiniBand 网络上的性能要好得多。Linux 的 iSER 实施可通过tgt项目获得,Linux 的 SRP 实施可通过SCST项目获得。关于 Windows 支持:目前没有适用于 Windows 的 iSER 启动器驱动程序。但是 winOFED 软件包中提供了适用于 Windows 的 SRP 发起程序驱动程序(另请参见 openfabrics.org 网站)。
所以……大多数人并没有真正想到的是以太网和 IB 是如何传递数据包的。一方面,以太网真的很简单,而且无处不在。但是数据包管理不是自动魔术,也不是保证交付。当然,现代切换非常好!丢包不再是过去的问题。但是,如果您真的推动以太网,您将开始看到数据包在那里循环。就像他们真的不知道该去哪里一样。最终,数据包到达了它们应该去的地方,但是循环引起的延迟已经发生了。没有办法哄数据包去他们应该去的地方。
Infiniband 使用保证交付。数据包和数据包传递是主动管理的。您将看到的是,IB 将在性能上达到顶峰,然后偶尔会像平方正弦一样下降。下降以毫秒为单位。然后性能再次达到顶峰。
以太网也达到顶峰,但在使用率高时会遇到困难。它不是平方正弦,而是下降,然后需要一段时间才能恢复到峰值性能。它看起来像左边的楼梯,右边的直线下降。
这是大型数据中心的一个问题,工程师选择以太网 over IB 是因为它很容易。然后,数据库管理员和存储工程师来回打架,互相指责性能问题。而且,当他们向网络团队寻求答案时,问题就被绕过了,因为大多数工具都发现“平均”网络使用并未达到最佳性能。您必须观察数据包才能看到这种行为。
哦!选择 IB over Ethernet 还有一个原因。每个 IB(FDR) 端口可以达到 56 Gb/s。您必须为每个 1 IB 端口绑定 (6) 个 10Ge 端口。这意味着 A-LOT-LESS 布线。
顺便说一句……当你在构建金融、数据仓库、生物逻辑或大型数据系统时,你需要大量的 IOPS + 带宽 + 低延迟 + 内存 + CPU。你不能把它们中的任何一个拿出来,否则你的表现会受到影响。我已经能够将高达 7GB/秒的速度从 Oracle 推送到全闪存存储。我最快的全表扫描是 13 秒内 60 亿行。
事务系统可以缩减总带宽,但它们仍然需要上一段中提到的所有其他组件。理想情况下,您会将 10Ge 用于公共网络,将 IB 用于存储和互连。
只是我的想法……约翰
我刚刚不得不处理使用 Mellanox NIC 的 IB SAN。在 RHEL 上开箱即用
您是否需要 IB 的延迟优势,或者您只是在寻找某种形式的网络和存储组合?如果是前者,那么您别无选择,IB 很棒,但可能难以管理,FC 工作得很好,又好又快,但有时感觉有点“旧帽子”,如果您考虑所有影响,iSCSI 可能是一个很好的解决方案。如果我是你,我会通过 Cisco Nexus LAN 交换机和融合网络适配器在 FCoE 上进行 FC 存储。
10GB以太网呢?界面越奇特,你就越难找到驱动程序和消除错误,而且一切都会变得更昂贵。
好的——鉴于一切都在 cx4 电缆距离(15 米)之内,这是一个便宜的纲要:
(我使用的是美元和网页上的标价。我假设供应商的价格也是美元)
infiniband那么便宜吗?
(请注意——我从来没有真正使用过这些装备,我只会在谷歌搜索 30 秒后出现在谷歌上的任何东西。我当然不会支持它或建议它会做任何好事或坏的)
我通过使用带有专用 6 端口交换机(HP 6400cl-6XG - 2200 美元)和英特尔双端口 CX4 网卡(英特尔 EXPX9502CX4 - 650 美元)的 10-Gigabit iSCSI 解决了同样的问题。每台服务器的成本归结为 NIC 和 100 美元的 CX4 电缆。在这种情况下,只需很少的驱动程序等即可在混合的 Linux、Windows 和 OpenSolaris 环境中工作。
NFS over RDMA 在 Fedora linux 中运行良好
这很容易设置。安装正确的 rpm 并调整几个文件。只需谷歌查找说明。
我用的是 Mellanox MT25208 PCIe-x8 infiniband 卡,刷到了最新的固件。两张卡和一条 15 M 电缆的总成本:150 美元。谁在乎那个价格的“市场采用”。
Smokin 的带宽,远远超过 400 MBytes/sec,客户端或服务器上的 CPU 使用率非常低。瓶颈是 RAID 控制器。
作为奖励,IPOIB 上的 X 也是冒烟的,你会发誓这个应用程序是本地的。
构建 SAN 时使用 IB 的困难在于管理 srp 目标。可用的预建解决方案很少,而且大多数都很昂贵。如果像 Open-E 这样的产品在他们的软件(特别是 srp)中引入了本地 IB 支持,那么您将拥有一个简单的硬件解决方案。客户端在 RHEL 上设置非常简单,并且运行良好。我们现在有一个测试系统启动并运行,它在高负载下始终以 600MB/s 的速度运行。性能令人惊叹,大量可用带宽让您高枕无忧,灵活多变。是的,您仍然受限于阵列的速度,但使用 IB,您可以连接多个阵列而不会损失性能。将一个用于备份,一个用于主存储等,并同时使用它们而不会损失任何性能。在我的经验中,作为一个纯 RDMA 存储网络,没有 IP,没有什么可以击败 IB,如果你货比三家,你可以以非常合理的价格设置一些东西。如果有人要推出一些类似于 Open-E 且完全支持 SCST SRP 目标的存储设备软件,它将向 IB 开放主流市场,我会非常高兴。
我自己还没有实现 IB 存储解决方案,但据我所知,主要问题是主机驱动程序在您的普通环境中没有得到广泛使用。它们在 Windows 世界中的使用比在 Linux 世界中更广泛。在 linux 世界中使用它们的地方,通常是在“打包”的 infiniband 硬件设备或带有调整/定制驱动程序的超级计算应用程序中。
10g 以太网或 10g 光纤的用途要广泛得多。