我正在设置一个测试实验室来评估未来生产使用的最佳解决方案。用于 SMB 的生产场,因此存在预算,但也有限。
生产目标:3 台具有 Windows Server 2012 R2 故障转移虚拟化集群和软件定义存储解决方案作为共享存储的超融合服务器。短期内,集群将扩展到总共 5 台服务器。SAN 网络是专用的。
测试实验室的目标:找到满足以下条件的 SDS 解决方案:
1. 为 Hyper-V 集群提供共享存储。
2. 横向扩展:可以在不关闭集群的情况下添加-删除磁盘(最好也包括节点)。
3.容错。在丢失 1 个节点后可用(如果在丢失 2 个节点后可以恢复 - 这太棒了!)。
4. 低网络开销/延迟(也将用于 SQL Server)。
5. 定价合理(Storage Spaces Direct 因此不可接受)。
在阅读并查看了一些产品之后,我的候选名单是 EMC ScaleIO 和 Starwind Virtual SAN。
两种都试了,发现星风VSAN提供的HA非常有限:据我了解,这个方案只是跨节点镜像虚拟磁盘(即文件),只允许在托管磁盘的范围内扩展容量。相反,ScaleIO 将数据分布在节点之间,并允许添加新的存储和重新平衡卷。
所以,我的问题是:
- 我的假设是否正确,或者 Starwind VSAN 允许在每个节点的多个磁盘上创建 HA 卷并稍后添加磁盘?
- 您认为哪种解决方案更适合我的应用程序(请解释)?
- 建议解决方案的缺点是什么?
先感谢您!
这里没有好坏之分:两种 ref'd 解决方案只是在扩展方式、在集群节点之间分配数据的方式以及处理组件故障的方式上大不相同。
1)宽条带与数据局部性。SIO 执行所谓的“宽条带化”:它们将卷数据保留在所有集群节点上(与 VMware VSAN 和 HPE VSA 相同),而 StarWind 则负责所谓的“数据局部性”(与 Nutanix NDFS 和SimpliVity/HPE 会这样做)并将数据保存在有限数量的“合作伙伴”上。实际上,这两种方法各有利弊。
http://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/products/vsan/vmware-virtual-san-data-locality.pdf
https://www.nutanix.com/2013/12/03/data-locality-sql-vdi-on-the-same-nutanix-cluster/
https://www.simplivity.com/blog/2016/05/importance-data-locality/
https://www.starwindsoftware.com/data-locality-page
2)单一统一地址空间与虚拟磁盘。SIO 确实可以创建一个统一的地址空间,但现实情况是它在您的环境中是一个无用的(至少!充其量是坏主意!)功能:Microsoft / Hyper-V 确实需要每个集群节点至少一个 CSV / 虚拟 LUN,所以在您的情况下,虚拟 LUN 的最佳数量是相同的,无论您使用 SIO 还是 StarWind。
https://technet.microsoft.com/en-us/library/jj612868%28v=ws.11%29.aspx
https://www.petri.com/how-many-csvs-should-a-scale-out-file-server-have
https://blogs.msdn.microsoft.com/clustering/2013/12/02/cluster-shared-volume-csv-inside-out/
3)节点数量和容错能力。SIO 在这里与 Ceph 非常相似:它需要相当多的节点(8-10)才能获得合理的性能(感谢“宽条带化”)。还要确保您了解 SIO 仅用于复制,最终容量为 (N-1)/2,因此五个节点将为您提供 2 个节点容量,可用于 2 路复制,并且仅丢失一个节点 (N+1)。StarWind 使用复制和本地重构代码(纠删码)的组合来同时承受多个故障,这要归功于多个故障域,不仅有跨节点复制保护,还有类似本地“RAID”的保护,同样方式 SimpliVity 和微软在 Azure/S2D 中所做的类似。
https://www.emc.com/collateral/white-papers/h15148-emc-scaleio-deployment-guide.pdf
https://www.simplivity.com/blog/2016/10/data-storage-built-resiliency/
https://www.microsoft.com/en-us/research/publication/erasure-coding-in-windows-azure-storage/
https://www.starwindsoftware.com/grid-architecture-page
TL;DR:总的来说,我建议为这两个候选名单建立一个 POC,看看一切进展如何。
简短的回答是:两种解决方案都能满足您的要求。
正如之前的海报已经提到的,它们只是以不同的方式工作。
如果您想了解每种解决方案的优缺点,只需联系两家供应商并询问他们的售前技术人员您想知道的一切。之后,部署一个 PoC 并仔细检查他们告诉你的内容。