我做错了吗?网络 - 高可用性:SAN、MSFT 故障转移群集、NIC 组合

我做错了吗?网络 - 高可用性:SAN、MSFT 故障转移群集、NIC 组合

我一直在实验室环境中研究如何使用多个 NIC、MPIO 和 iSCSI 设计带有 Microsoft 故障转移群集的 SAN。我会尽量添加尽可能多的有用信息,如果我遗漏了任何细节,请原谅我……这对我来说都是全新的学习体验。

客观的:通过添加从集群中每个节点到存储的第二条路径(交换机)来提高可用性/容错能力。允许网络上的客户端访问集群中运行的资源/服务。

我目前所做的:我已成功设置并配置了具有 MPIO 和 iSCSI 的 2 节点集群。它们通过 QNAP NAS 上的 CSV 共享存储。每个节点在 Switch Embedded 组中都有 2 个 NIC。每个 NIC 都连接到其中一个交换机。每个 QNAP 以太网端口(只有 2 个)也连接到其中一个交换机。我在主机操作系统中创建了以下虚拟网络适配器...

  • 管理 192.168.1.XX
  • CSV 10.10.10.XX
  • 在线迁移 10.10.40.XX
  • iSCSI-01 10.10.20.XX
  • iSCSI-02 10.10.30.xx

我在实验室中使用的交换机是非常基本的第 3 层交换机。我对它们进行了零配置,因为我不知道是否有什么必须做的。只要我通过以太网电缆将两个交换机相互连接,一切似乎都可以正常工作。由于 QNAP 只有 2 个以太网端口,因此我必须为节点创建一条路径,以到达第二台交换机上 QNAP 的第二个 iSCSI 目标。这是一个不稳定的设置,但它可以工作。我通过将其中一个连接拉到节点来模拟故障......一切都很好。

我不知道:我的实验室仅限于节点、2 个交换机和 NAS。我不知道下一步该怎么做才能将其集成到网络中,以便客户端可以访问集群中的资源。如果只有一个 SAN/“fabric”交换机(这是正确的术语吗?),那就没问题。我只需将其链接到另一个连接到客户端的交换机即可……这就是我们当前的设置。

起初,我以为这只是通过某种魔法来实现的(网络对我来说就是这样的),但我感觉我错过了什么。将两个 SAN 交换机连接到单个 LAN 交换机会导致流量流动方式出现问题吗?我甚至不确定这是否是“正确”的做法。

我知道这个等式中缺少路由器……由于我没有进行任何类型的路由,因此似乎不需要它来进行这个实验室实验。在生产中,我们的网络使用 VLAN 进行分段。

无论如何...这是我想象中的生产样子的图表。 网络图

编辑:或者我应该做点什么像这样?? SAN 是否应通过 SAN 交换机连接到 LAN,还是服务器应直接通过交换机连接到 LAN?

答案1

(1)贮存。QNAP 可以成为不错的备份目标,比如通过 Veeam 的 iSCSI 使用,但就主存储而言,它是一个非常糟糕的选择。性能不是很好,但最糟糕的是...它是单控制器,因此计划内或计划外的存储停机会导致整个集群瘫痪。不好!

https://en.wikipedia.org/wiki/Single_point_of_failure

(2)开关。对于 iSCSI,它们应该具有相当强大的 Tx/Rx 缓冲区,否则您将在重负载期间看到随机锁定和 I/O 延迟峰值。会导致虚拟机冻结和崩溃。有时……以下是有关该主题的一些好读物:

https://community.arubanetworks.com/discussion/iscsi-and-packet-buffer

https://community.cisco.com/t5/switching/iscsi-switch-recommendations/td-p/1771478

底线是……您应该做的是摆脱当前配置并采用 100% 超融合设置。将一些闪存和主轴放入两个集群节点,启用 Storage Spaces Direct 或 StarWind Virtual SAN(免费?)。这两个都支持无交换机配置,因此您必须使用一对 10 GbE 或 25 GbE NIC 直接连接两个集群节点,而无需涉及交换结构!在延迟和成本方面,没有交换机可以超越铜缆!您现有的交换机将运行前期连接,现在有两条从客户端到 HCI 集群本身的冗余路径。设计非常精巧,而且更加可靠。

https://learn.microsoft.com/en-us/azure-stack/hci/concepts/storage-spaces-direct-overview

https://www.starwindsoftware.com/starwind-virtual-san

Storage Spaces Direct 是一等公民,因此应该提及,但它相当脆弱,需要昂贵的数据中心版本,并且具有嵌套弹性的 S2D 双节点配置无法扩展到初始双节点设置之外。StarWind 更可靠,适用于标准版,可以 100% 免费并按您想要的方式扩展。

(3)备份。您可以重新利用 QNAP 并使用免费的 Veeam 来处理这个问题。坚持 3-2-1 备份规则,您就成功了!

https://www.backblaze.com/blog/the-3-2-1-backup-strategy/

https://www.veeam.com/virtual-machine-backup-solution-free.html

希望这一切至少能有一点帮助……

答案2

考虑到现在是 2023 年,我通常会质疑这种设置的合理性。放弃 QNAP,在 2 个交换机上运行高性能网络,使用 S2D 和超融合设置。您可以获得极高的正常运行时间和极高的性能,并且可以对数据使用双镜像。

当前设置中的问题在于您仍然只有一个 QNAP,如果出现问题,您就无法使用。您还存在一个问题,即除非您运行快速网络(即 25gb 以上 - 100gb 更好),否则您的性能将远远低于良好的本地设置。

交换机通常不需要设置。使用 VLAN,根据需要隔离它,但除此之外,它不需要设置。我运行这样的设置,每个子网都被隔离到 VLAN 中,然后这些子网进入一个仅处理路由的低成本路由器。

我记不清为什么我这样做了。

这实际上是一个“我在这里偏离主题”的声明,表明缺乏细节和最佳实践。之后的建议是:聘请一名管理员。你自己承认自己不知道自己所做的事情的一半——这不是你向客户展示某件事的方式。

您的图表是典型的单点故障(在 QNAS 中),IIRC 交换机太多了 - 从您展示的内容来看,没有理由使用最右边的交换机,理论上您可以将 2 个交换机连接在一起,本质上它们应该隔离 ISCSI 流量。最右边的交换机是防火墙/路由器而不是交换机所在的位置。

您没有展示的是如何隔离以太网内的流量(vlan 等),这在某些领域非常关键。仅使用 IP 是好的,但对于很多场景来说还不够好。

每个节点在嵌入式交换机组中都有 2 个 NIC。

顺便问一下,为什么?不是 SET - 但是,为什么是 2 个 NIC?主板应该有一些性能低下的,否则 - 这就是你选择 2 个单端口而不是 1 个双端口的原因 ;)

相关内容