sql-server - Azure VM 可用性、镜像

标签 sql-server azure load-balancing failover windows-server

对菜鸟问题表示歉意,我以前从未处理过故障转移。

目前,我们有一台运行 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/

相关文章:

azure - 如何以编程方式 (C#) 读取 Web 应用程序的自动缩放设置?

linux - 上传图片的服务器

jakarta-ee - 集群 EJB 在 JBoss AS 7 中没有得到平衡

google-app-engine - 在 2 个 App Engine 灵活服务实例之间路由流量的最佳方式是什么(在 VPC 内?)?

C#:通过 MS Graph 下载 Sharepoint 文件返回未经授权

asp.net - Microsoft Azure 媒体播放器在定义的时间启动

sql-server - MS Access Date() 函数和 SQL Server 查询

sql - 从 case 语句设置变量值

sql - T SQL - 通过存储过程传递表变量

php - sql中的事件通知错误