DOS*_*sed 5 networking storage-area-network hyper-v high-availability failovercluster
我一直在实验室环境中研究如何使用多个 NIC、MPIO 和 iSCSI 设计具有 Microsoft 故障转移群集的 SAN。我会尽力添加尽可能多的有用信息,如果我遗漏了任何细节,请原谅我。。。这对我来说都是一次全新的学习经历。
目标:通过添加从集群中每个节点到存储的第二条路径(交换机)来提高可用性/容错能力。允许网络上的客户端访问集群中运行的资源/服务。
到目前为止我所做的:我已经成功设置并配置了带有 MPIO 和 iSCSI 的 2 节点集群。他们通过 QNAP NAS 上的 CSV 共享存储。Switch Embedded 团队中的每个节点都有 2 个 NIC。每个 NIC 连接到其中一台交换机。每个 QNAP 以太网端口(只有 2 个)也连接到其中一台交换机。我在主机操作系统中创建了以下虚拟网络适配器...
我在实验室中使用的交换机是非常基本的第 3 层交换机。我对它们进行了零配置,因为我不知道是否有什么我必须做的。只要我将两个交换机通过以太网电缆相互连接,一切似乎都可以正常工作。由于 QNAP 只有 2 个以太网端口,因此我必须为节点创建一条路径以到达第二台交换机上的 QNAP 的第二个 iSCSI 目标。这是一个简陋的设置,但它有效。我通过将其中一个连接拉到一个节点来模拟故障......一切都很好。
我不知道的是:我的实验室仅限于节点、2 个交换机和 NAS。我不知道接下来的正确步骤是什么,以便将其集成到网络中,以便客户端可以访问集群中的资源。如果只有一个 SAN/“fabric”交换机(这个术语正确吗?),没问题。我只需将其链接到另一个连接到客户端的交换机...这就是我们当前的设置。
起初,我以为它只是通过某种魔法发挥作用(这就是网络对我的意义),但我觉得我错过了一些东西。将两个 SAN 交换机链接到单个 LAN 交换机时,流量的流动方式是否会出现问题?我什至不确定这是否是“正确”的做法。
我知道我在这个等式中缺少一个路由器。。。这个实验室实验似乎不需要它,因为我没有做任何类型的路由。在生产中,我们的网络使用 VLAN 进行分段。
反正 。。。这是我认为在生产中会是什么样子的图表。 网络图。
编辑:或者我应该做这样的事情?SAN 应该通过 SAN 交换机连接到 LAN 还是服务器应该通过交换机直接连接到 LAN?
(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
希望这一切至少有一点帮助......
Tom*_*Tom -1
鉴于现在是 2023 年,我通常会质疑这种设置的合理性。放弃 QNAP,通过 2 个交换机、美国 S2D 和超融合设置运行高性能网络。您可以获得极高的正常运行时间和极高的性能,并且可以对数据使用双镜像。
当前设置中的问题是,您仍然拥有 1 个 QNAP,如果出现问题,您就关闭了。您还面临一个问题,除非您运行快速网络(即 25GB 以上 - 100GB 更好),否则您的性能将远远低于良好的本地设置。
开关通常不需要设置。使用 VLAN,根据您认为合适的方式隔离它,但否则它也可以在没有 VLAN 的情况下工作。我运行这样的设置,每个子网都隔离到 VLAN 中,并且这些子网进入仅处理路由的低成本路由器。
我不太记得我为什么这样做。
这实际上是一个“我在这里偏离主题”的声明,显示出缺乏细节和最佳实践。之后的建议是:聘请一名管理员。你自己承认你自己都不知道你所知道的一半——这不是你把东西呈现在客户面前的方式。
你的图是一个经典的单点故障(在 QNAS 中),IIRC 一个开关太多 - 从你所显示的情况来看,没有理由使用最右边的开关,理论上你可以将 2 个开关连接在一起,你本质上应该隔离 ISCSI 流量。最右边的交换机是防火墙/路由器而不是交换机所在的位置。
您没有展示的是如何隔离以太网内的流量(vlan 等),这在某些领域非常关键。IP 本身很好,但对于很多场景来说还不够好。
Switch Embedded 团队中的每个节点都有 2 个 NIC。
顺便说一句,为什么?不是 SET - 但是,为什么是 2 个 NIC?主板应该有一些低性能的,否则 - 这就是你选择 2 个单端口而不是一个双端口的原因;)