我正在建立一个测试实验室来评估未来生产使用的最佳解决方案。生产农场面向中小型企业,因此预算是存在的,但也是有限的。
生产目标:3 台超融合服务器,配备 Windows Server 2012 R2 故障转移虚拟化集群和软件定义存储解决方案作为共享存储。短期内,集群将扩展到总共 5 台服务器。SAN 网络是专用的。
测试实验室的目标:找到一个符合以下标准的 SDS 解决方案:
1. 为 Hyper-V 群集提供共享存储。2
. 横向扩展:无需关闭群集即可添加或删除磁盘(最好还有节点)。3
. 容错。丢失 1 个节点后仍可用(如果丢失 2 个节点后可恢复 - 那就太好了!)。
4. 低网络开销/延迟(也将用于 SQL Server)。5
. 定价合理(出于这个原因,存储空间直通不可接受)。
在阅读并查看了一些产品后,我的候选名单是 EMC ScaleIO 和 Starwind Virtual SAN。
我尝试了这两种方法,发现 Starwind VSAN 提供的 HA 相当有限:据我了解,该解决方案仅在节点之间镜像虚拟磁盘(即文件),并且仅允许在托管磁盘的限制内扩展容量。相反,ScaleIO 将数据分散到节点之间,并允许添加新的存储和重新平衡卷。
所以,我的问题是:
- 我的假设正确吗,或者 Starwind VSAN 允许在每个节点的多个磁盘上创建 HA 卷并在稍后添加磁盘?
- 您认为哪种解决方案更适合我的应用程序(请解释)?
- 建议的解决方案有哪些缺点?
先感谢您!
答案1
这里没有好或坏:两种参考解决方案只是在扩展方式、在集群节点之间分配数据的方式以及在处理组件故障的方式上有很大的差异。
1)宽条带化与数据局部性。SIO 执行所谓的“宽条带化”:它们将卷数据大致均匀地保存在所有集群节点上(与 VMware VSAN 和 HPE VSA 相同),而 StarWind 负责所谓的“数据局部性”(与 Nutanix NDFS 和 SimpliVity/HPE 相同),并将数据保存在有限数量的“合作伙伴”上。实际上,这两种方法各有利弊。
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 个节点容量,具有双向复制和仅丢失一个节点的能力(N+1)。StarWind 使用复制和本地重建代码(擦除编码)的组合来同时承受多个故障,这要归功于多个故障域,不仅有跨节点复制保护,还有本地“RAID”类保护,与 SimpliVity 相同,类似于 Microsoft 在 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,看看一切进展如何。
答案2
简短的回答是:两种解决方案均可满足您的要求。
正如前面提到的,它们只是以不同的方式工作。
如果您想了解每种解决方案的优点/缺点,只需联系两家供应商并向他们的售前技术人员询问您想知道的一切。之后,部署 PoC 并仔细检查他们告诉您的内容。