Spe*_*nce 4 storage-area-network architecture hba controller
我正在尝试了解一些 SAN 基础架构,我希望你们中的一些比我更有经验的人可以帮助我理解使用 SAN 进行扩展。
假设您有一些具有 HBA 的计算机服务器。它们直接或通过交换机连接到 SAN 控制器。然后,SAN 控制器提供一个或多个 LUN,这些 LUN 很可能映射到存储设备上的 RAID 阵列。
所以如果我理解正确的话,“控制器”代表了一个性能瓶颈。如果您需要大量性能,那么您可以添加更多控制器,这些控制器连接到它们自己的存储,然后映射到需要它们的服务器。
我想您可以获得一些具有巨大存储容量的非常高性能的控制器和具有较低最大性能的低性能控制器吗?但是,如果您有一个交换机,那么您可以根据需要向您的网络添加几个性能较低的控制器吗?
如果我错了,请撕毁我的理解,但我正在尝试弄清楚如何将 HBA 从服务器连接到存储,而不用简单地代表“魔法”的结构。
控制器作为性能瓶颈是非常真实的,它在某些架构中也可以代表单点故障。这已经为人所知一段时间了。有一段时间有特定于供应商的技术可以解决这个问题,但从那时起,整个行业都集中在称为 MPIO 或多路径 I/O 的东西上。
使用 MPIO,您可以跨存储结构的多个路径提供相同的 LUN。如果服务器的 HBA 和存储阵列的 HBA 各有两个到存储结构的连接,则服务器可以有四个单独的路径到 LUN。如果存储支持它,它可以超越这一点;在较大的磁盘阵列系统中设置双控制器是很常见的,每个控制器都提供与 LUN 的活动连接。添加带有两个独立 HBA 卡的服务器,以及连接控制器/HBA 对的两个物理上独立的路径,您就可以拥有一个没有单点故障的存储路径。
更高级的控制器确实是一个完整的 Active/Active 对,两个控制器实际上都与存储通信(通常在控制器之间有某种形式的共享缓存来帮助协调)。中间层设备可能假装处于活动/活动状态,但在任何给定时间实际上只有一个设备在执行工作,但如果第一个设备进入静默状态并且没有 I/O 操作被丢弃,备用控制器可以立即启动。低层设备处于简单的活动/备用模式,其中所有 I/O 都沿着一条路径进行,并且仅在活动路径停止时才移动到其他路径。
拥有多个主动控制器确实可以提供比单个主动控制器更好的性能。是的,在控制器后面添加足够多的系统来访问存储和足够快的存储,您确实可以使控制器饱和到所有连接的服务器都会注意到的程度。模拟这种情况的一个好方法是导致必须重建奇偶校验 RAID 卷。
并非所有系统都能够利用 MPIO 来使用多个活动路径,这仍然有些新。此外,所有控制器必须解决的问题之一是确保所有 I/O 操作按顺序提交,而不管 I/O 进入的路径以及接收操作的任何控制器。添加的控制器越多,这个问题就越难。存储 I/O 是一种基本的串行化操作,不适用于大规模并行化。
您可以通过添加控制器获得一些收益,但鉴于使其工作所需的复杂性增加,收益会迅速消失。