6.3. 为 OpenShift Data Foundation 部署选择 Multus 架构
为 OpenShift Data Foundation 部署选择 Multus 网络,原因如下:
- 通过避免 OpenShift Pod (软件)网络来减少存储系统的延迟
- 为存储系统指定带宽,以避免存储和应用程序间的邻居问题
- 将存储网络与应用程序隔离以隔离
Multus 为以下两种 OpenShift Data Foundation 存储网络启用:
- 公共网络
- 集群网络
但是,建议仅将 Multus 公共网络配置为起点。
6.3.1. Multus 公共网络 复制链接链接已复制到粘贴板!
下图显示了使用 Multus 公共网络的 OpenShift Data Foundation 部署的集群网络架构:
图 6.2. 使用 Multus 公共网络部署 OpenShift Data Foundation
此架构实现 Multus 网络的所有三个优点:
- 通过避免软件定义的 pod 网络来减少存储延迟
- 存储系统获得专用的带宽,从而避免了立刻-neighbor 干扰
- 存储网络与阻止 pod 侦听存储网络的应用程序隔离
但是,如果公共网络的吞吐量低于 Pod 网络,存储流量可能比传统部署要快。
公共网络是大多数 OpenShift Data Foundation 集群部署的推荐架构。在这个架构中,所有存储流量都使用专用的公共网络,其中包括来自应用程序的 I/O 流量、存储系统中的数据复制流量以及存储系统中的数据恢复流量。
6.3.2. Multus 公共网络和集群网络 复制链接链接已复制到粘贴板!
下图显示了使用 Multus 公共网络和 Multus 集群网络网络的 OpenShift Data Foundation 部署的集群网络架构:
图 6.3. 使用 Multus 公共网络和 Multus 集群网络的集群网络架构
当同时使用公共和集群网络时,Multus 的所有三个优势都会实现。在这种情况下,每个存储网络在 OpenShift Data Foundation 集群中执行特定的角色。公共网络仅处理来自应用程序和集群网络的 I/O 流量,用于处理存储复制和恢复流量。
集群网络定期处理数据复制流量。假设 OpenShift Data Foundation 的默认 3x 复制,集群网络会处理每个数据写入的应用程序 I/O 流量,以将存储数据总数复制到 3x。在存储节点或区故障事件中,集群网络也会处理集群中的恢复数据。
在这个构架中,集群网络的大小建议 2-3x 大于公共网络。较大的大小可以缩短故障转移时间,但也会在正常的集群操作过程中造成大量带宽。存储故障事件期间的总存储带宽可能会受到公共或集群网络的限制,具体取决于网络的大小。
这个架构比推荐的仅公共架构复杂,且有多个可能会影响用户 SLO 的因素。因此,作为替代方案,OpenShift Data Foundation 建议将所有存储网络接口绑定到一起,以创建单个、更大的公共网络。
6.3.3. Multus 集群网络 复制链接链接已复制到粘贴板!
下图显示了使用 Multus 集群网络的 OpenShift Data Foundation 部署的集群网络架构:
图 6.4. 集群网络架构
在集群网络架构中,部分实现 Multus 的好处。集群网络获取复制和恢复角色。OpenShift Pod 网络从应用中获取处理存储 I/O 的角色。这样可保证减少非邻居干扰,但应用程序 I/O 仍然会受到其他应用程序网络的影响,反之亦然。
由于软件定义的 Pod 网络,应用程序 I/O 到存储系统应该比其他 Multus 架构有更高的延迟。同样,存储网络不会与应用程序隔离。例如,特权 Pod 仍然可以 snoop 存储流量。