我们正在开发一款处理Excel文件并输出结果的应用程序,可用性要求不高。
我们是否可以在晚上关闭虚拟机集群,在早上再次开启?这种设置是否适用于服务布局?如果适用,是否有一种可以进行计划安排的方法?
我们正在开发一款处理Excel文件并输出结果的应用程序,可用性要求不高。
我们是否可以在晚上关闭虚拟机集群,在早上再次开启?这种设置是否适用于服务布局?如果适用,是否有一种可以进行计划安排的方法?
感谢大家的回复。我有机会与Microsoft Azure代表交谈,并为社区的利益记录了这次谈话。
对初始问题的回应
一个Service Fabric集群必须保持最少数量的主节点类型,以便系统服务维护法定人数并确保集群的健康状况。您可以在https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-cluster-capacity/中了解更多关于可靠性级别和实例计数的信息。因此,停止所有VM将导致Service Fabric集群进入法定人数丧失状态。通常情况下,可能会通过重新启动节点来使Service Fabric自动从此法定人数丧失恢复,但这并不是保证的,集群可能永远无法恢复。
但是,如果您不需要在集群中保存状态,那么每天只需删除并重新创建整个集群(整个Azure资源组)可能会更容易。通过部署新的资源组来从头开始创建新的集群通常需要不到半个小时,而这可以通过使用Powershell部署ARM模板进行自动化。 https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-creation-via-arm/显示如何设置ARM模板并使用Powershell进行部署。您还可以使用固定的域名或静态IP地址,以便客户端无需重新配置即可连接到集群。如果您需要维护其他资源,例如存储帐户,则还可以将ARM模板配置为仅删除VM比例集和SF集群资源,同时保留网络、负载均衡器、存储帐户等。
Q)是否有更好的方法停止/启动VM而不是直接从比例集中进行?
如果您想要停止VM以节省成本,则直接从比例集开始/停止VM是唯一的选择。
问) 我们能够使用最便宜的虚拟机进行主要设置,然后再添加一组强大的虚拟机作为辅助集以便随时开启或关闭吗?
是的,绝对可以创建两种节点类型:一个小/便宜的主要节点和一个更大型的“工作节点”,并在应用程序中设置放置约束,只将其部署到那些更大型的VM上。但是,如果您的Service Fabric服务正在存储状态,那么您仍将遇到类似的问题,即一旦您失去工作VM的法定人数(少于3个副本/节点),则无法保证您的SF服务本身将以所有维护的状态返回。在这种情况下,您的集群本身仍将正常运行,因为主节点正在运行,但是您的服务状态可能处于未知的复制状态。
我认为您有几个选择:
关闭集群并不是一个选项,正如Todd所说。但是您可以缩减集群中虚拟机的数量。
在白天,您可以运行所需的虚拟机数量。晚上,您可以缩减至最少5个虚拟机。请查看此页面以了解如何缩放虚拟机集: https://azure.microsoft.com/zh-cn/documentation/articles/service-fabric-cluster-scale-up-down/
为了开发目的,您可以创建一个Dev/Test Lab Service Fabric cluster,您可以随意启动和停止。
我也能够通过启动和停止与这些群集相关联的VM规模集来启动和停止Azure上的SF群集。 但是,在重新启动后,所有应用程序(以及它们的状态)都会消失,必须重新部署。