对菜鸟问题表示歉意,我以前从未处理过故障转移。
目前,我们有一台运行 Windows Server、SQL Server、ASP.NET 的硬件服务器和一个(非常大的)Web 应用程序。我们正在考虑将其迁移到 Azure VM。
我在 SLA 中看到,如果我运行 Azure VM 多个实例,Microsoft 只会保证 99.95% 的可用性,以允许出现故障和重新启动等情况。
这是否意味着我需要管理和维护两台服务器?例如,两个版本的 SQL 各有一个数据库,以及两组 ASP.NET 应用程序文件?如果正确的话,这会使价格大幅上涨。
我认为没有办法将一台服务器“镜像”到另一台服务器来减少工作负载?
此外,我们的硬件服务器上有 25,000 个上传的文件。我们是否需要将它们放在 VHD 上,然后将它们“链接”到正在运行的实时服务器,还是 Azure 会自动执行此操作?或者它们是否必须从实时服务器镜像到故障转移服务器?
任何指示将不胜感激。我已经阅读了所有 Azure 文档,但它并没有真正让事情变得更清晰......
最佳答案
看来您有多个需要关注的主题。
让我们从数据库开始。最简单的事情是,如果您可以将 sql server 迁移到 sql azure 中。那么您就不需要维护它以及维护您应该使用的机器。 这会给您带来优势,即您的中央组件可以被一对多应用程序使用。
第二个是您上传的文件。我假设您的应用程序允许上传文件以进行共享或其他操作。最好的事情是,如果您可以将这些文件写入 Windows azure blobstorage。通常这意味着您必须重写连接器,但这会集中另一个组件。 第一步,您可以将它们提供给客户,客户可以通过链接下载它们。如果没有,您可以从他们加载文件并将其交付给客户。
如果您不想重写组件,则必须使用 VHD。一个VHD只能有一个租约。所以只能使用一个实例。我见过的一种常见方式是,如果应用程序正在启动,它会尝试“恢复”租约。 (像试错一样)
最后但并非最不重要的一点是您的 ASP.NET 应用程序。如果您有这样的应用程序,我会研究一下云实例。尽量不要考虑虚拟机,因为你必须完成所有管理。 VM 是 IaaS。使用 .NET 应用程序应该能够轻松地转换它并部署实例。 您不必考虑故障转移等问题。只需部署 2 个实例,负载均衡器就会完成剩下的工作。
如果您能够“外包”SQL 服务器,您就可以最小化用于 ASP.net 应用程序的计算机。尝试使用横向扩展而不是纵向扩展。这意味着使用更多的小节点,而不是一个大节点。 (如果可能的话)
如果您真的要采用虚拟机方式,则必须自己管理所有内容,是的,您需要 2 个虚拟机。您还需要 3 个虚拟机,因为您没有自动负载平衡器,如果您只有 2 个,则只有一台机器可以导出端口 80。
HTH
关于sql-server - Azure VM 可用性、镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254577/